Skip to content

Commit afffa6b

Browse files
committed
Add Tx ControlChange factory method
1 parent 3a92c12 commit afffa6b

2 files changed

Lines changed: 14 additions & 0 deletions

File tree

src/hid/midi_util.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,19 @@ MidiTxMessage MidiTxMessage::NoteOff(uint8_t ch, uint8_t nn, uint8_t vel)
3636
return msg;
3737
}
3838

39+
MidiTxMessage MidiTxMessage::ControlChange(uint8_t ch, uint8_t ctl, uint8_t val)
40+
{
41+
MidiTxMessage msg;
42+
msg.size = 3;
43+
// status byte
44+
msg.data[0] = 0xB0 | (ch & 0x0F);
45+
// note num
46+
msg.data[1] = ctl & 0x7F;
47+
// velocity
48+
msg.data[2] = val & 0x7F;
49+
return msg;
50+
}
51+
3952
MidiTxMessage MidiTxMessage::PitchBend(uint8_t ch, int16_t bend)
4053
{
4154
MidiTxMessage msg;

src/hid/midi_util.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ struct MidiTxMessage
1919

2020
static MidiTxMessage NoteOn(uint8_t ch, uint8_t nn, uint8_t vel);
2121
static MidiTxMessage NoteOff(uint8_t ch, uint8_t nn, uint8_t vel);
22+
static MidiTxMessage ControlChange(uint8_t ch, uint8_t ctl, uint8_t val);
2223
static MidiTxMessage PitchBend(uint8_t ch, int16_t bend);
2324
static MidiTxMessage SystemRealtimeClock();
2425
static MidiTxMessage SystemRealtimeStart();

0 commit comments

Comments
 (0)