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)
return false; // MIDI Input disabled.
if (parse())
if (!parse())
return false;
handleNullVelocityNoteOnAsNoteOff();
const bool channelMatch = inputFilter(inChannel);
if (MIDI_USE_CALLBACKS && channelMatch)
{
handleNullVelocityNoteOnAsNoteOff();
if (inputFilter(inChannel))
{
#if (MIDI_BUILD_OUTPUT && MIDI_BUILD_THRU)
thruFilter(inChannel);
#endif
#if MIDI_USE_CALLBACKS
launchCallback();
#endif
return true;
}
launchCallback();
}
return false;
#if MIDI_BUILD_THRU
thruFilter(inChannel);
#endif
return channelMatch;
}
// -----------------------------------------------------------------------------