[gmpi] Re: Reqs 3.8 Events - gesture start/end

On Tuesday 30 December 2003 22.46, Jeff McClintock wrote:
> >In real code, you don't actually check for events once for each
> > sample
>
> frame, but that doesn't change the fact that you will have
> processed all events for each sample frame before you start
> processing the audio.
>
> Agree. Plugins will receive all events in advance of needing to
> 'parse' them.  So surely it's easy for a plugin to process all the
> events that are 'grouped' (due at the same time).  Do we really
> need additional gesture information? ('gesture' meaning: a group of
> syncronised parameter changes).

Well, there are these "latched controls", which serve as an 
alternative to MIDI style multiple argument events, but that's not 
quite the same thing.

Either way, given that control events with the same timestamp are to 
be handled as if they were processed in parallel, latched controls 
work pretty much automatically. Bundling a state change with it's 
arguments (say, in a sequencer that emulates MIDI style 
multi-argument events) is just a matter of giving all the control 
events involved the same timestamp.

Note that this works even if timestamps have to be converted or 
adjusted, for example in between two hosts that use different sample 
rates. Rules required:

        1. Any number of simultaneous events (ie having the
           same timestamp) must still be simultaneous after
           the timestamps have been adjusted.

        2. The order of events must not be changed, even
           when different input timestamps become identical
           output timestamps. (This implies that pre-
           adjustment time must never move backwards in
           relation to post-adjustment time.)

This shouldn't require any extra work normally, but piping events over 
something like UDP would obviously require some extra protocol layer. 
(As would piping audio over such a transport layer. Not very 
different at all; lost or out-of-order data is a major PITA in both 
cases.)


//David Olofson - Programmer, Composer, Open Source Advocate

.- Audiality -----------------------------------------------.
|  Free/Open Source audio engine for games and multimedia.  |
| MIDI, modular synthesis, real time effects, scripting,... |
`-----------------------------------> http://audiality.org -'
   --- http://olofson.net --- http://www.reologica.se ---


----------------------------------------------------------------------
Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules:  Please stay on topic.  You are responsible for your own
words.  Please respect your fellow subscribers.  Please do not
redistribute anyone else's words without their permission.

Archive: http://www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe

Other related posts: