Control Surface
main
MIDI Control Surface library for Arduino
Toggle main menu visibility
Loading...
Searching...
No Matches
src
MIDI_Outputs
ManyAddresses
ManyAddresses/PCButton.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
Banks/BankAddresses.hpp
>
4
#include <
MIDI_Outputs/Bankable/Abstract/MIDIButton.hpp
>
5
#include <
MIDI_Senders/ProgramChangeSender.hpp
>
6
7
BEGIN_CS_NAMESPACE
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)
47
:
MIDIButton
<
ManyAddresses
<NumBanks>,
ProgramChangeSender
> {
48
{bank, addresses}, pin, {}} {}
49
};
50
51
}
// namespace ManyAddresses
52
}
// namespace Bankable
53
54
END_CS_NAMESPACE
BankAddresses.hpp
MIDIButton.hpp
ProgramChangeSender.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
Bank
A class that groups Bankable MIDI Output Elements and Bankable MIDI Input Elements,...
Definition
Bank.hpp:94
Bankable::MIDIButton
An abstract class for momentary push buttons that send MIDI events.
Definition
Bankable/Abstract/MIDIButton.hpp:20
Bankable::MIDIButton< ManyAddresses< NumBanks >, ProgramChangeSender >::MIDIButton
MIDIButton(ManyAddresses< NumBanks > bankAddress, pin_t pin, const ProgramChangeSender &sender)
Definition
Bankable/Abstract/MIDIButton.hpp:33
Bankable::ManyAddresses::ManyAddresses
Definition
BankAddresses.hpp:106
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
ProgramChangeSender
Class that sends MIDI program change messages.
Definition
ProgramChangeSender.hpp:12
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
AH::ExtIO::pin_t
Type for storing pin numbers of Extended Input/Output elements.
Definition
Hardware-Types.hpp:25
Generated by
1.17.0