This is an old version of the documentation. View the latest version here.
Control Surface  1.0.0
MIDI Control Surface library for Arduino
Bankable/NoteButtonMatrix.hpp
Go to the documentation of this file.
1 #pragma once
2 
6 
8 
9 namespace Bankable {
10 
28 template <uint8_t nb_rows, uint8_t nb_cols>
30  : public MIDIButtonMatrix<MatrixAddress<nb_rows, nb_cols>,
31  DigitalNoteSender, nb_rows, nb_cols> {
32  public:
62  MIDICNChannel channelCN = {CHANNEL_1, 0},
63  uint8_t velocity = 0x7F)
65  nb_rows, nb_cols>{
66  {config, notes, channelCN},
67  rowPins,
68  colPins,
69  {velocity},
70  } {}
71 
73  void setVelocity(uint8_t velocity) { this->sender.setVelocity(velocity); }
75  uint8_t getVelocity() const { return this->sender.getVelocity(); }
76 };
77 
78 } // namespace Bankable
79 
Bankable
A namespace for MIDI elements that can be added to a Bank, to change their address or channel.
Definition: BankAddresses.hpp:7
Bankable::NoteButtonMatrix::NoteButtonMatrix
NoteButtonMatrix(const OutputBankConfig &config, const PinList< nb_rows > &rowPins, const PinList< nb_cols > &colPins, const AddressMatrix< nb_rows, nb_cols > &notes, MIDICNChannel channelCN={CHANNEL_1, 0}, uint8_t velocity=0x7F)
Create a new Bankable NoteButtonMatrix object with the given pins, note numbers and channel.
Definition: Bankable/NoteButtonMatrix.hpp:58
Array< pin_t, N >
BankAddresses.hpp
MIDIButtonMatrix.hpp
BEGIN_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
Definition: NamespaceSettings.hpp:9
MIDICNChannel
A class for saving a MIDI channel and cable number.
Definition: MIDICNChannelAddress.hpp:19
END_CS_NAMESPACE
#define END_CS_NAMESPACE
Definition: NamespaceSettings.hpp:10
DigitalNoteSender::getVelocity
uint8_t getVelocity() const
Definition: DigitalNoteSender.hpp:18
Bankable::NoteButtonMatrix::getVelocity
uint8_t getVelocity() const
Get the velocity of the MIDI Note events.
Definition: Bankable/NoteButtonMatrix.hpp:75
Bankable::NoteButtonMatrix
A class of MIDIOutputElements that read the input from a matrix of momentary push buttons or switches...
Definition: Bankable/NoteButtonMatrix.hpp:29
Bankable::NoteButtonMatrix::setVelocity
void setVelocity(uint8_t velocity)
Set the velocity of the MIDI Note events.
Definition: Bankable/NoteButtonMatrix.hpp:73
DigitalNoteSender.hpp
DigitalNoteSender
Definition: DigitalNoteSender.hpp:7
DigitalNoteSender::setVelocity
void setVelocity(uint8_t velocity)
Definition: DigitalNoteSender.hpp:17
OutputBankConfig
A struct for selecting the bank of BankableMIDIOutputs and the bank type.
Definition: BankConfig.hpp:50
ButtonMatrix::rowPins
const PinList< nb_rows > rowPins
Definition: ButtonMatrix.hpp:76
Bankable::MIDIButtonMatrix
MIDIButtonMatrix.
Definition: Bankable/Abstract/MIDIButtonMatrix.hpp:29
Bankable::MatrixAddress
Definition: BankAddresses.hpp:43
CHANNEL_1
constexpr Channel CHANNEL_1
Definition: Channel.hpp:111
Bankable::MIDIButtonMatrix< MatrixAddress< nb_rows, nb_cols >, DigitalNoteSender, nb_rows, nb_cols >::sender
DigitalNoteSender sender
Definition: Bankable/Abstract/MIDIButtonMatrix.hpp:80
ButtonMatrix::colPins
const PinList< nb_cols > colPins
Definition: ButtonMatrix.hpp:77