Tried midifile for multitrack files. Note that it works fine if you use it
the way they apparently intended – recording files into the object and
writing them. Reading existing midifiles is problematic. Old files that
use key off messages don’t work because midifile apparently uses keyon with
velocity 0 for key off. Probably something easy to change.
Had another look at detonate and it seems to be working better than I
remember. Perhaps it has been fixed. The problems I encountered were that
write and export actually behaved differently – now the doc says they are
identical. Both finale and sibelius no read the exported midi files
correctly. One thing I would like to see is absolute record location like
midifile has. That is you tell detonate where you want to record instead of
how far beyond the most recent note. I though I had found a work around by
using negative delta times – i.e. -1000 60 64 2000 2 4 to record a half note
C3 one second earlier than the previous note on channel 2 of track 4.
Didn’t work because detonate ignores negative delta times.
So I am still looking for that perfect multitrack midi file object.