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 ---