Control Surface  1.1.1
MIDI Control Surface library for Arduino
Public Member Functions | Protected Attributes | Private Attributes | Static Private Attributes | List of all members
MatrixAddress< nb_rows, nb_cols > Class Template Reference

#include <Banks/BankAddresses.hpp>

Inheritance diagram for MatrixAddress< nb_rows, nb_cols >:
Collaboration diagram for MatrixAddress< nb_rows, nb_cols >:

Public Member Functions

 MatrixAddress (OutputBankConfig config, const AddressMatrix< nb_rows, nb_cols > &addresses, MIDICNChannel channelCN)
 
uint8_t getBaseAddress (uint8_t row, uint8_t col) const
 
MIDICNChannelAddress getActiveAddress (uint8_t row, uint8_t col) const
 
RelativeMIDICNChannelAddress getAddressOffset () const
 Get the offset relative to the base address. More...
 
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

AddressMatrix< nb_rows, nb_cols > addresses
 
MIDICNChannel channelCN
 
const BankType type
 
setting_t lockedSetting = UNLOCKED
 

Static Private Attributes

constexpr static setting_t UNLOCKED = NO_SETTING
 

Detailed Description

template<uint8_t nb_rows, uint8_t nb_cols>
class Bankable::MatrixAddress< nb_rows, nb_cols >

Definition at line 43 of file BankAddresses.hpp.

Constructor & Destructor Documentation

◆ MatrixAddress()

MatrixAddress ( OutputBankConfig  config,
const AddressMatrix< nb_rows, nb_cols > &  addresses,
MIDICNChannel  channelCN 
)
inline

Definition at line 45 of file BankAddresses.hpp.

Member Function Documentation

◆ getBaseAddress()

uint8_t getBaseAddress ( uint8_t  row,
uint8_t  col 
) const
inline

Definition at line 51 of file BankAddresses.hpp.

◆ getActiveAddress()

MIDICNChannelAddress getActiveAddress ( uint8_t  row,
uint8_t  col 
) const
inline

Definition at line 55 of file BankAddresses.hpp.

◆ getAddressOffset()

RelativeMIDICNChannelAddress getAddressOffset ( ) const
inlineinherited

Get the offset relative to the base address.

Definition at line 111 of file BankableMIDIOutput.hpp.

◆ getRawBankSetting()

setting_t getRawBankSetting ( ) const
inlineinherited

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

Definition at line 26 of file BankableMIDIOutput.hpp.

◆ getSelection()

setting_t getSelection ( ) const
inlineinherited

Get the bank setting.

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

Definition at line 34 of file BankableMIDIOutput.hpp.

◆ lock()

void lock ( )
inlineinherited

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 44 of file BankableMIDIOutput.hpp.

◆ unlock()

void unlock ( )
inlineinherited

Unlock the bank setting.

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

Definition at line 55 of file BankableMIDIOutput.hpp.

Member Data Documentation

◆ addresses

AddressMatrix<nb_rows, nb_cols> addresses
private

Definition at line 61 of file BankAddresses.hpp.

◆ channelCN

MIDICNChannel channelCN
private

Definition at line 62 of file BankAddresses.hpp.

◆ type

const BankType type
privateinherited

Definition at line 122 of file BankableMIDIOutput.hpp.

◆ bank

const OutputBank& bank
protectedinherited

Definition at line 58 of file BankableMIDIOutput.hpp.

◆ UNLOCKED

constexpr static setting_t UNLOCKED = NO_SETTING
staticconstexprprivateinherited

Definition at line 61 of file BankableMIDIOutput.hpp.

◆ lockedSetting

setting_t lockedSetting = UNLOCKED
privateinherited

Definition at line 62 of file BankableMIDIOutput.hpp.


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