Browse Source

Fix USB MIDI sendSongPosition, sendSongSelect, sendTimeCodeQuarterFrame

teensy4-core
PaulStoffregen 7 years ago
parent
commit
ac79353950
1 changed files with 8 additions and 2 deletions
  1. +8
    -2
      teensy3/usb_midi.h

+ 8
- 2
teensy3/usb_midi.h View File

@@ -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)) {

Loading…
Cancel
Save