[gmpi] Re: undo and controls

  • From: Tim Hockin <thockin@xxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Mon, 21 Jun 2004 10:34:56 -0700

On Mon, Jun 21, 2004 at 09:23:26AM -0400, Ron Kuper wrote:
> 
> Why not provide code to do that, and let hosts do it, instead of opening
> a new window of the API?
> <<<

> That's exactly what I want!  I want *us*, the GMPI-WG, to provide this
> code.  GMPI API remains intact.

I'm fine with us providing it. It sounds to me like a different (but
useful) API for MIDI only "plugins".  I say plugins because they really
require a GMPI wrapper to be GMPI plugins.  They are not GMPI plugins by
nature.

Let me extrapolate, and you tell me if we're still on the same page.

Assume a MIDI-only plugin.  It's not really a GMPI plugin because it has
no GMPI controls, just some vague idea that it wants MIDI input.  So you
wrap it in a GMPI skin.  This GMPI skin has to know what MIDI parameters
the internal MIDI plugin expects, right?

So you provide some MIDI map which the GMPI skin reads.  It then knows how
many parameters to expose, and maybe what their "names" are.  They can
even me totally MIDI compatible INT(0-127) knobs.

Is that right?

> >>>
> Because then every host has to support MIDI in order to use those
> plugins.
> <<<
> 
> I agree that only a subset of legacy plugins will be coded this way.
> The host can support them by way of the converter component. 

If we provide a way for a top-level GMPI plugin to have raw MIDI input,
then we've opened a can of worms.  Other plugins will want to do that,
too. If we can encapsulate it such as I described above, then nothing
really needs raw MIDI input (assuming no one comes up with any other use
case).

> >>>
> I am working on a host.  I want to support GMPI fully and totally.  I do
> not want to do too much with MIDI.  How am I supposed to work with a
> plugin that only takes MIDI input?  I can't undo it, I can't keep UIs in
> sync with it, I cant record automation for it, I can't sequence it.
> Do you see what I am saying?  Do you not see this as a problem?  Am I
> missing something?
> \<<<<
> 
> You instantiate a GMPI->MIDI converter, a patch it in front of the MIDI
> plugins control input.  Then you talk GMPI to the plugin.  Or am I the
> one who is oversimplifying?  

Well, how does the GMPI to MIDI converter know what parameters to expose?
Does it just expose a parameter for every CC and blindly send them on to
the MIDI plugin?  Would it not be easier to make the MIDI-only plugin a
wrapped format. With a small amount of metadata you can basically
autogenerate a GMPI plugin wrapper.

> We've agreed that we need GMPI<->LegacyFormat wrappers.  What I'm
> proposing is GMPI<->MIDI shim.

I'm just afraid of opening a can of worms.  If there is a GMPI API where a
plugin can request raw MIDI, then other people will use it.  Maybe.  Maybe
I am wrong.

I don't like it, but in the name of forward progress, I could live with
it.  Plugins which use MIDI as their control input do not get the benefits
of GMPI, except being part of a GMPI graph.

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

Other related posts: