> What about MIDI sync? Do we want the GMPI graph to be able to chase to > external beat boxes? We sure do. Every MIDI message (except sysex) is a parameter change. In this case "Song Position" This is a "Well Known Control", expose a parameter called "Song Posistion" (or whatever), and for each MIDI clock, your plugin receives an timestamped event containing the new timecode value. > I'm not convinced this is achievable. For example, let's consider the > conversion of MIDI volume controller to GMPI. MIDI volume doesn't have a > standard mapping from 0-127 to gain values. So how does this value get > converted within GMPI? How the does the converted value survive the round > trip through a processor that does: > MIDI -> GMPI - > [Event Processing] -> GMPI -> MIDI. All 7 bit controllers get converted like so.... float gmpi_value = (float) midi_cc / 127.0; .. and converted back like so... int midi_cc = (int) (gmpi_value * 127.0 + 0.5); ( as usual, i've probley made some terrible coding error, like forgot a semicolon, or rounded down instead of up, but I hope you get the gist) Don't assume the conversion to GMPI is some over-complicated thing, we're not going to convert everything to Angstroms or anything. It's just a converion to floating point. The intention isn't to reinvent the whole thing, only to give controllers more resolution by converting to floating point. Jeff ----- Original Message ----- From: "Ron Kuper" <ronkuper@xxxxxxxxxxx> To: <gmpi@xxxxxxxxxxxxx> Sent: Thursday, June 17, 2004 2:08 PM Subject: [gmpi] Re: 3.15 MIDI > > Keep the GMPI graph pure and lovely, like the driven snow..... > > And then only Eskimos will want to play in our graphs. :-P > > What about MIDI sync? Do we want the GMPI graph to be able to chase to > external beat boxes? > > What about MIDI machine control? Do we want the GMPI graph to play when the > user presses [Play] on their ADAT machine? > > > What matters are not byte-level correspondence, but semantic > > correspondence, and this is easily achievable. > > I'm not convinced this is achievable. For example, let's consider the > conversion of MIDI volume controller to GMPI. MIDI volume doesn't have a > standard mapping from 0-127 to gain values. So how does this value get > converted within GMPI? How the does the converted value survive the round > trip through a processor that does: > MIDI -> GMPI - > [Event Processing] -> GMPI -> MIDI. > > The problem with MIDI, or rather, with assuming we can cleanly convert MIDI > messages to another control format, is that in many cases the semantics of a > MIDI message are opaque. > > > ---------------------------------------------------------------------- > 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 > > > ---------------------------------------------------------------------- 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