Re: Questions on data in MIDIPackets
Re: Questions on data in MIDIPackets
- Subject: Re: Questions on data in MIDIPackets
- From: Doug Wyatt <email@hidden>
- Date: Mon, 18 Feb 2002 20:47:37 -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.
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.
Doug
On Monday, February 18, 2002, at 07:01 , Herbie Robinson wrote:
The output is much more difficult, because one can't be perfect and if
one tries to be, one is dumping a graph coloring algorithm into each
MIDI driver. Graph coloring algorithms are heuristics (which means
they won't all get the same answer) and complex (as in slow and often
buggy). It think it's more practical to get enough information into
the database so that applications can implement the graph coloring
algorithm if they want to, but to leave if for the application. I
don't think that streams getting merged from multiple applications is
very common, but even if it is, each application will have spread the
packets out in the desired order via time-stamps; so, there is some
info for prioritizing the merge. Definitely a judgement call here...
--
Doug Wyatt
work: email@hidden (CoreAudio)
personal: email@hidden
http://www.sonosphere.com
"It is a miracle that curiosity survives formal education."
-- Albert Einstein
_______________________________________________
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.