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

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


On Sun, Dec 08, 2002 at 03:11:16 -0800, Tim Hockin wrote:
> > > Uggh, can we keep the get() of control values simpler than events?  My
> > > previos proposal had a control->get() method and a ctrl->set() method.
> > > Obviously, the set() is superceded by events.  Is the get, too?
> > 
> > What is this for? If you want to implement this then they need to be
> > events (well, sample accurate), but they sound like a pain to implement.
> 
> 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?

The problem is that the dsp code doesn't always know the real value of a
controller: if its expensive to calcuate the coefficients you normally
just calcuate them once for every N samples then interpolate the
coefficients, which bear no simple relation to the controller value.

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

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.

- Steve



More information about the Linux-audio-dev mailing list