>There are (at least) two perfectly logical ways of thinking about >event handling: > > 1. Events are to be processed in the order received, > and the processing is to be done directly as the > events are decoded. Event ordering is sort of the > "fractional part" of the timestamps, in that > ordering of events with the same timestamp may > matter. > > 2. Events are to take effect at the audio time > indicated by their timestamps. Ordering of events > with the same timestamp is irrelevant. Plugins > must act as if events with the same timestamp > are processed at the exact same time. > > >IMHO, the second view is the appropriate one for control events in a >DSP plugin system. It's the default behavior of any plugin where >control events just change variables used by the DSP inner loop. >Simulating that behavior where controls become interdependent outside >the DSP inner loop is most definitely cleaner and simpler than >anything that requires senders to figure out the correct order of >control events with the same timestamps. > >As to the term "gesture" used as "control change group", you could >think of every audio sample frame as one implicit gesture. Any group >of events with the same timestamp are to be considered as >simultaneous WRT their effect on the signal processing. i see no way to handle this without ensuring that there is a clear way for the plugin to see the beginning and end of events to be processed before the next process() call. some designs that have been proposed in various places would do this implicitly, others would not. the plugin has to be able to know that a parameter change to Foo is or is not going to be followed by a simultaneous change to Bar. no other design will be sufficient, IMHO. as long as we make this possible, things will work, i think. --p ---------------------------------------------------------------------- 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: //www.freelists.org/archives/gmpi Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe