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, 14 Feb 2002 15:13:01 -0800
Herbie Robinson <email@hidden> wrote:
[ There probably needs to be some attributes on the endpoints that
[ specify the transmission delays. Then the application can correct
[ for them if it wants to. It's probably not a good idea to have
[ drivers try and correct for MIDI delays, because the algorithm
[ can get somewhat complex and would require constant re-computation
[ because the driver doesn't see all the data. The application can
[ adjust for transmission (and other) timing delays as edits are
[ being done. Attributes would be per character time, whether or
[ not running status is used and possible some info about whether
[ the device can respond to incomplete Events..
After my previous post on time stamping, I had some further thoughts about the
possibilities.
If you consider the exact case of a Human Interface Device (keyboard,
expression controller, etc.) connected via MIDI 1.0, it seems like it would be
a good thing if the CoreMIDI driver subtracted 320 microseconds from the time
stamp of the receive interrupt and reported that adjusted time as the actual
absolute time of the real event.
This seems like a way to improve the accuracy of time stamps. The problem is
how to determine whether the input is coming from a live event or a sequencer.
In the case of a sequencer, there's no way to know if the sequencer has
already adjusted its timing to account for MIDI 1.0 delays. Also, more modern
"MIDI" devices could use more advanced connections like USB instead of MIDI
1.0, and could thus communicate the time stamp directly so that adjustment is
not needed.
I like your idea of per-endpoint attributes for transmission delays. Aren't
there already there? or is that for output latency only? In some respects it
may not be needed if the driver can "adjust" the time stamps on incoming data
before the app sees the events, but it might still help to have this
information around in the cases where it cannot be determined without human
help as to whether the incoming data is live or playback of a recorded
performance.
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.