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