[linux-audio-dev] XAP: SILENT event handling

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] XAP: SILENT event handling
From: David Olofson (david_AT_olofson.net)
Date: Mon Dec 09 2002 - 14:01:02 EET


Some thoughts on that SILENT event for reverb tails and stuff...
(Currently impemented as a "fake" spontaneous state change in
Audiality FX plugins, BTW.)

I would assume that since there is no implicit relation between
Channels on different Bays (remember the input->output mapping
discussion?), this event is best sent from some kind of Master Event
Output Channel. (That is, now we have one Master Event Input Channel,
and one Master Event Output Channel. Each will be in it's own Bay,
and there can be only one and exactly one Channel on each of those.)

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.

And it would probably be a rather good idea to have "NOT_SILENT"
event as well, BTW!

Anyway, what I was thinking was: How about allowing plugins to
*receive* SILENT and NOT_SILENT events, if they like?

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.

Not that recording half a buffer extra of silence would be a
disaster, but I bet someone can or eventually will think of a reason
why their plugin should know the whole thruth about the audio inputs.

Now, there's just one problem: Put a plugin with tail, but without
sample accurate "tail management" support in between a plugin that
sends (NOT_)SILENT events and one that can receive them - and the
information is useless! All you can do is have the host fake the
(NOT_)SILENT events sent to the latter plugin, since the plugin in
the middle thinks only in whole buffers WRT inputs and/or outputs...

And there's another problem: If you would get a (NOT_)SILENT event
*directly* from another plugin, how on earth would you know which one
of *your* audio inputs that other plugin is talking about, when the
event arguments are about *that* plugin's audio outputs?

Only the host knows where audio ports are connected, so the host
would have to translate the events before passing them on.

//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 ---


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Mon Dec 09 2002 - 14:12:12 EET