1.4 KiB
1.4 KiB
MIDI Input Elements
Original: MIDI input elements
Input elements receive MIDI messages and update stored values or drive hardware outputs.
Value readers
| Class | Description |
|---|---|
NoteValue |
Incoming Note velocity (8-bit) |
CCValue |
Incoming CC value (8-bit) |
KPValue |
Incoming Key Pressure (8-bit) |
PBValue |
Incoming Pitch Bend (14-bit) |
CCValue vol {{MIDI_CC::Channel_Volume, Channel_1}};
// In loop: uint8_t v = vol.getValue();
Range readers
| Class | Description |
|---|---|
NoteRange<N> |
Array of N consecutive note values |
CCRange<N> |
Array of N consecutive CC values |
KPRange<N> |
Array of N consecutive key pressure values |
CCRange<8> faders {{16, Channel_1}};
// faders.getValue(0) through faders.getValue(7)
LED outputs
| Class | Description |
|---|---|
NoteLED |
GPIO high on Note On, low on Note Off |
CCLED |
GPIO high when CC > 63 |
KPLED |
GPIO high when Key Pressure > 63 |
NoteLED led {25, {MIDI_Notes::C[4], Channel_1}};
Bankable variants
All input elements have bankable versions under Bankable:::
Bank<4> bank(2);
Bankable::CCValue<4> bankCC {{bank, BankType::ChangeAddress}, {16, Channel_1}};
See Banks and Selectors for details.