On Thursday 12 December 2002 13.32, Steve Harris wrote: > On Thu, Dec 12, 2002 at 12:16:09 +0100, David Olofson wrote: > > 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. > > I agree. For efficiect reasons if nothing else, having musical > events mixed in with your data events would make it very hard to > parse. > > Musical time can be expressed in the same way it is in VST (as I > understand it) or jack and friends. > > It does need to be part of the API, but not mixed in with the (very > low level) event system.
Right. So, what we need to do now is agree on a sensible time struct. That is, basically copying that of VST or JACK. I'm trying to find out whether or not it makes sense to say anything more than "in the past" or "in the future" about timestamps that are outside the buffer... Do you ever have a *valid* reason to query the musical time of an audio time that is outside the time frame you're supposed to work within? For example, if you're delaying events by musical time, you're not *allowed* to keep the audio time of a future musical times, since it may be invalid by the time you get there. (Timeline edits or transport manipulation.) So, you only really have to know that the event *is* in the future, so you can put it in your internal queue for processing later on. Anyway, the *real* reason why I'm worrying about this is that such a rule could make life a lot easier for hosts. You can cache time structs for the current buffer, but never have to even generate them for timestamps that fall outside. (The call would just return one of two error codes 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 ---