> The main difficulty I see with the VVID system is how to initialize > parameters on a new voice before the voice is activated with a VoiceOn > event.
After, or rather - at the same time. The host just has to make sure the VoiceOn arrives first. This is what is currently in the header in my working dir. Send a new VVID to the VOICE control with timestamp X for note-on Send any initial voice-params with timestamp X Send 0-VVID to the VOICE contol with timestamp Y for note-off Alternatively, rather than a VOICE control, just have special VOICE_ON/VOICE_OFF events. > -first- order on timestamps > -second- put voice-on ahead of all other event types. > A little ungainly, but effective as it frees the plugins to assume that > they'll get voice-on first but must consider all other events on that > timestamp as arguments to the initialization of the voice. Of course this not all events with that timestamp - only per-voice controls with the VVID that was just turned on. All per-voice events have a VVID. So it is easy to know if that VVID is active - if not, the host screwed up. What I am still fighting with is the idea that the host pre-allocates VVID space. How much space for each VVID? Any imposed structure? Tim
