[linux-audio-dev] XAP spec - early scribbles
David Olofson
david at olofson.net
Thu Feb 6 14:07:00 UTC 2003
On Thursday 06 February 2003 07.27, Paul Davis wrote:
> >Again, I think we are speaking of slightly different things. I am
> > talking about the time when (for example) the synth at the head
> > of the chain has stopped playing notes. A reverb with this as
> > it's input would be told 'your input is now silent'. It has a
> > tail, of course. It can be marked silent when it's tail is done.
> > Once it is silent, it does not need to be processed._
>
> this sounds very dangerous to me.
It is, but for other reasons.
> your description sounds OK. but ... my kawai k5000 is an additive
> synth with a moderately interesting FX bank. its still producing
> sound for most patches long after all of its "voices" are off. if
> someone were to write a plugin modelled on this kind of design, you
> can't really know when the top of the chain is silent.
The *synth* might know, but if you stop calling run(), it can't tell
you when you start calling run() again...
> i have a gut feeling that this will turn out to be the common case,
> so common that trying for this optimization is a mistake. i could
> be wrong, of course.
No, I think you're right.
I think the only optimization we can provide for on the API level is
handling of silent buffers. Whether or not a plugin just returns from
run() when it sees there's nothing useful to do is a plugin
implementation issue, and I don't think hosts can help very much in
that area.
//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