Control Surface  1.2.0
MIDI Control Surface library for Arduino
NoteButtons.hpp
Go to the documentation of this file.
1 #pragma once
2 
5 
7 
23 template <uint8_t NumButtons>
24 class NoteButtons : public MIDIButtons<DigitalNoteSender, NumButtons> {
25  public:
46  const MIDIAddress &baseAddress,
48  uint8_t velocity = 0x7F)
49  : MIDIButtons<DigitalNoteSender, NumButtons>{
50  buttons,
53  {velocity},
54  } {}
55 
57  void setVelocity(uint8_t velocity) { this->sender.setVelocity(velocity); }
59  uint8_t getVelocity() const { return this->sender.getVelocity(); }
60 };
61 
MIDIButtons< DigitalNoteSender, NumButtons >::buttons
Array< AH::Button, NumButtons > buttons
Definition: Abstract/MIDIButtons.hpp:61
NoteButtons
A class of MIDIOutputElements that read the input of a collection of momentary push buttons or switch...
Definition: NoteButtons.hpp:24
MIDIButtons< DigitalNoteSender, NumButtons >::baseAddress
const MIDIAddress baseAddress
Definition: Abstract/MIDIButtons.hpp:62
MIDIAddress
A type-safe utility class for saving a MIDI address consisting of a 7-bit address,...
Definition: MIDIAddress.hpp:91
MIDIButtons< DigitalNoteSender, NumButtons >::incrementAddress
const RelativeMIDIAddress incrementAddress
Definition: Abstract/MIDIButtons.hpp:63
DigitalNoteSender::setVelocity
void setVelocity(uint8_t velocity)
Definition: DigitalNoteSender.hpp:25
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
END_CS_NAMESPACE
#define END_CS_NAMESPACE
Definition: Settings/NamespaceSettings.hpp:10
NoteButtons::getVelocity
uint8_t getVelocity() const
Get the velocity of the MIDI Note events.
Definition: NoteButtons.hpp:59
MIDIButtons
An abstract class for momentary push buttons that send MIDI events.
Definition: Abstract/MIDIButtons.hpp:17
AH::Array
An array wrapper for easy copying, comparing, and iterating.
Definition: Array.hpp:36
MIDIButtons< DigitalNoteSender, NumButtons >::sender
DigitalNoteSender sender
Definition: Abstract/MIDIButtons.hpp:66
DigitalNoteSender::getVelocity
uint8_t getVelocity() const
Definition: DigitalNoteSender.hpp:26
DigitalNoteSender.hpp
DigitalNoteSender
Class that sends MIDI note on and off messages.
Definition: DigitalNoteSender.hpp:12
NoteButtons::NoteButtons
NoteButtons(const Array< AH::Button, NumButtons > &buttons, const MIDIAddress &baseAddress, const RelativeMIDIAddress &incrementAddress, uint8_t velocity=0x7F)
Create a new NoteButtons object with the given pins, the given controller number and channel.
Definition: NoteButtons.hpp:45
NoteButtons::setVelocity
void setVelocity(uint8_t velocity)
Set the velocity of the MIDI Note events.
Definition: NoteButtons.hpp:57
MIDIButtons.hpp