MidiOut->sendMessageNow doesn't flush on short sysex mess


Sending “F0 00 F7” doesn’t seem to transmit until another sysex message is sent later. I think it might be because in juce_MidiOutput.cpp, if the message size is not greater than 3 bytes, midiOutShortMsg is being called, and I don’t think midiOutShortMsg works for sysex messages.

Best regards,


PS. Juce is amazing.

Hmm - ok, that’s interesting. How about this tweak to juce_win32_Midi.cpp:

[code]void MidiOutput::sendMessageNow (const MidiMessage& message)
const MidiOutHandle* const handle = (const MidiOutHandle*) internal;

if (message.getRawDataSize() > 3 
     || message.isSysEx())


Seems to do the trick. I’ve tried it in my test application and now 3 byte sysex messages are passing successfully.