diff --git a/RtMidi.cpp b/RtMidi.cpp index 0319a08..0825480 100644 --- a/RtMidi.cpp +++ b/RtMidi.cpp @@ -1675,12 +1675,6 @@ void MidiOutCore :: sendMessage( const unsigned char *message, size_t size ) return; } - if ( message[0] != 0xF0 && nBytes > 3 ) { - errorString_ = "MidiOutCore::sendMessage: message format problem ... not sysex but > 3 bytes?"; - error( RtMidiError::WARNING, errorString_ ); - return; - } - MIDITimeStamp timeStamp = AudioGetCurrentHostTime(); CoreMidiData *data = static_cast (apiData_); OSStatus result; @@ -3148,7 +3142,7 @@ void MidiOutWinMM :: sendMessage( const unsigned char *message, size_t size ) MMRESULT result; WinMidiData *data = static_cast (apiData_); - if ( message[0] == 0xF0 ) { // Sysex message + if ( nBytes > 3 ) { // Sysex message // Allocate buffer for sysex data. char *buffer = (char *) malloc( nBytes ); @@ -3189,13 +3183,6 @@ void MidiOutWinMM :: sendMessage( const unsigned char *message, size_t size ) } else { // Channel or system message. - // Make sure the message size isn't too big. - if ( nBytes > 3 ) { - errorString_ = "MidiOutWinMM::sendMessage: message size is greater than 3 bytes (and not sysex)!"; - error( RtMidiError::WARNING, errorString_ ); - return; - } - // Pack MIDI bytes into double word. DWORD packet; unsigned char *ptr = (unsigned char *) &packet;