use lastStatus, not the reference to the buffer (in case on running status)

This commit is contained in:
lathoub 2020-03-09 23:00:59 +01:00
parent f80e225080
commit 0fc2b5a059
1 changed files with 5 additions and 5 deletions

View File

@ -87,12 +87,12 @@ public:
// look at l and r pointers and decode by size.
if( rPtr - lPtr < 1 ) {
// Time code or system
xQueueSend(_bleMidiTransport->mRxQueue, &buffer[lPtr], portMAX_DELAY);
xQueueSend(_bleMidiTransport->mRxQueue, &lastStatus, portMAX_DELAY);
} else if( rPtr - lPtr < 2 ) {
xQueueSend(_bleMidiTransport->mRxQueue, &buffer[lPtr], portMAX_DELAY);
xQueueSend(_bleMidiTransport->mRxQueue, &lastStatus, portMAX_DELAY);
xQueueSend(_bleMidiTransport->mRxQueue, &buffer[lPtr + 1], portMAX_DELAY);
} else if( rPtr - lPtr < 3 ) {
xQueueSend(_bleMidiTransport->mRxQueue, &buffer[lPtr], portMAX_DELAY);
xQueueSend(_bleMidiTransport->mRxQueue, &lastStatus, portMAX_DELAY);
xQueueSend(_bleMidiTransport->mRxQueue, &buffer[lPtr + 1], portMAX_DELAY);
xQueueSend(_bleMidiTransport->mRxQueue, &buffer[lPtr + 2], portMAX_DELAY);
} else {
@ -107,7 +107,7 @@ public:
case 0xE0:
for (auto i = lPtr; i < rPtr; i = i + 2)
{
xQueueSend(_bleMidiTransport->mRxQueue, &buffer[i], portMAX_DELAY);
xQueueSend(_bleMidiTransport->mRxQueue, &lastStatus, portMAX_DELAY);
xQueueSend(_bleMidiTransport->mRxQueue, &buffer[i + 1], portMAX_DELAY);
xQueueSend(_bleMidiTransport->mRxQueue, &buffer[i + 2], portMAX_DELAY);
}
@ -116,7 +116,7 @@ public:
case 0xD0:
for (auto i = lPtr; i < rPtr; i = i + 1)
{
xQueueSend(_bleMidiTransport->mRxQueue, &buffer[i], portMAX_DELAY);
xQueueSend(_bleMidiTransport->mRxQueue, &lastStatus, portMAX_DELAY);
xQueueSend(_bleMidiTransport->mRxQueue, &buffer[i + 1], portMAX_DELAY);
}
break;