On Sat, Jun 19, 2004 at 09:26:50PM -0700, Chris Grigg wrote: > Let's say for a given piece I want to play on the Kurzweil keyboard, > using its audio too, have a SW synth plug inside GMPI double it, have > the Matrix 1000 following 19 semitones up but only for notes below C3. Let's see if I can do this without MiG: You send the MIDI from the Kurzweil to your host. The host has a routing set up from the Kurzweil input to a your softsynth. You also set up a route from the Kurzweil to a MIDI output plugin (yes, I admit that you need to be able to send MIDI out of the graph). In reality you probably do this in the host: MIDI input -> splitter -> softsynth | -> MIDI out Now you return the MIDI output by 19 semitones, and map it's input only to notes below C3. Voila. It requires a pretty clever MIDI output plugin, but that is true no matter what. > I might even want to tell my MIDI-connected DigiPatch 12x6 (a > programmable S/PDIF patch bay) to route the Kurzweil digital output > to the 828 S/PDIF input, and tell my MIDI-connected Soundcraft Ghost > console to mute the channels with the Kurzweil's analog outs. All doable with MIDI output. This doesn't require MIDI *in* the graph. It just requires the ability to send MIDI out of the graph. Sending MIDI out of the graph is pretty obviously required, if anyone is going to write anything to control hardware as a plugin. Really, though, you can do this differently. Have a GMPI processor which has extensive note remapping capabilities. It turns all your notes under C3 into notes+19. It sends those notes out. Then you really only need a relatively simple MIDI out plugin, *and* you have a more generically useful note transposer available to all GMPI plugins. So yes, you need MIDI out. In fact, we should probably make that part of the host API, so the host opens the MIDI devices and presents virtual MIDI output ports to plugins. Any plugin can then emit MIDI, and the user can do what she likes with the MIDI. It is a small step from there to say the same of MIDI input ports. The problem with MIDI input ports is that they circumvent the GMPI control system. So we can either: a) not provide MIDI input directly (show me a use case where a plugin needs direct MIDI input?). b) provide MIDI inputs with the caveat that your plugin will not be fully managed by GMPI. If we do b, one of two results: 1) plugin developer don't use MIDI inputs except when REALLY necessary, and everything just works. 2) plugin developers use MIDI inputs because that's what they know. Then hosts will be expected to snoop MIDI to provide recording and undo. Hosts that don't will be deemed "broken". Then people will ask why we didn't add setParameterAutomated() so we could be useful like VST. Without choosing a direction, does anyone NOT agree with this? ---------------------------------------------------------------------- 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