[linux-audio-dev] XAP: Plugin: "But I'm not ready!"
David Olofson
david at olofson.net
Wed Dec 18 11:31:01 UTC 2002
On Wednesday 18 December 2002 16.18, Steve Harris wrote:
> On Wed, Dec 18, 2002 at 02:53:50PM +0100, David Olofson wrote:
> > You move the play position marker.
> >
> > Plugins get the position changes from the timeline,
> > and those that need to, do their best to prebuffer
> > audio data from disk, or whatever. While doing that,
> > the put a "1" on their "READY" Control Outputs, that
> > are connected to the transport control.
> >
> > You press "Start".
> >
> > The transport control simply waits until it has
> > received a "0" from each one of the "READY" Controls
> > it's watching. Then it actually starts the sequencer.
> > If there are no READY Controls in the net, the
> > sequencer will just start instantly.
>
> I'm wondering if this can't be handled better in a non RT manner,
> like the activate call in LADSPA, but with the addition of some
> kind of time position.
But then you have to stop the whole net along with the sequencer, as
soon as you have one of those "non-instant" plugins in the net. The
very point is to avoid that.
Besides, this doesn't just happen when you activate a plugin, but
could happen as soon as you move the transport, or change a control.
Sure, it can be handled with control hints, saying these controls are
not RT safe, but I think that's a bit restrictive.
> The plugin will likly have to flush its internal buffers anyway, so
> it might just be easier and cleaner to do it outside the normal RT
> context.
That kind of solution would need explicit API support as well, so I'm
not sure it makes anything easier.
//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 -'
--- http://olofson.net --- http://www.reologica.se ---
More information about the Linux-audio-dev
mailing list