[linux-audio-dev] Plugin APIs (again)

David Olofson david at olofson.net
Thu Dec 5 01:45:01 UTC 2002


On Thursday 05 December 2002 05.43, Tim Hockin wrote:
> > No, there are other ways. All you really need is a unique ID for
> > each voice, for addressing per-voice.
>
> Unless I'm missing something - all you really need is a voice-id
> that is Unique within that instance of that plugin.

Yes, that's correct.


> [... RT vs NONRT controls ...]
> So how do VST effects do it?  I can increase the delay feedback all
> I like and it doesn't hiccup, stutter, or misbehave at all.  You're
> saying that this is a non-rt control because it might have to
> realloc() buffers?

Yes. I'm not sure exactly how VST plugins (those that actually handle 
this "properly" ) implement it, but inless it simply relies on 
malloc() "being fast" most of the time, I'm quite sure it involves 
doing any allocations and reinitialization in another thread. If it's 
done from within the audio thread, it will not work reliably.

Also note that you might just have been lucky. There is no guarantee 
that malloc() *will* cause missed deadlines when you're testing, just 
because it can. However, it *can* on any operating system that has 
virtual memory + swap - and probably most others (the few that still 
exist, if any) as well.


//David Olofson - Programmer, Composer, Open Source Advocate

.- Coming soon from VaporWare Inc...------------------------.
| The Return of Audiality! Real, working software. Really!  |
| Real time and off-line synthesis, scripting, MIDI, LGPL...|
`-----------------------------------> (Public Release RSN) -'
.- M A I A -------------------------------------------------.
|    The Multimedia Application Integration Architecture    |
`----------------------------> http://www.linuxdj.com/maia -'
   --- http://olofson.net --- http://www.reologica.se ---



More information about the Linux-audio-dev mailing list