Ignore clock and active sensing on serial MIDI (#417)

* Ignore clock and active sensing on serial MIDI

Fixes #416

I'm not entirely sure this is the correct way to fix it. But it does
seem to fix the problem I was seeing. I can now completely mash the
keyboard and no notes will get stuck on.

* Handle all system real time messages in serial
pull/381/head^2
Jennifer Wilcox 2 years ago committed by GitHub
parent 24e10c308d
commit 61a301a24c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      src/serialmididevice.cpp

@ -98,7 +98,13 @@ void CSerialMIDIDevice::Process (void)
continue; continue;
} }
if(m_nSysEx > 0) // System Real Time messages may appear anywhere in the byte stream, so handle them specially
if(uchData == 0xF8 || uchData == 0xFA || uchData == 0xFB || uchData == 0xFC || uchData == 0xFE || uchData == 0xFF)
{
MIDIMessageHandler (&uchData, 1);
continue;
}
else if(m_nSysEx > 0)
{ {
m_SerialMessage[m_nSysEx++]=uchData; m_SerialMessage[m_nSysEx++]=uchData;
if ((uchData & 0x80) == 0x80 || m_nSysEx >= MAX_MIDI_MESSAGE) if ((uchData & 0x80) == 0x80 || m_nSysEx >= MAX_MIDI_MESSAGE)

Loading…
Cancel
Save