[gmpi] Re: 3.15 MIDI (What does it mean to be a plugin)

  • From: Steve Harris <S.W.Harris@xxxxxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Tue, 22 Jun 2004 09:01:35 +0100

On Mon, Jun 21, 2004 at 03:59:52 -0700, Chris Grigg wrote:
> (Cutting to the chase:)  Yes, it is separable, and yes, I have always 
> been in a watch-and-wait mode not so much with just the Actors part, 
> as with numerous assumptions underlying the GMPI control system -- on 
> which all these other issues rely.  This includes the assumption that 
> setting a parameter and sending a command are essentially isomorphic 
> operations (I think not, and don't recall seeing anyone trying to 
> treat them the same in any other system before), one aspect of which 
> is changing the basic OSC message semantic from the original 'call a 
> method of the receiver' to 'set a named control value within the 
> receiver', another aspect of which is the absence of any fixed 

Just to be clear, there is nothing of OSC in the proposed GMPI event
system. The paths were described as "OSC-like", in that they have name
components sperated by /'s, just like HTTP, and many filesystems,
OSC is just the most familiar thing in this domain.

Also, your comparison with OSC is not quite right, a GMPI control event
would be more like (/some/control/path set 10.0), just because the GMPI
events could be regarded as messages doesnt mean thier intended to be an
arbitrary IPC mechanism, just like VST's parameter setting function is not.

I also dispute your statement that its unusual to have control change
'commands' (events, calls, or whatever) be isomorphic to parameter value
setting in any plugin system. In many systems its explicitly so, the only
difference here is that thier timestamped.

> More pertinently, I see problems with the fundamental assumption that 
> plug P's state at arbitrary time T is always adequately represented 
> by state of P's published parameters at T.  That's certaily a true 
> statement for simple plugs, but not all plugs people might want to 
> create fit that model (examples below). This is relevant because that 
> assumption seems to me to be the basis of the entire 
> host-holds-params model, and all the attendant mechanics (including 
> Actors), inefficiencies, unenforceable rules, and, now that we get to 
> looking closely at MIDI, it turns out to cause new, 
> unanticipated-by-some functional scope limitations for GMPI.  I do 

I understand your concern, but we have sustantial eveidence that it /does/
work (~200 LADSPA plugins). It doesnt really matter if the occasional
plugin doesnt use set(/some/path, val) to mean /some/path = val. In
practice it will stil be automated otherwise the control behaviour would
just be plain wierd in normal use.

- Steve

----------------------------------------------------------------------
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

Other related posts: