[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