On Wed, 2005-07-13 at 16:06, fons adriaensen wrote:
[ Fernando Lopez-Lezcano ]
So, worst case scheduling would seem to me to be
around 0.32 msec (ie: I
want the message to be sent at time t+/-320 usec).
If you want jitter-free MIDI clock, that is absolutely correct. OTOH,
I often wondered why MIDI interfaces are not designed to work in the
same way as an audio card: you write a period of frames, and the HW
takes care of the exact timing of each one. The same could be done
with midi data. It would introduce the same latency we have on audio,
but at least there would not be any jitter.
There were interfaces that did exactly that. The original Roland MPU401
had an "intelligent mode" in which it would schedule things on its own.
There were clones that did that as well (can't remember the brand name).
But this "intelligent mode" was harder to use that the regular raw mode,
so maybe it was not so popular with software developers. That was the
time of blazing fast 4.77MHz (yes "MHz") 8088 cpus when an "infinite
amount of memory" was 640Mbytes :-)
-- Fernando