Subject: Re: [linux-audio-dev] XAP spec - early scribbles
From: David Olofson (david@olofson.net)
Date: Thu Feb 06 2003 - 20:59:23 EET
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 ---
This archive was generated by hypermail 2b28 : Thu Feb 06 2003 - 21:02:47 EET