[linux-audio-dev] Plugin APIs (again)

Tim Hockin thockin at hockin.org
Sun Dec 8 15:25:00 UTC 2002


> > Well, my first thought is that we don;t want to send a CTRL_CHANGE event to
> > the host every time a control changes,  Do we want the host to have to send
> > CTRL_GET events and wait for CTRL_VALUE events, or can we say 'one tick
> > granularity is all the host can get' wrt CTRL_GET?

> If the host is marshaling the events then it should know what the last
> controller value it sent to the instrument was.

I'll buy that.  Once the host reads the initial values, it should refrain
from bothering the plugin.

Aside: Do we see a need for plugins to spontaneously change a control?  What
of a plugin that has a velocity-capped control (you turn a knob fast, and it
eventually gets there) or something that crossfades between two values
automatically.  Do we need to send CTRL_CHANGE events to the host, or should
we do a 'watcher' callback.  Watchers is how AudioUnits works.  I don't
really like it.

Also to think about - what if the host sends a bad value, and a control
wants to reject it?  Ahh, asyncronicity.  I guess for this case the plugin
sends back some FAIL event or simpler sends back a CTRL_CHANGE with the old
value (or the min/max if the host has gone too far).

> OT: I think you do want to handle note_on as an event, as you may want to
> process it with an event processing only plugin, eg. something to may midi
> style keyboard events to a gong striker (eg. map pitch to position and
> keep velocity). Or even an arpegiator.

Arpegiator is what finally convinced me of this, yesterday evening
(California time).

Just out of curiosity, where are you located physically, in the real world?
Our timezones are certainly not in sync.

Tim



More information about the Linux-audio-dev mailing list