158 template <u
int8_t NumBanks>
BankType
An enumeration of the different bank types.
@ ChangeAddress
Change the offset of the address (i.e.
@ ChangeCable
Change the offset of the cable number of the element.
@ ChangeChannel
Change the offset of the channel number of the element.
constexpr setting_t NoSetting
A special setting that indicates an unused or invalid setting.
uint8_t setting_t
The type used for Selectors.
#define BEGIN_CS_NAMESPACE
A struct for selecting the bank of BankableMIDIOutputs and the bank type.
A base class for all MIDIOutputElements that can have one of many addresses.
ManyAddresses_Base(const Bank< NumBanks > &bank)
Constructor.
A class for changing the address of BankableMIDIOutputs.
Class for keeping track of the active bank, and allows locking of the bank setting.
setting_t getSelection() const
Get the bank setting.
OutputBankableMIDIAddress_Base(const OutputBank &bank)
Constructor.
setting_t getRawBankSetting() const
Get the actual bank setting (no matter whether the element is locked or not).
void unlock()
Unlock the bank setting.
void lock()
Lock the bank setting.
static constexpr setting_t Unlocked
A base class for all MIDIOutputElements that can be banked.
OutputBankableMIDIAddress(const OutputBank &bank, BankType type)
Create a new OutputBankableMIDIAddress object.
RelativeMIDIAddress getAddressOffset() const
Get the offset relative to the base address.
OutputBankableMIDIAddress(BaseOutputBankConfig config)
Create a new OutputBankableMIDIAddress object.
RelativeMIDIAddress getAddressOffset(setting_t bankindex) const
Get the offset relative to the base address.
A class for saving an offset to a MIDI address.
An array wrapper for easy copying, comparing, and iterating.