Ensure correct message length after parsing
After parsing the message length was still zero in multiple cases. Which doesn't allow for instance to use those messages as is with send()
This commit is contained in:
parent
d9149d19df
commit
f094ece834
|
|
@ -844,6 +844,7 @@ bool MidiInterface<Transport, Settings, Platform>::parse()
|
||||||
mMessage.channel = 0;
|
mMessage.channel = 0;
|
||||||
mMessage.data1 = 0;
|
mMessage.data1 = 0;
|
||||||
mMessage.data2 = 0;
|
mMessage.data2 = 0;
|
||||||
|
mMessage.length = 1;
|
||||||
mMessage.valid = true;
|
mMessage.valid = true;
|
||||||
|
|
||||||
// Do not reset all input attributes, Running Status must remain unchanged.
|
// Do not reset all input attributes, Running Status must remain unchanged.
|
||||||
|
|
@ -859,6 +860,7 @@ bool MidiInterface<Transport, Settings, Platform>::parse()
|
||||||
case AfterTouchChannel:
|
case AfterTouchChannel:
|
||||||
case TimeCodeQuarterFrame:
|
case TimeCodeQuarterFrame:
|
||||||
case SongSelect:
|
case SongSelect:
|
||||||
|
mMessage.length = 2;
|
||||||
mPendingMessageExpectedLength = 2;
|
mPendingMessageExpectedLength = 2;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -869,6 +871,7 @@ bool MidiInterface<Transport, Settings, Platform>::parse()
|
||||||
case PitchBend:
|
case PitchBend:
|
||||||
case AfterTouchPoly:
|
case AfterTouchPoly:
|
||||||
case SongPosition:
|
case SongPosition:
|
||||||
|
mMessage.length = 3;
|
||||||
mPendingMessageExpectedLength = 3;
|
mPendingMessageExpectedLength = 3;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -900,7 +903,7 @@ bool MidiInterface<Transport, Settings, Platform>::parse()
|
||||||
mMessage.channel = getChannelFromStatusByte(mPendingMessage[0]);
|
mMessage.channel = getChannelFromStatusByte(mPendingMessage[0]);
|
||||||
mMessage.data1 = mPendingMessage[1];
|
mMessage.data1 = mPendingMessage[1];
|
||||||
mMessage.data2 = 0; // Completed new message has 1 data byte
|
mMessage.data2 = 0; // Completed new message has 1 data byte
|
||||||
mMessage.length = 1;
|
mMessage.length = 2;
|
||||||
|
|
||||||
mPendingMessageIndex = 0;
|
mPendingMessageIndex = 0;
|
||||||
mPendingMessageExpectedLength = 0;
|
mPendingMessageExpectedLength = 0;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue