aboutsummaryrefslogtreecommitdiffstats
path: root/Demos/Device/ClassDriver/MIDI/MIDI.c
diff options
context:
space:
mode:
Diffstat (limited to 'Demos/Device/ClassDriver/MIDI/MIDI.c')
-rw-r--r--Demos/Device/ClassDriver/MIDI/MIDI.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/Demos/Device/ClassDriver/MIDI/MIDI.c b/Demos/Device/ClassDriver/MIDI/MIDI.c
index f1a0d9afc..d50a254a2 100644
--- a/Demos/Device/ClassDriver/MIDI/MIDI.c
+++ b/Demos/Device/ClassDriver/MIDI/MIDI.c
@@ -67,9 +67,14 @@ int main(void)
{
CheckJoystickMovement();
- /* Must acknowedge MIDI packets from the host even though they aren't used, or the host locks up */
- MIDI_EventPacket_t DummyMIDIEvent;
- MIDI_Device_ReceiveEventPacket(&Keyboard_MIDI_Interface, &DummyMIDIEvent);
+ MIDI_EventPacket_t ReceivedMIDIEvent;
+ if (MIDI_Device_ReceiveEventPacket(&Keyboard_MIDI_Interface, &ReceivedMIDIEvent))
+ {
+ if (ReceivedMIDIEvent.Command == (MIDI_COMMAND_NOTE_ON >> 4))
+ LEDs_SetAllLEDs(ReceivedMIDIEvent.Data2 > 64 ? LEDS_LED1 : LEDS_LED2);
+ else
+ LEDs_SetAllLEDs(LEDS_NO_LEDS);
+ }
MIDI_Device_USBTask(&Keyboard_MIDI_Interface);
USB_USBTask();