Browse Source

Fix for spurious callbacks in OS-X when ignoring sysex messages and split sysexes are received (codepainters)

Gary Scavone 11 years ago
parent
commit
f9c4af9da6
2 changed files with 4 additions and 3 deletions
  1. 1 1
      RtMidi.cpp
  2. 3 2
      doc/release.txt

+ 1 - 1
RtMidi.cpp

@@ -466,7 +466,7 @@ static void midiInputCallback( const MIDIPacketList *list, void *procRef, void *
       }
       continueSysex = packet->data[nBytes-1] != 0xF7;
 
-      if ( !continueSysex ) {
+      if ( !( data->ignoreFlags & 0x01 ) && !continueSysex ) {
         // If not a continuing sysex message, invoke the user callback function or queue the message.
         if ( data->usingCallback ) {
           RtMidiIn::RtMidiCallback callback = (RtMidiIn::RtMidiCallback) data->userCallback;

+ 3 - 2
doc/release.txt

@@ -10,10 +10,11 @@ v2.1.0: (?? 2014)
 - fix for ALSA incorrect use of snd_seq_create_port() function (Tobias Schlemmer)
 - fix for international character support in CoreMidi (Martin Finke)
 - fix for unicode conversion in WinMM (Dan Wilcox)
-- added custom error hook that allows the client to capture an RtMidi error outside of the RtMidi code
-- added RtMidi::isPortOpen function
+- added custom error hook that allows the client to capture an RtMidi error outside of the RtMidi code (Pavel Mogilevskiy)
+- added RtMidi::isPortOpen function (Pavel Mogilevskiy)
 - updated OS-X sysex sending mechanism (ptarabbia)
 - Windows update to avoid lockups when shutting down while sending/receiving sysex messages (ptarabbia)
+- OS-X fix to avoid empty messages in callbacks when ignoring sysex messages and split sysexes are received (codepainters)
 
 v2.0.1: (26 July 2012)
 - small fixes for problems reported by Chris Arndt (scoping, preprocessor, and include)