Chris Grigg wrote:
So by that logic, presuming the exceptions are acceptable (which they seem to be at least within this group), all of MIDI .could. be converted to pure GMPI messages at the graph boundaries, using OSC-style addressing and the current list of parameter datatypes, so long as we simply encapsulate sysex messages, probably as blob, or else by inventing a new dataype morally equivalent to blob. So we can know it would fundamentally work.
However:
A) For inherently MIDI-MIDI connection cases such as studio routing (or perhaps early ports or unhip plugs not interested in using OSC-style addressing), the only reason that has been offered for requiring MIDI->pure-GMPI conversion is easing Absolute Rewind. There does not seem to be any other reason supporting mandatory conversion. (FWIW, I remain open to any that may exist.) Whereas...
B) Several factors work against the basis of the NMiG argument:
B.1) As soon as MIDI sysex or GMPI blob is permitted in the GMPI graph, Absolute Rewind is no longer guaranteed, since the plug state change caused both these message types is not bounded and therefore not guaranteed trackable by the host.
B.2) As soon as GMPI blob is permitted in the GMPI graph, plugs and hosts cannot be prevented from sending and receiving MIDI messages or raw MIDI bytes, packaged as GMPI messages. In this case, Absolute Rewind is not guaranteed, and only conceivable with some sort of Actor-fu.
B.3) Even for ordinary pure GMPI messages, there is no guarantee that plug authors will observe the no-param-interaction-without-an-Actor rule, so Absolute Rewind is not guaranteed for any plug.
So, my discussion-logic objection to excluding MiG is mainly that a thing that we don't genuinely have in the first place (Absolute Undo) is being used as the sole basis for forbidding MIDI in Graph.
Outlawing MIDI in Graph wouldn't be so bad if it weren't for the fact that it forces otherwise unnecessary (therefore inefficient) conversions at runtime*, plus probably even more importantly all the messy extra glue steps (actor, MIDI implementation expression, etc.) that would make MIDI excessively painful for developers. I don't see that dismissing plugs whose authors choose not to accept the burdens of total parameter independence or else Actors as broken really addresses their existence as factor to consider in the analysis.
-- 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