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

David Olofson david at olofson.net
Sun Dec 8 18:26:01 UTC 2002


On Sunday 08 December 2002 12.11, 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, 

Why not? Just like the host isn't supposed to flood the system with 
events, neither are you, as an event generating plugin. (And there's 
a reason why some APIs have ramp events and the like.)


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

Well, either could work... I don't see any major advantages with 
either, except that the event based approach can be made sample 
accurate with minimal effort.

(Copy the timestamp field. In fact, the way I do events in Audiality, 
you can even reuse the event struct of the request, rather than 
throwing it away and allocating a new one for the reply.)


//David Olofson - Programmer, Composer, Open Source Advocate

.- The Return of Audiality! --------------------------------.
| Free/Open Source Audio Engine for use in Games or Studio. |
| RT and off-line synth. Scripting. Sample accurate timing. |
`---------------------------> http://olofson.net/audiality -'
.- M A I A -------------------------------------------------.
|    The Multimedia Application Integration Architecture    |
`----------------------------> http://www.linuxdj.com/maia -'
   --- http://olofson.net --- http://www.reologica.se ---



More information about the Linux-audio-dev mailing list