Commit 2a28862d authored by Dean Camera's avatar Dean Camera
Browse files

Make MIDI device demos also turn off the on board LEDs if MIDI Note On...

Make MIDI device demos also turn off the on board LEDs if MIDI Note On messages are sent with a velocity of zero, which some devices use instead of Note Off messages (thanks to Robin Green).
parent f6de4db0
......@@ -72,7 +72,7 @@ int main(void)
MIDI_EventPacket_t ReceivedMIDIEvent;
if (MIDI_Device_ReceiveEventPacket(&Keyboard_MIDI_Interface, &ReceivedMIDIEvent))
{
if (ReceivedMIDIEvent.Command == (MIDI_COMMAND_NOTE_ON >> 4))
if ((ReceivedMIDIEvent.Command == (MIDI_COMMAND_NOTE_ON >> 4)) && (ReceivedMIDIEvent.Data3 > 0))
LEDs_SetAllLEDs(ReceivedMIDIEvent.Data2 > 64 ? LEDS_LED1 : LEDS_LED2);
else
LEDs_SetAllLEDs(LEDS_NO_LEDS);
......
......@@ -198,14 +198,15 @@ void MIDI_Task(void)
/* Read the MIDI event packet from the endpoint */
Endpoint_Read_Stream_LE(&MIDIEvent, sizeof(MIDIEvent));
if (MIDIEvent.Command == (MIDI_COMMAND_NOTE_ON >> 4))
/* Check to see if the sent command is a note on message with a non-zero velocity */
if ((MIDIEvent.Command == (MIDI_COMMAND_NOTE_ON >> 4)) && (MIDIEvent.Data3 > 0))
{
/* Change LEDs depending on the pitch of the sent note */
LEDs_SetAllLEDs(MIDIEvent.Data2 > 64 ? LEDS_LED1 : LEDS_LED2);
}
else
{
/* Turn off all LEDs in response to non-Note On messages */
/* Turn off all LEDs in response to non Note On messages */
LEDs_SetAllLEDs(LEDS_NO_LEDS);
}
......
......@@ -27,7 +27,9 @@
* - All Class Drivers now return false or the "DeviceDisconnected" error code of their respective error enums when a function
* is called when no host/device is connected where possible
* - The HOST_SENDCONTROL_DeviceDisconnect enum value has been renamed to HOST_SENDCONTROL_DeviceDisconnected to be in line
* with the rest of the library errorcodes.
* with the rest of the library errorcodes
* - Make MIDI device demos also turn off the on board LEDs if MIDI Note On messages are sent with a velocity of zero,
* which some devices use instead of Note Off messages (thanks to Robin Green)
*
* <b>Fixed:</b>
* - Added missing CDC_Host_CreateBlockingStream() function code to the CDC Host Class driver
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment