Martijn Sipkema wrote:
And I still haven't seen a good reason for only having a single control protocol...
Let me try to give you a good reason. Lets say I am a synthesizer plugin, one sine wave oscillator, which takes a note on of a specific pitch. So lets say the host can pass GMPI events and MIDI mixed together.
For GMPI events, the note on has a frequency attached which tells me what frequency to generate. For the MIDI, I get a note number, which I need to translate into a frequency.
So how do I translate note numbers into frequency? Well, I use a look up table. Uh-oh, that's the same way that the host translates note numbers into GMPI events with frequency. Presto, either there are two table which the user has to set independently, or the plugin and host have to share a translation table. And this is a really simple situation.
Actually I don't that is a valid reason. The table actually might just as well belong to a patch and thus one could argue that it should be on the plugin side. Also, though it should probably be possible it is unlikely that one would use both MIDI and GMPI parameters to control a synthesizers (note on/off) at the same time and one would probably only use a protocol other than MIDI if MIDI would not suffice. And what is the problem with the conversion being done in two places? The tables don't have to be shared. In the case of GMPI parameters only, will the host ask the plugin for the note to pitch converesion table that belongs to a patch and update it on patch changes?
-- Mike Berry Adobe Systems
---------------------------------------------------------------------- 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