#: 5047 S4/MIDI and Music
10-Jul-90 20:12:45
Sb: #4848-midi help
Fm: Mike Knudsen 72467,1111
To: Kevin Darling (UG Pres) 76703,4227 (X)
Well, each received event should have the time of its reception included. An
event may be 1 to 3 bytes, tho it may not be the driver's job to parse that
out. There are various ways to cut down on the extra data of time stamps --
like using only the low 8 bits, and throwing in special byte whenever the time
carries over.
For play, you should be able to give a timestamp followed by a whole bunch of
MIDI data bytes; when the actual time becomes equal to that timestamp, all
those bytes get blasted out as fast as possible. THis allows buffering and
lets the play program get ahead of the job, so as to have a reserve of real
time to fall back on when things get tuff.
There are some pretty simple ways to do things in both directions. I think the
driver per se should do it simply, with more efficient encodings handled by the
application. I'll have to think about this some more. Keep bugging me. Best
to handle this via my Bitnet address. Thanks for asking, mike k
|