63 return static_cast<int16_t
>((
static_cast<uint16_t
>(
data2) << 7) |
data1) - 8192;
68 return (
static_cast<uint16_t
>(
data2) << 7) |
data1;
80 out[0] = 0x90 | (
channel & 0x0F);
81 out[1] =
data1 & 0x7F;
82 out[2] =
data2 & 0x7F;
85 out[0] = 0x80 | (
channel & 0x0F);
86 out[1] =
data1 & 0x7F;
87 out[2] =
data2 & 0x7F;
90 out[0] = 0xB0 | (
channel & 0x0F);
91 out[1] =
data1 & 0x7F;
92 out[2] =
data2 & 0x7F;
95 out[0] = 0xE0 | (
channel & 0x0F);
96 out[1] =
data1 & 0x7F;
97 out[2] =
data2 & 0x7F;
100 out[0] = 0xA0 | (
channel & 0x0F);
101 out[1] =
data1 & 0x7F;
102 out[2] =
data2 & 0x7F;
107 out[0] = 0xC0 | (
channel & 0x0F);
108 out[1] =
data1 & 0x7F;
111 out[0] = 0xD0 | (
channel & 0x0F);
112 out[1] =
data1 & 0x7F;
126 out[1] =
data1 & 0x7F;
127 out[2] =
data2 & 0x7F;
131 out[1] =
data1 & 0x7F;
148 switch (status & 0xF0) {
uint8_t expected_data_bytes(uint8_t status)
Number of data bytes expected for a channel message status byte.
void(*)(const MidiEvent &event) MidiCallback
Callback type for parsed MIDI events.
uint8_t cc_value() const
CC value (alias for data2)
int16_t pitch_bend_value() const
14-bit pitch bend value, centered at 8192
uint8_t cc_number() const
CC number (alias for data1)
uint8_t data2
Velocity, CC value, etc.
uint16_t pitch_bend_raw() const
Raw 14-bit pitch bend (0-16383)
uint8_t note() const
Note number (alias for data1)
uint8_t channel
0-15 for channel messages, 0 for system
uint8_t to_bytes(uint8_t *out) const
Encode this event as raw MIDI bytes.
uint8_t data1
Note number, CC number, program, etc.
uint8_t velocity() const
Velocity (alias for data2)