Control Surface
main
MIDI Control Surface library for Arduino
Toggle main menu visibility
Loading...
Searching...
No Matches
src
MIDI_Outputs
ManyAddresses
ManyAddresses/CCButtonMatrix.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
Banks/BankAddresses.hpp
>
4
#include <
MIDI_Outputs/Bankable/Abstract/MIDIButtonMatrix.hpp
>
5
#include <
MIDI_Senders/DigitalCCSender.hpp
>
6
7
BEGIN_CS_NAMESPACE
8
9
namespace
Bankable
{
10
namespace
ManyAddresses
{
11
33
template
<setting_t NumBanks, u
int
8_t NumRows, u
int
8_t NumCols>
34
class
CCButtonMatrix
35
:
public
MIDIButtonMatrix
<ManyMatrixAddresses<NumBanks, NumRows, NumCols>,
36
DigitalCCSender, NumRows, NumCols> {
37
public
:
64
CCButtonMatrix
(
65
const
Bank<NumBanks>
&bank,
const
PinList<NumRows>
&
rowPins
,
66
const
PinList<NumCols>
&
colPins
,
67
const
Array
<
AddressMatrix<NumRows, NumCols>
, NumBanks> &controllers,
68
const
Array<MIDIChannelCable, NumBanks>
&channelCNs,
69
const
DigitalCCSender
&
sender
= {})
70
:
MIDIButtonMatrix
<
ManyMatrixAddresses
<NumBanks, NumRows, NumCols>,
71
DigitalCCSender
, NumRows, NumCols> {
72
{bank, controllers, channelCNs},
rowPins
,
colPins
,
sender
} {}
73
};
74
75
}
// namespace ManyAddresses
76
}
// namespace Bankable
77
78
END_CS_NAMESPACE
BankAddresses.hpp
MIDIButtonMatrix.hpp
AddressMatrix
Array2D< uint8_t, NumRows, NumCols > AddressMatrix
Definition
Def.hpp:30
DigitalCCSender.hpp
END_CS_NAMESPACE
#define END_CS_NAMESPACE
Definition
Settings/NamespaceSettings.hpp:14
BEGIN_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
Definition
Settings/NamespaceSettings.hpp:11
Bankable::MIDIButtonMatrix< ManyMatrixAddresses< NumBanks, NumRows, NumCols >, DigitalCCSender, NumRows, NumCols >::rowPins
const PinList< NumRows > rowPins
Definition
ButtonMatrix.hpp:88
Bankable::MIDIButtonMatrix< ManyMatrixAddresses< NumBanks, NumRows, NumCols >, DigitalCCSender, NumRows, NumCols >::colPins
const PinList< NumCols > colPins
Definition
ButtonMatrix.hpp:89
Bank
A class that groups Bankable MIDI Output Elements and Bankable MIDI Input Elements,...
Definition
Bank.hpp:94
Bankable::MIDIButtonMatrix
MIDIButtonMatrix.
Definition
Bankable/Abstract/MIDIButtonMatrix.hpp:33
Bankable::MIDIButtonMatrix< ManyMatrixAddresses< NumBanks, NumRows, NumCols >, DigitalCCSender, NumRows, NumCols >::sender
DigitalCCSender sender
Definition
Bankable/Abstract/MIDIButtonMatrix.hpp:85
Bankable::MIDIButtonMatrix< ManyMatrixAddresses< NumBanks, NumRows, NumCols >, DigitalCCSender, NumRows, NumCols >::MIDIButtonMatrix
MIDIButtonMatrix(ManyMatrixAddresses< NumBanks, NumRows, NumCols > bankAddress, const PinList< NumRows > &rowPins, const PinList< NumCols > &colPins, const DigitalCCSender &sender)
Definition
Bankable/Abstract/MIDIButtonMatrix.hpp:55
Bankable::ManyAddresses::CCButtonMatrix::CCButtonMatrix
CCButtonMatrix(const Bank< NumBanks > &bank, const PinList< NumRows > &rowPins, const PinList< NumCols > &colPins, const Array< AddressMatrix< NumRows, NumCols >, NumBanks > &controllers, const Array< MIDIChannelCable, NumBanks > &channelCNs, const DigitalCCSender &sender={})
Create a new Bankable CCButtonMatrix object with the given pins, controller numbers and channel.
Definition
ManyAddresses/CCButtonMatrix.hpp:64
Bankable::ManyAddresses::ManyMatrixAddresses
Definition
BankAddresses.hpp:148
DigitalCCSender
Class that sends MIDI control change messages signifying either "on" or "off".
Definition
DigitalCCSender.hpp:13
AH::PinList
Array< pin_t, N > PinList
An easy alias for arrays of pins.
Definition
Hardware-Types.hpp:100
Bankable::ManyAddresses
Definition
BankAddresses.hpp:99
Bankable
A namespace for MIDI elements that can be added to a Bank, to change their address or channel.
Definition
BankAddresses.hpp:7
AH::Array
An array wrapper for easy copying, comparing, and iterating.
Definition
Array.hpp:32
Generated by
1.17.0