Control Surface
1.1.0
MIDI Control Surface library for Arduino
src
MIDI_Outputs
PCButton.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
MIDI_Outputs/Abstract/MIDIButton.hpp
>
4
#include <
MIDI_Senders/ProgramChangeSender.hpp
>
5
6
BEGIN_CS_NAMESPACE
7
8
/**
9
* @brief A class of MIDIOutputElement%s that read the input of a **momentary
10
* push button or switch**, and send out MIDI **Program Change**
11
* events.
12
*
13
* A Program Change event is sent when the button is pressed.
14
* The button is debounced in software.
15
* This version cannot be banked.
16
*
17
* @ingroup MIDIOutputElements
18
*/
19
class
PCButton
:
public
MIDIButton
<ProgramChangeSender> {
20
public
:
21
/**
22
* @brief Create a new PCButton object with the given pin, program number
23
* and channel.
24
*
25
* @param pin
26
* The digital input pin to read from.
27
* The internal pull-up resistor will be enabled.
28
* @param address
29
* The MIDI address containing the program number [0, 127],
30
* channel [CHANNEL_1, CHANNEL_16], and optional cable number
31
* [0, 15].
32
* @param sender
33
* The MIDI sender to use.
34
*/
35
PCButton
(
pin_t
pin,
const
MIDICNChannelAddress
&
address
,
36
const
ProgramChangeSender
&
sender
= {})
37
:
MIDIButton
(pin,
address
,
sender
) {}
38
};
39
40
END_CS_NAMESPACE
ProgramChangeSender.hpp
PCButton
A class of MIDIOutputElements that read the input of a momentary push button or switch,...
Definition:
PCButton.hpp:19
PCButton::PCButton
PCButton(pin_t pin, const MIDICNChannelAddress &address, const ProgramChangeSender &sender={})
Create a new PCButton object with the given pin, program number and channel.
Definition:
PCButton.hpp:35
BEGIN_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
Definition:
Settings/NamespaceSettings.hpp:9
END_CS_NAMESPACE
#define END_CS_NAMESPACE
Definition:
Settings/NamespaceSettings.hpp:10
MIDIButton< ProgramChangeSender >::sender
ProgramChangeSender sender
Definition:
Abstract/MIDIButton.hpp:55
MIDIButton
An abstract class for momentary push buttons that send MIDI events.
Definition:
Abstract/MIDIButton.hpp:17
MIDIButton< ProgramChangeSender >::address
const MIDICNChannelAddress address
Definition:
Abstract/MIDIButton.hpp:52
MIDICNChannelAddress
A type-safe utility class for saving a MIDI address consisting of a 7-bit address,...
Definition:
MIDICNChannelAddress.hpp:82
AH::pin_t
uint16_t pin_t
The type for Arduino pins (and ExtendedIOElement pins).
Definition:
Hardware-Types.hpp:17
MIDIButton< ProgramChangeSender >::MIDIButton
MIDIButton(pin_t pin, const MIDICNChannelAddress &address, const ProgramChangeSender &sender)
Construct a new MIDIButton.
Definition:
Abstract/MIDIButton.hpp:30
MIDIButton.hpp
ProgramChangeSender
Definition:
ProgramChangeSender.hpp:7
Generated by
1.8.16