On Tue, 2006-07-25 at 11:03 +0200, Clemens Ladisch wrote:
Lee Revell wrote:
I was confused because I also see these
timestamps when snooping
the MIDI output stream inside the kernel's MPU401 driver. I guess I
assumed that aplaymidi would deliver the events with correct timing,
rather than passing the timestamps through.
The MIDI data at a raw MIDI port never has timestamps. What you see are
the data bytes of the next MIDI command where the command byte itself
has been omitted because it would be identical to the last one. (ALSA's
sequencer event -> rawmidi converter uses running status by default.)
The running status and the zero note-on velocity (see Nicolas' mail) are
the only special cases your parser has to look out for.
What about the 1-byte "realtime" events?
(un-normalized MIDI reeally sucks...)
-DR-