On Tuesday 07 January 2003 10.28, Steve Harris wrote:
[...]
This is also
for debate - David dislikes (and I agree) the notion
that you have to send a note-on but the plugin does not have
enough info to handle (for example) a velocity-mapped sampler
until later. Process events in order. So a few ideas are on the
table.
You do have enough infomation, its just that it may be superseded
later. Velocity can have a default.
ONe great thing about this scheme is that it encourages people not
to think of certain, arbitary parameters as instantiation
parameters, withc are special in some way, 'cos there not.
Well, they *are* special in that they're latched only at certain
points. The problem is that if synths cannot effectively *implement*
it that way, it becomes the host's/sender's responsibility to know
the difference, and make sure that these controls are handled the
right way. And unless the host/sender can tell the synth exactly when
to latch the values, there is no way to get this right.
What I'm saying is that synths should preferably behave is if *all*
voice controls ever received are tracked on a per-VVID basis, so they
can be latched as intended when the synth decides to start a physical
voice. That way, you can play continous control data on latched
control synths and vice versa, without nasty side effects or "smart"
event processing in the host/sender.
Obviously, this just isn't possible if the number of VVIDs used to
control a synth is unknown or very large. However, I don't see a
reason why you would use many more VVIDs than there are physical
voices, so I don't see this as a real problem.
Synths that don't allocate physical voices as soon as a VVID gets
it's first control may have to allocate virtual voices upon
connection, but I think that's acceptable, considering the
alternatives.
//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 -'
---
http://olofson.net ---
http://www.reologica.se ---