Control Surface main
MIDI Control Surface library for Arduino
Public Member Functions | Protected Attributes | Private Attributes | Static Private Attributes | List of all members
ManyMatrixAddresses< NumBanks, NumRows, NumCols > Class Template Reference

#include <Banks/BankAddresses.hpp>

Detailed Description

template<uint8_t NumBanks, uint8_t NumRows, uint8_t NumCols>
class Bankable::ManyAddresses::ManyMatrixAddresses< NumBanks, NumRows, NumCols >

Definition at line 147 of file BankAddresses.hpp.

+ Inheritance diagram for ManyMatrixAddresses< NumBanks, NumRows, NumCols >:
+ Collaboration diagram for ManyMatrixAddresses< NumBanks, NumRows, NumCols >:

Public Member Functions

 ManyMatrixAddresses (const Bank< NumBanks > &bank, const Array< AddressMatrix< NumRows, NumCols >, NumBanks > &addresses, const Array< MIDIChannelCable, NumBanks > &channelCNs)
MIDIAddress getActiveAddress (uint8_t row, uint8_t col) const
setting_t getRawBankSetting () const
 Get the actual bank setting (no matter whether the element is locked or not). More...
setting_t getSelection () const
 Get the bank setting. More...
void lock ()
 Lock the bank setting. More...
void unlock ()
 Unlock the bank setting. More...

Protected Attributes

const OutputBankbank

Private Attributes

Array< AddressMatrix< NumRows, NumCols >, NumBanks > addresses
Array< MIDIChannelCable, NumBanks > channelCNs
setting_t lockedSetting = UNLOCKED

Static Private Attributes

static constexpr setting_t UNLOCKED = NO_SETTING

Constructor & Destructor Documentation

◆ ManyMatrixAddresses()

ManyMatrixAddresses ( const Bank< NumBanks > &  bank,
const Array< AddressMatrix< NumRows, NumCols >, NumBanks > &  addresses,
const Array< MIDIChannelCable, NumBanks > &  channelCNs 

Definition at line 149 of file BankAddresses.hpp.

Member Function Documentation

◆ getActiveAddress()

MIDIAddress getActiveAddress ( uint8_t  row,
uint8_t  col 
) const

Definition at line 156 of file BankAddresses.hpp.

◆ getRawBankSetting()

setting_t getRawBankSetting ( ) const

Get the actual bank setting (no matter whether the element is locked or not).

Definition at line 30 of file BankableAddresses.hpp.

◆ getSelection()

setting_t getSelection ( ) const

Get the bank setting.

If the element is locked, the bank setting from the moment it was locked is returned.

Definition at line 38 of file BankableAddresses.hpp.

◆ lock()

void lock ( )

Lock the bank setting.

As long as it's locked, getSelection will return the current setting, independent from the actual bank setting.

Definition at line 48 of file BankableAddresses.hpp.

◆ unlock()

void unlock ( )

Unlock the bank setting.

After unlocking, getSelection will return the actual bank setting again.

Definition at line 59 of file BankableAddresses.hpp.

Member Data Documentation

◆ addresses

Array<AddressMatrix<NumRows, NumCols>, NumBanks> addresses

Definition at line 162 of file BankAddresses.hpp.

◆ channelCNs

Array<MIDIChannelCable, NumBanks> channelCNs

Definition at line 163 of file BankAddresses.hpp.

◆ bank

const OutputBank& bank

Definition at line 62 of file BankableAddresses.hpp.


constexpr setting_t UNLOCKED = NO_SETTING

Definition at line 65 of file BankableAddresses.hpp.

◆ lockedSetting

setting_t lockedSetting = UNLOCKED

Definition at line 66 of file BankableAddresses.hpp.

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