Control Surface
main
MIDI Control Surface library for Arduino
Toggle main menu visibility
Loading...
Searching...
No Matches
src
MIDI_Outputs
ManyAddresses
ManyAddresses/NoteButton.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/DigitalNoteSender.hpp
>
6
7
BEGIN_CS_NAMESPACE
8
namespace
Bankable
{
9
namespace
ManyAddresses
{
10
26
template
<setting_t NumBanks>
27
class
NoteButton
28
:
public
Bankable::MIDIButton
<ManyAddresses<NumBanks>, DigitalNoteSender> {
29
public
:
46
NoteButton
(
const
Bank<NumBanks>
&bank,
pin_t
pin,
47
const
Array<MIDIAddress, NumBanks>
&addresses,
48
uint8_t velocity = 0x7F)
49
:
MIDIButton
<
ManyAddresses
<NumBanks>,
DigitalNoteSender
> {
50
{bank, addresses}, pin, {velocity}} {}
51
53
void
setVelocity
(uint8_t velocity) { this->
sender
.setVelocity(velocity); }
55
uint8_t
getVelocity
()
const
{
return
this->
sender
.getVelocity(); }
56
};
57
58
}
// namespace ManyAddresses
59
}
// namespace Bankable
60
61
END_CS_NAMESPACE
BankAddresses.hpp
MIDIButton.hpp
DigitalNoteSender.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 >, DigitalNoteSender >::MIDIButton
MIDIButton(ManyAddresses< NumBanks > bankAddress, pin_t pin, const DigitalNoteSender &sender)
Definition
Bankable/Abstract/MIDIButton.hpp:33
Bankable::MIDIButton< ManyAddresses< NumBanks >, DigitalNoteSender >::sender
DigitalNoteSender sender
Definition
Bankable/Abstract/MIDIButton.hpp:58
Bankable::ManyAddresses::ManyAddresses
Definition
BankAddresses.hpp:106
Bankable::ManyAddresses::NoteButton::setVelocity
void setVelocity(uint8_t velocity)
Set the velocity of the MIDI Note events.
Definition
ManyAddresses/NoteButton.hpp:53
Bankable::ManyAddresses::NoteButton::getVelocity
uint8_t getVelocity() const
Get the velocity of the MIDI Note events.
Definition
ManyAddresses/NoteButton.hpp:55
Bankable::ManyAddresses::NoteButton::NoteButton
NoteButton(const Bank< NumBanks > &bank, pin_t pin, const Array< MIDIAddress, NumBanks > &addresses, uint8_t velocity=0x7F)
Create a new Bankable NoteButton object with the given bank configuration, button pin,...
Definition
ManyAddresses/NoteButton.hpp:46
DigitalNoteSender
Class that sends MIDI note on and off messages.
Definition
DigitalNoteSender.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