Kevin,
Are you using PortMidi or using the Win32 Multimedia API for midi sysex messages? PortMidi has a lock in the data input callback to prevent reentrance (although it's amazing that Windows would allow this to happen, and that alone suggests that maybe this is a bug in Windows). I could imagine that if Windows allows multiple threads to call PortMidi's winmm_in_callback() concurrently that the calls could get reordered and scramble sysex data (similar to the problem you describe) in spite of the lock. If that's the case, my next question would be how does one write a correct input handler? There could also be a bug at the USB driver level -- writing and testing device drivers for multiprocessors in Windows is hard.

   -Roger

_______________________________________________
media_api mailing list
[email protected]
http://www.create.ucsb.edu/mailman/listinfo/media_api

Reply via email to