19template <MIDIMessageType Type, u
int8_t RangeLen>
76template <u
int8_t RangeLen>
82template <u
int8_t RangeLen>
88template <u
int8_t RangeLen>
108template <MIDIMessageType Type, u
int8_t BankSize, u
int8_t RangeLen>
110 Type, BankableTwoByteRangeMIDIMatcher<BankSize>> {
120 {config, address, RangeLen}) {}
144 uint8_t
getValue(uint8_t bank, uint8_t index)
const {
145 return values[bank][index];
180template <u
int8_t BankSize, u
int8_t RangeLen>
187template <u
int8_t BankSize, u
int8_t RangeLen>
194template <u
int8_t BankSize, u
int8_t RangeLen>
#define BEGIN_CS_NAMESPACE
A class for serial-in/parallel-out shift registers, like the 74HC595 that are connected to the SPI bu...
Generic base class for classes that listen for MIDI Note, Control Change and Key Pressure events on a...
uint8_t getValue(uint8_t bank, uint8_t index) const
Get the most recent MIDI value that was received for the given bank.
uint8_t getValue(uint8_t index) const
Get the most recent MIDI value that was received for the active bank.
bool getDirty() const
Check if the value was updated since the last time the dirty flag was cleared.
void onBankSettingChange() override
A function to be executed each time the bank setting changes.
AH::Array2D< uint8_t, BankSize, RangeLen > values
bool handleUpdateImpl(typename Matcher::Result match)
void handleUpdate(typename Matcher::Result match) override
NoteCCKPRange(BankConfig< BankSize > config, MIDIAddress address)
void reset() override
Reset all values to zero.
void clearDirty()
Clear the dirty flag.
A type-safe utility class for saving a MIDI address consisting of a 7-bit address,...
Generic base class for classes that listen for MIDI Note, Control Change and Key Pressure events on a...
uint8_t getValue(uint8_t index) const
Get the most recent MIDI value that was received for the given index in the range.
NoteCCKPRange(MIDIAddress address)
bool getDirty() const
Check if the value was updated since the last time the dirty flag was cleared.
bool handleUpdateImpl(typename Matcher::Result match)
void handleUpdate(typename Matcher::Result match) override
void reset() override
Reset all values to zero.
void clearDirty()
Clear the dirty flag.
AH::Array< uint8_t, RangeLen > values
A namespace for MIDI elements that can be added to a Bank, to change their address or channel.
Matcher for MIDI messages with 2 data bytes, such as Note On/Off, Control Change, Key Pressure.
Matcher for MIDI messages with 2 data bytes, such as Note On/Off, Control Change, Key Pressure (but n...