Re: Questions on data in MIDIPackets
Re: Questions on data in MIDIPackets
- Subject: Re: Questions on data in MIDIPackets
- From: Brian Willoughby <email@hidden>
- Date: Thu, 21 Feb 2002 16:57:35 -0800
[ I should mention, the MIDIServer's scheduler, when asked to
[ schedule multiple events at the same time, will *always* play them
[ in the order they were scheduled.
[
[ Consider a 14-bit parameter change or a simultaneous
[ note-on/note-off pair -- if these events are re-ordered, the
[ stream is not what the sender intended.
Excellent point.
The only thing I wonder is whether percussion timings might benefit from some
sort of priority flagging which might allow a group of events to be shifted in
time (but not reordered) during heavy traffic jams such that important events
happen "on the beat" as closely as possible. But this does seem to be more in
the realm of an application instead of the driver...
[ IMHO, the probability of multiple clients scheduling events for
[ the precise same MIDITimeStamp is so small as not to be worth
[ considering, and thus the client, knowing that the scheduler is
[ FIFO for events at the same time, can effectively make its own
[ choices about event priority without the MIDI API having to be
[ complicated by this detail.
If you consider clients (applications) as independent entities, then this
totally makes sense. However, it might be important to consider one of the
advantages that BeOS offered over Windows/Mac OS, in that the operating system
(claimed to) made it trivial for more than one application to synchronize to
the same timing source. Rather than relying on "killer" applications that
handle everything, this allows several applications to run at once, but all
play in sync due to excellent timing sync. While Mac OS (classic) probably had
adequate timing routing, Windows is totally devoid of synchronization, to the
point where the built-in MIDI sequencer in Windows is useless.
To get to my point, if a couple of applications are running off the same
timing sync source, then it actually becomes quite likely that multiple clients
will schedule events for the same time stamp (e.g. on the beat).
Brian Willoughby
Sound Consulting
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.