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 OutputBank & bank
 

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: