On Monday 09 December 2002 15.35, Steve Harris wrote:
[...]
the RT engine
- *unless* you decide on a number of VVIDs to
allocate for each Channel of every plugin, right when they're
instantiated.
That sound most sensible. The instrument has to allocate voice
table space, so there is likly to be an internal (soft) limit
anyway.
Yes... But keep in mind that there is no strict relation between
Physical Voices and Virtual Voices. A synth with only 32 voices
may be played with 8 VVIDs or 256 VVIDs. The number of VVIDs is
decided by the *sender*, so it can manage the polyphony it wants
in a sensible way. The synth only uses the VVIDs to keep track of
which Virtual Voice the sender is talking about - whether or not
it actually has a Physical Voice at the moment. Voice allocator
in between.
OK, but I dont think that actually changes anything at the API
level.
Well, if you want hosts to be able to connect to synth event inputs
without taking the synhts outside the RT thread, it matters a whole
lot whether or not a plugin needs to allocate memory to manage VVIDs.
And if you want every event source (sequencers and (other) event
processors) to have a pool of say, 256 VVIDs (default setting for the
host), you would need 256 VVIDs *for every connection* to an event
input channel. So, how many VVIDs should the host allocate for each
channel...?
//David Olofson - Programmer, Composer, Open Source Advocate
.- The Return of Audiality! --------------------------------.
| Free/Open Source Audio Engine for use in Games or Studio. |
| RT and off-line synth. Scripting. Sample accurate timing. |
`--------------------------->
http://olofson.net/audiality -'
.- M A I A -------------------------------------------------.
| The Multimedia Application Integration Architecture |
`---------------------------->
http://www.linuxdj.com/maia -'
---
http://olofson.net ---
http://www.reologica.se ---