[gmpi] Re: Parameters / controls / GMPI event system - refreshment

  • From: thockin@xxxxxxxxxx
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Thu, 24 Nov 2005 13:00:05 -0800

On Thu, Nov 24, 2005 at 04:53:17PM +0100, Koen Tanghe wrote:
> In section 1.3 we talk about "audio" and "controls" as possible types of
> inputs and outputs.

These are the two fundamental types of data streams in GMPI.  Audio data
is delivered via buffers of audio-rate data in the GMPI audio sample
datatype.  Control data is delivered via time-stamped events.  Each event
may be one of several datatypes.


> Then, in section 3.8 we talk about GMPI "events", but only in terms of
> "event delivery to a plugin", no event delivery *out* of a plugin.

Think of an event as a packet on the control wire.

> Then, in section 3.11 we talk about "parameters" and say that plugins expose
> their parameters to the host and that parameters are automatable (thus
> directly modifiable by the host).

We weren't clear on this.  I see it one of two ways:

"Parameters" are the sinks for control data - when you send control data it
must terminate at a parameter.  For example, the cutoff frequency knob of a
filter plugin would be a parameter, as would be the host-to-plugin tempo
syncronization of an LFO plugin.

"Control inputs" are the sinks for control data.  Control streams are made
between control outs and control ins.  "Parameters" are the
user-interactive control inputs.  For example, the cutoff frequency knob
of a filter plugin would be a parameter, where as the  host-to-plugin
tempo syncronization of an LFO plugin would not.

Of these, I think I prefer the first - "parameter" is just an alias for
"control input".  What think?  I am trying to keep track of these
clarifications for the fledgeling specification.

> Now, do I remember correctly that:
> - GMPI events and controls are one and the same?

An event is a packet on the control wire.

> - parameters can only be changed through GMPI events/controls?

right

> - a GMPI plugin can only have two types of inputs and outputs: audio and
> events (= controls)?

pretty much, modulo MIDI stuff

> - parameter changes (either incoming or outgoing) all come through GMPI
> events (= controls)?

yes

> a. "start audio sample generation for a new C4 note"
> b. "signal a snare drum event detection at time offset xyz"
> c. "change the cutoff frequency of the filter to 200 Hz"
> must come in to (a and c), respectively out off (b) the plugin using GMPI
> events through a control port (aarghh, another term...)?

Pretty much.  Whenever you go between plugins, you need some sort of
"wire".  That wire is a control signal which starts at a control output
and ends at a control input.  (we could switch to "source" and "sink"
terminology if that is clearer to people..)

> Or can a parameter change be done without going through a control port using
> GMI events?

Do you mean internal to a plugin or between plugins?

> There's also the "clock/time related" input and output, but this will 
> probably be handled through special controller messages, but I could be 
> wrong, and for this post it doesn't matter really... 

Clock stuff can be just another control signal

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