check for complete sysex
This commit is contained in:
parent
687676dc44
commit
ecd2c2bf22
|
|
@ -312,6 +312,11 @@ public:
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MIDI_NAMESPACE::MidiType::SystemExclusive:
|
case MIDI_NAMESPACE::MidiType::SystemExclusive:
|
||||||
|
|
||||||
|
// do we have a complete sysex?
|
||||||
|
if ((rPtr + 1 < length) && (buffer[rPtr + 1] == 0xF7))
|
||||||
|
rPtr--;
|
||||||
|
|
||||||
mBleClass.add(buffer[lPtr]);
|
mBleClass.add(buffer[lPtr]);
|
||||||
for (byte i = lPtr; i < rPtr; i++)
|
for (byte i = lPtr; i < rPtr; i++)
|
||||||
mBleClass.add(buffer[i + 1]);
|
mBleClass.add(buffer[i + 1]);
|
||||||
|
|
@ -339,8 +344,7 @@ public:
|
||||||
return; // end of packet
|
return; // end of packet
|
||||||
|
|
||||||
timestampByte = buffer[rPtr++];
|
timestampByte = buffer[rPtr++];
|
||||||
signatureIs1 = CHECK_BIT(timestampByte, 7 - 1);
|
if (CHECK_BIT(timestampByte, 7 - 1))
|
||||||
if (signatureIs1)
|
|
||||||
{
|
{
|
||||||
timestamp = setMidiTimestamp(headerByte, timestampByte);
|
timestamp = setMidiTimestamp(headerByte, timestampByte);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue