4#include <Settings/SettingsWrapper.hpp>
84 switch (
msg.getNumberOfDataBytes()) {
86 send(
cn, CIN::SystemCommon3B,
msg.header,
msg.data1,
msg.data2);
89 send(
cn, CIN::SystemCommon2B,
msg.header,
msg.data1, 0);
92 send(
cn, CIN::SystemCommon1B,
msg.header, 0, 0);
100 send(
msg.cable, CIN::SingleByte,
msg.message, 0, 0);
111 send(
cn, CIN::SysExStartCont, data[0], data[1], data[2]);
116 case 3: send(
cn, CIN::SysExEnd3B, data[0], data[1], data[2]);
break;
117 case 2: send(
cn, CIN::SysExEnd2B, data[0], data[1], 0);
break;
118 case 1: send(
cn, CIN::SysExEnd1B, data[0], 0, 0);
break;
128 send(cable, CIN::SysExStartCont, data[0], data[1], data[2]);
145 case 3: send(
cn, CIN::SysExEnd3B, data[0], data[1], data[2]);
break;
146 case 2: send(
cn, CIN::SysExEnd2B, data[0], data[1], 0);
break;
147 case 1: send(
cn, CIN::SysExEnd1B, data[0], 0, 0);
break;
165 if (
msg.isFirstChunk()) {
180 if (
msg.isLastChunk()) {
203 if (
msg.isLastChunk()) {
209 else if (length == 3) {
MIDICodeIndexNumber
MIDI USB Code Index Numbers.
#define BEGIN_CS_NAMESPACE
A type-safe class for MIDI USB Cable numbers.
constexpr uint8_t getRaw() const
Get the cable as an integer.
A class for sending MIDI USB messages.
void sendChannelMessage(ChannelMessage, Send &&send)
Send a MIDI Channel message using the given sender.
void sendSysEx(SysExMessage, Send &&send)
Send a MIDI System Exclusive message using the given sender.
void sendSysExEnd(const uint8_t *data, uint16_t length, Cable cable, Send &send)
Send a SysExEnd USB packet.
void sendFullSysEx(SysExMessage, Send &&send)
Send a MIDI System Exclusive message using the given sender.
void sendSysExStartCont1(const uint8_t *data, Cable cable, Send &send)
Send a single SysEx starts or continues USB packet.
void sendSysCommonMessage(SysCommonMessage, Send &&send)
Send a MIDI System Common message using the given sender.
void sendSysExStartCont(const uint8_t *&data, uint16_t &length, Cable cable, Send &send)
Send as many SysEx starts or continues USB packets, such that the remaining length is 3,...
uint8_t storedSysExLength[16]
Number of remaining SysEx bytes stored.
void sendRealTimeMessage(RealTimeMessage, Send &&send)
Send a MIDI Real-Time message using the given sender.
uint8_t storedSysExData[16][3]
Stores remainder of outgoing SysEx chunks.
An array wrapper for easy copying, comparing, and iterating.
static constexpr size_t length