On Monday 09 December 2002 14.55, Steve Harris wrote:
On Mon, Dec 09, 2002 at 01:01:02PM +0100, David
Olofson wrote:
So, the SILENT event would need Bay and Channel
(but not Slot)
fields, in order to tell the host (or who ever gets the event)
which audio output just went silent.
I was assuming the SILENT event would be aginst a voice ID.
Uhm, a Voice is an abstract object that has no known relation to
whatever audio outputs the synth may have... The SILENT event I'm
talking about is what a reverb FX would send when the tail goes below
the threshold, or that a synth would send when *all* Voices that are
routed (dry) to a certain audio output are dead.
That way, you
could use the plugin API for things like
audio-to-disk-thread "gateways" for recording and that kind of
stuff, without forcing the host to be involved in the details.
That will only work if all your instruments procduce SILENT events
and you recevie all the relevent VOICE_ON events though. Is this
even possible?
It's not about Voices - and Voices become irrelevant anyway, as soon
as the synth has an internal FX with tail... This is all about audio
ports.
I bet I can think of a processing graph where it
isn't resolvable. Paticularly if you allow LADSPA plugins in the
graph.
Yes - but then you'd either have to insert meter plugins to detect
silence, or just tell the user "Sorry, but I can't reliably
autodetect silence in this net."
For this and the other reasons you mentioned I dont
think this is
not possible/practical.
Well, I agree that there probably isn't much point in spending much
time on this. If it fits in nicely somewhere, fine - but otherwise,
just allow nice plugins to send SILENT events whenever an audio
output port changes between silence and non-silence, and/or accept
NULL pointers for input buffers.
The only part of this that hosts *have* to support would be the
SILENT event, since that means the plugin may not even touch
subsequent buffers. They have to be cleared, or if the receiving
plugin supports the "NULL buffer for silence" feature, that may be
used.
//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 ---