Control Surface  1.2.0
MIDI Control Surface library for Arduino
Bankable/NoteButtons.hpp
Go to the documentation of this file.
1 #pragma once
2 
6 
8 
9 namespace Bankable {
10 
26 template <uint8_t NumButtons>
28  : public MIDIButtons<SingleAddress, DigitalNoteSender, NumButtons> {
29  public:
55  uint8_t velocity = 0x7F)
57  {config, baseAddress},
58  buttons,
60  {velocity},
61  } {}
62 
64  void setVelocity(uint8_t velocity) { this->sender.setVelocity(velocity); }
66  uint8_t getVelocity() const { return this->sender.getVelocity(); }
67 };
68 
69 } // namespace Bankable
70 
MIDIAddress
A type-safe utility class for saving a MIDI address consisting of a 7-bit address,...
Definition: MIDIAddress.hpp:91
Bankable
A namespace for MIDI elements that can be added to a Bank, to change their address or channel.
Definition: BankAddresses.hpp:7
DigitalNoteSender::setVelocity
void setVelocity(uint8_t velocity)
Definition: DigitalNoteSender.hpp:25
Bankable::NoteButtons::NoteButtons
NoteButtons(OutputBankConfig<> config, const Array< AH::Button, NumButtons > &buttons, MIDIAddress baseAddress, RelativeMIDIAddress incrementAddress, uint8_t velocity=0x7F)
Create a new Bankable NoteButtons object with the given pins, the given controller number and channel...
Definition: Bankable/NoteButtons.hpp:52
RelativeMIDIAddress
A class for saving an offset to a MIDI address.
Definition: MIDIAddress.hpp:64
BEGIN_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
Definition: Settings/NamespaceSettings.hpp:9
BankAddresses.hpp
END_CS_NAMESPACE
#define END_CS_NAMESPACE
Definition: Settings/NamespaceSettings.hpp:10
Bankable::MIDIButtons< SingleAddress, DigitalNoteSender, NumButtons >::incrementAddress
RelativeMIDIAddress incrementAddress
Definition: Bankable/Abstract/MIDIButtons.hpp:77
Bankable::NoteButtons
A class of MIDIOutputElements that read the input of a collection of momentary push buttons or switch...
Definition: Bankable/NoteButtons.hpp:28
MIDIButtons.hpp
AH::Array
An array wrapper for easy copying, comparing, and iterating.
Definition: Array.hpp:36
Bankable::MIDIButtons< SingleAddress, DigitalNoteSender, NumButtons >::sender
DigitalNoteSender sender
Definition: Bankable/Abstract/MIDIButtons.hpp:81
Bankable::SingleAddress
Definition: BankAddresses.hpp:9
Bankable::MIDIButtons< SingleAddress, DigitalNoteSender, NumButtons >::buttons
Array< AH::Button, NumButtons > buttons
Definition: Bankable/Abstract/MIDIButtons.hpp:76
DigitalNoteSender::getVelocity
uint8_t getVelocity() const
Definition: DigitalNoteSender.hpp:26
Bankable::NoteButtons::setVelocity
void setVelocity(uint8_t velocity)
Set the velocity of the MIDI Note events.
Definition: Bankable/NoteButtons.hpp:64
DigitalNoteSender.hpp
DigitalNoteSender
Class that sends MIDI note on and off messages.
Definition: DigitalNoteSender.hpp:12
OutputBankConfig
A struct for selecting the bank of BankableMIDIOutputs and the bank type.
Definition: BankConfig.hpp:76
Bankable::NoteButtons::getVelocity
uint8_t getVelocity() const
Get the velocity of the MIDI Note events.
Definition: Bankable/NoteButtons.hpp:66
Bankable::MIDIButtons
An abstract class for momentary push buttons that send MIDI events.
Definition: Bankable/Abstract/MIDIButtons.hpp:23