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

Steve Harris S.W.Harris at ecs.soton.ac.uk
Sun Dec 8 17:05:01 UTC 2002


On Sun, Dec 08, 2002 at 12:19:06PM -0800, Tim Hockin wrote:
> I'll buy that.  Once the host reads the initial values, it should refrain
> from bothering the plugin.

I think the host should be able to give the instrument its initial values,
read for deafults, or a settings file etc.
 
> 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.

I'm afraid I'm not familar with the AudioUnits API, but I dont/think/ this
situation requires the instrument to inform the host, it should just be
able to damp (slew rate limit) the control, shouldn't it? The result from
playing back automation data will be the same, so no harm done.
 
> 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).

Bad value? LADSPA has the concept that there are no bad values, the plugin
has to accept anything. It can choose to ignore it, but it mustn't
segfault or whatever.

This is not necceserily the right thing, but it does make some things
simpler. I'm not aware of any situations where this has required the
plugin to tell the user "that was a crap value", usually the wideband
distortion is hint enough ;)

In practice most hosts only send values within the range hints.
 
> Just out of curiosity, where are you located physically, in the real world?
> Our timezones are certainly not in sync.

England, UK. GMT+1. I'm not a mornings person though ;)

- Steve



More information about the Linux-audio-dev mailing list