| 
   
    MIDI Control Surface library for Arduino 
   | 
 
 
 
 
Go to the documentation of this file.
   15     virtual uint8_t 
getValue(uint8_t index) 
const = 0;
 
   37         for (uint8_t i = 0; i < noteccval.
length(); ++i)
 
   44 template <
class MIDIInput_t, u
int8_t RangeLen, u
int8_t NumBanks, 
class Callback>
 
   51     uint8_t 
getValue(uint8_t index)
 const override {
 
   70         values[bankIndex][rangeIndex] = value;
 
   91         return target.
getAddress() - this->address.getAddress();
 
   98     constexpr 
static uint8_t 
length() { 
return RangeLen; }
 
  103 template <
class MIDIInput_t, uint8_t RangeLen,
 
  106     : 
public NoteCCRange<MIDIInput_t, RangeLen, 1, Callback> {
 
  116             target, this->address, RangeLen);
 
  127 template <u
int8_t RangeLen>
 
  141 template <u
int8_t RangeLen>
 
  162 template <
class MIDIInput_t, uint8_t RangeLen, uint8_t NumBanks,
 
  165     : 
public NoteCCRange<MIDIInput_t, RangeLen, NumBanks, Callback>,
 
  171         : 
NoteCCRange<MIDIInput_t, RangeLen, NumBanks, Callback>{
 
  181             target, this->address, RangeLen);
 
  200 template <u
int8_t RangeLen, u
int8_t NumBanks>
 
  209 template <u
int8_t NumBanks>
 
  216 template <u
int8_t NumBanks>
 
  219 template <u
int8_t RangeLen, u
int8_t NumBanks>
 
  228 template <u
int8_t NumBanks>
 
  
setting_t getSelection() const override
Get the active bank selection.
 
void begin(const INoteCCValue &)
 
A namespace for MIDI elements that can be added to a Bank, to change their address or channel.
 
CCValue(MIDICNChannelAddress address)
 
void reset() override
Reset all values to zero.
 
virtual uint8_t getSelection() const
Get the active bank selection.
 
NoteRange(MIDICNChannelAddress address)
 
GenericNoteCCRange(MIDICNChannelAddress address, const Callback &callback)
 
Array< Array< uint8_t, RangeLen >, NumBanks > values
 
#define BEGIN_CS_NAMESPACE
 
GenericNoteCCRange(BankConfig< NumBanks > config, MIDICNChannelAddress address, const Callback &callback)
 
Struct for easily matching MIDI messages.
 
void update(const INoteCCValue &, uint8_t)
 
static uint8_t getValueFromMIDIMessage(const ChannelMessageMatcher &midimsg)
 
NoteCCRange(MIDICNChannelAddress address, const Callback &callback)
 
virtual void update(const INoteCCValue &, uint8_t)=0
 
void onBankSettingChange() override
A function to be executed each time the bank setting changes.
 
MIDI Input Element that listens to a range of notes.
 
INoteCCValue(uint8_t rangeLength)
 
CCRange(BankConfig< NumBanks > config, MIDICNChannelAddress address)
 
void begin() override
Initialize.
 
virtual uint8_t getRangeIndex(MIDICNChannelAddress target) const
 
A type-safe utility class for saving a MIDI address consisting of a 7-bit address,...
 
An array wrapper for easy copying, comparing, and iterating.
 
NoteValue(BankConfig< NumBanks > config, MIDICNChannelAddress address)
 
bool match(const MIDICNChannelAddress &target) const override
Check if the address of the incoming MIDI message is within the range of addresses of this element.
 
bool updateImpl(const ChannelMessageMatcher &midimsg, const MIDICNChannelAddress &target) override
 
CCValue(BankConfig< NumBanks > config, MIDICNChannelAddress address)
 
constexpr uint8_t getAddress() const
Get the address [0, 127].
 
virtual setting_t getBankIndex(MIDICNChannelAddress target) const
Get the bank index from a MIDI address.
 
void updateAll(const INoteCCValue &)
 
CCRange(MIDICNChannelAddress address)
 
uint8_t setting_t
The type used for Selectors.
 
NoteValue(MIDICNChannelAddress address)
 
NoteRange(BankConfig< NumBanks > config, MIDICNChannelAddress address)
 
uint8_t getRangeIndex(MIDICNChannelAddress target) const override
 
A struct for selecting the bank of BankableMIDIInputs and the bank type.
 
virtual void begin(const INoteCCValue &)
 
uint8_t getBankIndex(MIDICNChannelAddress target) const override
Get the bank index from a MIDI address.
 
uint8_t getValue(uint8_t index) const override
 
constexpr static uint8_t length()
 
SimpleNoteCCValueCallback()=default
 
static bool matchAddressInRange(const MIDICNChannelAddress &toMatch, const MIDICNChannelAddress &base, uint8_t length)
Check if an address falls within a range of addresses, starting with address base,...
 
bool match(const MIDICNChannelAddress &target) const override
Check if the address of the incoming MIDI message is within the range of addresses and in one of the ...
 
virtual void updateAll(const INoteCCValue ¬eccval)