From: David O. <da...@ga...> - 2001-01-17 07:51:36
|
On Wednesday 17 January 2001 08:17, David Olofson wrote: [...] > MAIA - as opposed to VST 2.0, which has a similar event system, > which is strapped onto an older, function call based API - > implements sample accurate timing from the ground up; every plugin > has an outer event decoding loop around the DSP loop (*), and > breaks the inner loop to process every event before the exact > sample as indicated by the event timestamp. This is normally done > entirely within the outer loop of the plugin - no function calls; > just raw, optimized inline code. > > (*) Except for plugins that really don't want or can't respond with > sample accuracy - for those, you just process all events for > the current buffer before entering the DSP loop. That's all - > no special cases at run time, host support or anything. Oh, not entirely true, actually; such a plugin probably should tell=20 the host that it's not going to care much about timestamps, just in=20 case the user wonders why it appears to have so sloppy timing. :-) There are other issues as well, but those are related to Protocols=20 and protocol tricks that perhaps are too weird to ever find a real=20 use. However, even if some of these things do get into the API, the=20 timestamps are still there (even if the host may chose not to=20 guarantee their order if the plugin claims that it doesn't care),=20 it's still possible to handle in the event decoding phase. //David =2E- M A I A -------------------------------------------------. | Multimedia Application Integration Architecture | | A Free/Open Source Plugin API for Professional Multimedia | `----------------------> http://www.linuxaudiodev.com/maia -' =2E- David Olofson -------------------------------------------. | Audio Hacker - Open Source Advocate - Singer - Songwriter | `--------------------------------------> da...@li... -' |