Control Surface  1.2.0
MIDI Control Surface library for Arduino
ManyAddresses/PCButton.hpp
Go to the documentation of this file.
1 #pragma once
2 
6 
8 
9 namespace Bankable {
10 namespace ManyAddresses {
11 
27 template <setting_t NumBanks>
28 class PCButton : public Bankable::MIDIButton<ManyAddresses<NumBanks>,
29  ProgramChangeSender> {
30  public:
45  PCButton(const Bank<NumBanks> &bank, pin_t pin,
46  const Array<MIDIAddress, NumBanks> &addresses)
48  {bank, addresses}, pin, {}} {}
49 };
50 
51 } // namespace ManyAddresses
52 } // namespace Bankable
53 
MIDIButton.hpp
Bank
A class that groups Bankable BankableMIDIOutputs and BankableMIDIInputs, and allows the user to chang...
Definition: Bank.hpp:75
ProgramChangeSender.hpp
Bankable
A namespace for MIDI elements that can be added to a Bank, to change their address or channel.
Definition: BankAddresses.hpp:7
Bankable::ManyAddresses::ManyAddresses
Definition: BankAddresses.hpp:106
AH::pin_t
uint16_t pin_t
The type for Arduino pins (and ExtendedIOElement pins).
Definition: Hardware-Types.hpp:17
BEGIN_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
Definition: Settings/NamespaceSettings.hpp:9
Bankable::MIDIButton
An abstract class for momentary push buttons that send MIDI events.
Definition: Bankable/Abstract/MIDIButton.hpp:20
BankAddresses.hpp
END_CS_NAMESPACE
#define END_CS_NAMESPACE
Definition: Settings/NamespaceSettings.hpp:10
AH::Array
An array wrapper for easy copying, comparing, and iterating.
Definition: Array.hpp:36
Bankable::ManyAddresses::PCButton
A class of MIDIOutputElements that read the input of a momentary push button or switch,...
Definition: ManyAddresses/PCButton.hpp:29
ProgramChangeSender
Class that sends MIDI program change messages.
Definition: ProgramChangeSender.hpp:12
Bankable::ManyAddresses::PCButton::PCButton
PCButton(const Bank< NumBanks > &bank, pin_t pin, const Array< MIDIAddress, NumBanks > &addresses)
Create a new PCButton object with the given pin, program number and channel.
Definition: ManyAddresses/PCButton.hpp:45