[linux-audio-dev] more on XAP Virtual Voice ID system

Tim Hockin thockin at hockin.org
Wed Jan 8 03:50:01 UTC 2003


> >I made a post a while back defining all the XAP terminology to date. Read 
> >it if you haven't - it is useful :)
> 
> I was hoping something of this sort existed. It would be very helpful if you 
> could put the list of XAP terminology on the webpage. It would help keep 


Here are the ones we all agree on:

* Plugin:
        A chunk of code, loaded or not, that implements this API (e.g. a .so
        file or a running instance).
* Host
        The program responsible for loading and controlling Plugins.
* Instrument/Source:
        An instance of a Plugin that supports the instrument API and is used
        to generate audio signals.  Many Instruments will implement audio
        output but not input, though they may support both and be used an an
        Effect, too.
* Effect:
        An instance of a Plugin that supports both audio input and output.
* Output/Sink:
        An instance of a Plugin that can act as a terminator for a chain of
        Plugins.  Many Outputs will will support audio input but not output,
        though they may support both and be used as an Effect, too.
* Voice:
        A playing sound within an Instrument.  Instruments may have multiple
        Voices, or only one Voice.  A Voice may be silent but still active.
* Event:
        A time-stamped notification of some change of something.


And some definitions that depend on other unfinished definitions:

* Control:
        A knob, button, slider, or virtual thing that modifies behavior of
        the Plugin.  Controls can be master (e.g. master volume),
        per-Bay (e.g. channel pressure) or per-Voice (e.g. aftertouch).
* Port:
        An audio input or output. Ports are on AUDIO Bays.

And some outstanding questions to be answered later (too many discussions
gets me too confused!)

* Preset:
        A stored or loaded set of Control values.
        //FIXME: presets can be multi-channel or single-channel
* EventQueue:
        A control input or output.  Plugins may internally have as many
        EventQueues as they deem necessary.  The Host will ask the Plugin
        for the EventQueue for each Control.
        //FIXME: what is the full list of things that have a queue?
        // Controls, Plugin(master), each Channel?

And lastly - undecided (again, we'll get there, lets work out
voice-allocation first :)

VVID, Bay, Channel, Templates, etc.



More information about the Linux-audio-dev mailing list