Control Surface master
MIDI Control Surface library for Arduino
ManyAddresses/CCButtonMatrix.hpp
Go to the documentation of this file.
1#pragma once
2
6
8
9namespace Bankable {
10namespace ManyAddresses {
11
33template <setting_t NumBanks, uint8_t NumRows, uint8_t NumCols>
35 : public MIDIButtonMatrix<ManyMatrixAddresses<NumBanks, NumRows, NumCols>,
36 DigitalCCSender, NumRows, NumCols> {
37 public:
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 = {})
71 DigitalCCSender, NumRows, NumCols>{
72 {bank, controllers, channelCNs}, rowPins, colPins, sender} {}
73};
74
75} // namespace ManyAddresses
76} // namespace Bankable
77
Array2D< uint8_t, NumRows, NumCols > AddressMatrix
Definition: Def.hpp:28
#define END_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
const PinList< NumRows > rowPins
const PinList< NumCols > colPins
A class that groups Bankable MIDI Output Elements and Bankable MIDI Input Elements,...
Definition: Bank.hpp:91
A class of MIDIOutputElements that read the input from a matrix of momentary push buttons or switches...
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.
Class that sends MIDI control change messages signifying either "on" or "off".
A namespace for MIDI elements that can be added to a Bank, to change their address or channel.
An array wrapper for easy copying, comparing, and iterating.
Definition: Array.hpp:36