On Mon, Jun 14, 2004 at 10:51:20AM -0700, Chris Grigg wrote: > To clarify that, could you please > a) in the knob part of the example, make the controller address a > particular note instance (currently from your wording I guess the > destination CC must apply to all notes played by the whole synth); This is hard to do from a controller. Since voices are totally dynamic, and there isn't a direct mapping from MIDI, I'd say you just don't. MIDI hardware works as it has worked before. But when you sequence, you know the notes that are being played, and you can sequence per-note changes. > b) add MIDI pitch wheel; This would opertae just like it does today, a message would be sent to the soft instrument causing a pitch-bend on all the voices. > c) make P multitimbral. Set up a mapping of incoming MIDI-channels to the instrument's channels. For example, if I play channel 3 on my MIDI keyboard, I get channel 1 of the softsynth. If I play channel 4 on my MIDI kb, I get channel 2 of the softsynth. If I play channel 5 on my MIDI kb, I might get a different soft-synth altogether. That mapping is the host's business. The main problem I have with MIDI is the fact that every instrument that handles MIDI has 2 sources for parameters changes. MIDI and the host. If the host does not "trap" MIDI and arbitrate it, then the whole point of pullign parameters OUT of the DSP is gone. The host is the arbiter of parameter changes. MIDI events are (mostly) parameter changes. The host must therefore arbitrate MIDI. So why should plugins have to handle MIDI? tim ---------------------------------------------------------------------- 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