[linux-audio-dev] XAP and these <MEEP> timestamps...

David Olofson david at olofson.net
Wed Dec 11 18:22:01 UTC 2002


I (still) don't think musical time belongs in timestamps of your 
average event in XAP. Those events are meant to act as an alternative 
to audio rate controls or blockless processing. The host gives you a 
time frame to work with (expressed as a number of audio frames), and 
that's the timeframe you're meant to work with. This applies to audio 
as well as events.

If an analog synth does not need timestamps at all on CV changes, why 
should our plugins?


A sequencer must obviously think in terms of transport or musical 
time, or something else that is not free running. A sequencer will 
also most probably need some form of editor to be useful. This may be 
a replica of diode programming matrix, a piano roll, various 
parametric selection and event processing tools, or all of those. 
Thinking about this, one realizes that these tools must probably have 
more or less random access to the sequencer's database to do anything 
useful.

One might argue that the event processing tools should be the same 
thing as the real time event processor plugins. However, for that to 
be of much use, plugins would have to be able to see events from 
virtually the whole timeline, or you wouldn't be able to do 
*anything* you couldn't just as well do in real time, with audio time 
timestamps.


So, imagine a simple, function call based Sequencer DataBase API. 
Sequencer plugins could implement that, and then editors could use it 
to manipulate the events in the sequencer in any way they like. The 
API could be designed so that sequencers may make the calls RT safe, 
so the API could be used from within the RT thread of a running host. 
(Most users of audio/MIDI sequencers will definitely expect editing 
during playback to work properly!)

It would probably be possible to implement the Sequencer DataBase API 
as a protocol over the XAP event system, but I don't think it makes 
much sense to take it any further than that - if even that far.


Now, are there *still* things you can't do with this, and if so, 
what? I'd like a list of operations and effects, or something...


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



More information about the Linux-audio-dev mailing list