Fix issue #13 on GitHub.

This commit is contained in:
Francois Best 2014-04-18 14:56:15 +02:00
parent d13353a5b6
commit 6164e2c5fe
1 changed files with 13 additions and 15 deletions

View File

@ -483,24 +483,22 @@ inline bool MidiInterface<SerialPort>::read(Channel inChannel)
if (inChannel >= MIDI_CHANNEL_OFF) if (inChannel >= MIDI_CHANNEL_OFF)
return false; // MIDI Input disabled. return false; // MIDI Input disabled.
if (parse()) if (!parse())
{ return false;
handleNullVelocityNoteOnAsNoteOff();
if (inputFilter(inChannel))
{
#if (MIDI_BUILD_OUTPUT && MIDI_BUILD_THRU) handleNullVelocityNoteOnAsNoteOff();
const bool channelMatch = inputFilter(inChannel);
if (MIDI_USE_CALLBACKS && channelMatch)
{
launchCallback();
}
#if MIDI_BUILD_THRU
thruFilter(inChannel); thruFilter(inChannel);
#endif #endif
#if MIDI_USE_CALLBACKS return channelMatch;
launchCallback();
#endif
return true;
}
}
return false;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------