|
|
@@ -215,7 +215,7 @@ class usb_midi_class |
|
|
|
send(0xF2, beats, beats >> 7, 0, cable); |
|
|
|
}; |
|
|
|
void sendSongSelect(uint8_t song, uint8_t cable=0) __attribute__((always_inline)) { |
|
|
|
send(0xF4, song, 0, 0, cable); |
|
|
|
send(0xF3, song, 0, 0, cable); |
|
|
|
}; |
|
|
|
void sendTuneRequest(uint8_t cable=0) __attribute__((always_inline)) { |
|
|
|
send(0xF6, 0, 0, 0, cable); |
|
|
@@ -272,9 +272,15 @@ class usb_midi_class |
|
|
|
usb_midi_write_packed((type << 8) | (type >> 4) | ((cable & 0x0F) << 4) |
|
|
|
| (((channel - 1) & 0x0F) << 8) | ((data1 & 0x7F) << 16) |
|
|
|
| ((data2 & 0x7F) << 24)); |
|
|
|
} else { |
|
|
|
} else if (type >= 0xF8 || type == 0xF6) { |
|
|
|
usb_midi_write_packed((type << 8) | 0x0F | ((cable & 0x0F) << 4) |
|
|
|
| ((data1 & 0x7F) << 16) | ((data2 & 0x7F) << 24)); |
|
|
|
} else if (type == 0xF1 || type == 0xF3) { |
|
|
|
usb_midi_write_packed((type << 8) | 0x02 | ((cable & 0x0F) << 4) |
|
|
|
| ((data1 & 0x7F) << 16)); |
|
|
|
} else if (type == 0xF2) { |
|
|
|
usb_midi_write_packed((type << 8) | 0x03 | ((cable & 0x0F) << 4) |
|
|
|
| ((data1 & 0x7F) << 16) | ((data2 & 0x7F) << 24)); |
|
|
|
} |
|
|
|
}; |
|
|
|
void send_now(void) __attribute__((always_inline)) { |