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