summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2014-11-03 18:44:28 +0100
committerChristian Pointner <equinox@spreadspace.org>2015-02-24 19:02:39 +0100
commitad68475348a6fd7b716bb22bddf793fc75401db6 (patch)
tree1549baf75fffffd86e17b30aac91b87a6d7a25a7
parentdos2unix (diff)
implemented midi command for reset2bootloader
-rw-r--r--dolmetsch-ctl/dolmetsch-ctl.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/dolmetsch-ctl/dolmetsch-ctl.c b/dolmetsch-ctl/dolmetsch-ctl.c
index bb56350..afc74b2 100644
--- a/dolmetsch-ctl/dolmetsch-ctl.c
+++ b/dolmetsch-ctl/dolmetsch-ctl.c
@@ -76,6 +76,7 @@ void EVENT_USB_Device_ControlRequest(void)
#include "eventqueue.h"
#define MIDI_COMMAND_CONTROL_CHANGE 0xB0
+#define MIDI_COMMAND_PROGRAM_CHANGE 0xC0
static void process_incoming_midi(void)
{
@@ -84,6 +85,12 @@ static void process_incoming_midi(void)
uint8_t cmd = ReceivedMIDIEvent.Data1 & 0xF0;
uint8_t note = ReceivedMIDIEvent.Data2;
uint8_t value = ReceivedMIDIEvent.Data3 & 0x7F;
+ if(cmd == MIDI_COMMAND_PROGRAM_CHANGE) {
+ switch(note) {
+ case 127: reset2bootloader();
+ }
+ continue;
+ }
if((note >= KEYPAD_MIDI_NOTE_OFFSET && note < KEYPAD_MIDI_NOTE_OFFSET + KEYPAD_NUM_KEYS) || // KEYPAD
note == KEYPAD_MIDI_NOTE_ALL) {
if(cmd == MIDI_COMMAND_CONTROL_CHANGE) {