Control Surface  1.1.0
MIDI Control Surface library for Arduino
Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
NoteCCRange< MIDIInput_t, RangeLen, NumBanks, Callback > Class Template Reference

#include <NoteCCRange.hpp>

Inheritance diagram for NoteCCRange< MIDIInput_t, RangeLen, NumBanks, Callback >:
Collaboration diagram for NoteCCRange< MIDIInput_t, RangeLen, NumBanks, Callback >:

Public Member Functions

 NoteCCRange (MIDICNChannelAddress address, const Callback &callback)
 
uint8_t getValue (uint8_t index) const override
 
void begin () override
 Initialize. More...
 
void reset () override
 Reset all values to zero. More...
 
virtual uint8_t getValue (uint8_t index) const=0
 
uint8_t getValue () const
 
uint8_t length () const
 
uint8_t getValue () const
 

Static Public Member Functions

constexpr static uint8_t length ()
 

Public Attributes

Callback callback
 

Private Member Functions

bool updateImpl (const ChannelMessageMatcher &midimsg, const MIDICNChannelAddress &target) override
 
virtual uint8_t getSelection () const
 Get the active bank selection. More...
 
virtual setting_t getBankIndex (MIDICNChannelAddress target) const
 Get the bank index from a MIDI address. More...
 
virtual uint8_t getRangeIndex (MIDICNChannelAddress target) const
 

Static Private Member Functions

static uint8_t getValueFromMIDIMessage (const ChannelMessageMatcher &midimsg)
 

Private Attributes

Array< Array< uint8_t, RangeLen >, NumBanks > values = {{}}
 
uint8_t rangeLength
 

Detailed Description

template<class MIDIInput_t, uint8_t RangeLen, uint8_t NumBanks, class Callback>
class NoteCCRange< MIDIInput_t, RangeLen, NumBanks, Callback >

Definition at line 45 of file NoteCCRange.hpp.

Constructor & Destructor Documentation

◆ NoteCCRange()

template<class MIDIInput_t, uint8_t RangeLen, uint8_t NumBanks, class Callback>
NoteCCRange< MIDIInput_t, RangeLen, NumBanks, Callback >::NoteCCRange ( MIDICNChannelAddress  address,
const Callback &  callback 
)
inline

Definition at line 47 of file NoteCCRange.hpp.

Member Function Documentation

◆ getValue() [1/4]

template<class MIDIInput_t, uint8_t RangeLen, uint8_t NumBanks, class Callback>
uint8_t NoteCCRange< MIDIInput_t, RangeLen, NumBanks, Callback >::getValue ( uint8_t  index) const
inlineoverridevirtual
Todo:
check index bounds

Implements INoteCCValue.

Definition at line 51 of file NoteCCRange.hpp.

◆ begin()

template<class MIDIInput_t, uint8_t RangeLen, uint8_t NumBanks, class Callback>
void NoteCCRange< MIDIInput_t, RangeLen, NumBanks, Callback >::begin ( )
inlineoverride

Initialize.

Definition at line 57 of file NoteCCRange.hpp.

◆ reset()

template<class MIDIInput_t, uint8_t RangeLen, uint8_t NumBanks, class Callback>
void NoteCCRange< MIDIInput_t, RangeLen, NumBanks, Callback >::reset ( )
inlineoverride

Reset all values to zero.

Definition at line 59 of file NoteCCRange.hpp.

◆ updateImpl()

template<class MIDIInput_t, uint8_t RangeLen, uint8_t NumBanks, class Callback>
bool NoteCCRange< MIDIInput_t, RangeLen, NumBanks, Callback >::updateImpl ( const ChannelMessageMatcher midimsg,
const MIDICNChannelAddress target 
)
inlineoverrideprivate

Definition at line 65 of file NoteCCRange.hpp.

◆ getValueFromMIDIMessage()

template<class MIDIInput_t, uint8_t RangeLen, uint8_t NumBanks, class Callback>
static uint8_t NoteCCRange< MIDIInput_t, RangeLen, NumBanks, Callback >::getValueFromMIDIMessage ( const ChannelMessageMatcher midimsg)
inlinestaticprivate

Definition at line 77 of file NoteCCRange.hpp.

◆ getSelection()

template<class MIDIInput_t, uint8_t RangeLen, uint8_t NumBanks, class Callback>
virtual uint8_t NoteCCRange< MIDIInput_t, RangeLen, NumBanks, Callback >::getSelection ( ) const
inlineprivatevirtual

◆ getBankIndex()

template<class MIDIInput_t, uint8_t RangeLen, uint8_t NumBanks, class Callback>
virtual setting_t NoteCCRange< MIDIInput_t, RangeLen, NumBanks, Callback >::getBankIndex ( MIDICNChannelAddress  target) const
inlineprivatevirtual

◆ getRangeIndex()

template<class MIDIInput_t, uint8_t RangeLen, uint8_t NumBanks, class Callback>
virtual uint8_t NoteCCRange< MIDIInput_t, RangeLen, NumBanks, Callback >::getRangeIndex ( MIDICNChannelAddress  target) const
inlineprivatevirtual

◆ length() [1/2]

template<class MIDIInput_t, uint8_t RangeLen, uint8_t NumBanks, class Callback>
constexpr static uint8_t NoteCCRange< MIDIInput_t, RangeLen, NumBanks, Callback >::length ( )
inlinestaticconstexpr

Definition at line 98 of file NoteCCRange.hpp.

◆ getValue() [2/4]

template<class MIDIInput_t, uint8_t RangeLen, uint8_t NumBanks, class Callback>
virtual uint8_t INoteCCValue::getValue

◆ getValue() [3/4]

template<class MIDIInput_t, uint8_t RangeLen, uint8_t NumBanks, class Callback>
uint8_t INoteCCValue::getValue
inline

Definition at line 16 of file NoteCCRange.hpp.

◆ length() [2/2]

uint8_t INoteCCValue::length ( ) const
inlineinherited

Definition at line 14 of file NoteCCRange.hpp.

◆ getValue() [4/4]

uint8_t INoteCCValue::getValue ( ) const
inlineinherited

Definition at line 16 of file NoteCCRange.hpp.

Member Data Documentation

◆ values

template<class MIDIInput_t, uint8_t RangeLen, uint8_t NumBanks, class Callback>
Array<Array<uint8_t, RangeLen>, NumBanks> NoteCCRange< MIDIInput_t, RangeLen, NumBanks, Callback >::values = {{}}
private

Definition at line 94 of file NoteCCRange.hpp.

◆ callback

template<class MIDIInput_t, uint8_t RangeLen, uint8_t NumBanks, class Callback>
Callback NoteCCRange< MIDIInput_t, RangeLen, NumBanks, Callback >::callback

Definition at line 97 of file NoteCCRange.hpp.

◆ rangeLength

uint8_t INoteCCValue::rangeLength
privateinherited

Definition at line 19 of file NoteCCRange.hpp.


The documentation for this class was generated from the following file: