9template <setting_t N,
class Callback = EmptySelectorCallback>
34 DEBUGFN(F(
"Warning: Received Program Change to program 0x")
36 << F(
", which is not smaller than the number of settings (")
#define BEGIN_CS_NAMESPACE
MatchingMIDIInputElement< MIDIMessageType::ProgramChange, Matcher > Parent
GenericProgramChangeSelector(Selectable< N > &selectable, const Callback &callback, MIDIChannelCable address)
void begin() override
Initialize this updatable.
void handleUpdate(typename Matcher::Result match) override
void reset() override
Reset the input element to its initial state.
void set(setting_t newSetting)
Select the given selection.
Selectable< N > & selectable
void begin() override
Initialize this updatable.
void reset()
Reset the selection to the initial selection.
A class for saving a MIDI channel and cable number.
Selector that listens for MIDI Program Change events on a given MIDI Channel, and uses the program nu...
ProgramChangeSelector(Selectable< N > &selectable, MIDIChannelCable address)
#define DEBUGFN(x)
Print an expression and its function (function name and line number) to the debug output if debugging...
An array wrapper for easy copying, comparing, and iterating.
Matcher for MIDI messages with 1 data byte, such as Channel Pressure and Program Change.