On Tuesday 07 January 2003 10.23, Steve Harris wrote:
On Mon, Jan 06, 2003 at 11:17:07 +0100, David Olofson
wrote:
These "instantiation parameters" are in
fact just control events,
and they relate to "whatever voice is assigned to the provided
VVID".
The issue here is this: Where does control data go when there is
no voice assigned to the VVID?
They get thrown away.
Right - so you can't play a polyphonic synth with a continous
velocity controller, unless you track and re-send the controls that
the synth happens to treat as note parameters.
What I'm
saying is that if you send the "trigger" event first,
followed by the "parameters", you require synths to process a
number of control events *before* actually performing the trigger
action. That simply does not mix with the way events are supposed
to be handled.
Well, I thinik its OK, because the note will not be used to render
any samples until after all the events have been processed.
But who guarantees that whatever the "trigger" event is, also comes
with events for the "parameter" controls? It's trivial (but still has
to be done!) with explicit NOTE_ON events when assuming that NOTE_ON
means "allocate and start voice NOW", but it's not at all possible if
the synth triggers on voice control changes.
If you really
want to your voice allocator to be able to turn
down requests based on "parameters"
I think this would be complex.
Not more complex than any "note-on latched" controls - and I don't
think it's realistic to eliminate those.
//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 ---