This is an old version of the documentation. View the latest version here.
Control Surface  1.0.0
MIDI Control Surface library for Arduino
Bankable/NoteButton.hpp
Go to the documentation of this file.
1 #pragma once
2 
6 
8 
9 namespace Bankable {
10 
22 class NoteButton : public MIDIButton<SingleAddress, DigitalNoteSender> {
23  public:
41  NoteButton(const OutputBankConfig &config, pin_t pin,
42  const MIDICNChannelAddress &address, uint8_t velocity = 0x7F)
44  {config, address},
45  pin,
46  {velocity},
47  } {}
48 
50  void setVelocity(uint8_t velocity) { this->sender.setVelocity(velocity); }
52  uint8_t getVelocity() const { return this->sender.getVelocity(); }
53 };
54 
55 } // namespace Bankable
56 
MIDIButton.hpp
Bankable::NoteButton
A class of MIDIOutputElements that read the input of a momentary push button or switch,...
Definition: Bankable/NoteButton.hpp:22
Bankable::NoteButton::getVelocity
uint8_t getVelocity() const
Get the velocity of the MIDI Note events.
Definition: Bankable/NoteButton.hpp:52
Bankable::MIDIButton< SingleAddress, DigitalNoteSender >::address
SingleAddress address
Definition: Bankable/Abstract/MIDIButton.hpp:55
Bankable
A namespace for MIDI elements that can be added to a Bank, to change their address or channel.
Definition: BankAddresses.hpp:7
pin_t
uint16_t pin_t
The type for Arduino pins (and ExtendedIOElement pins).
Definition: Def.hpp:17
Bankable::NoteButton::NoteButton
NoteButton(const OutputBankConfig &config, pin_t pin, const MIDICNChannelAddress &address, uint8_t velocity=0x7F)
Create a new Bankable NoteButton object with the given pin, note number and channel.
Definition: Bankable/NoteButton.hpp:41
Bankable::MIDIButton
An abstract class for momentary push buttons that send MIDI events.
Definition: Bankable/Abstract/MIDIButton.hpp:20
BankAddresses.hpp
BEGIN_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
Definition: NamespaceSettings.hpp:9
MIDICNChannelAddress
A type-safe utility class for saving a MIDI address consisting of a 7-bit address,...
Definition: MIDICNChannelAddress.hpp:82
END_CS_NAMESPACE
#define END_CS_NAMESPACE
Definition: NamespaceSettings.hpp:10
Bankable::SingleAddress
Definition: BankAddresses.hpp:9
DigitalNoteSender::getVelocity
uint8_t getVelocity() const
Definition: DigitalNoteSender.hpp:18
Bankable::MIDIButton< SingleAddress, DigitalNoteSender >::sender
DigitalNoteSender sender
Definition: Bankable/Abstract/MIDIButton.hpp:59
Bankable::NoteButton::setVelocity
void setVelocity(uint8_t velocity)
Set the velocity of the MIDI Note events.
Definition: Bankable/NoteButton.hpp:50
DigitalNoteSender.hpp
DigitalNoteSender
Definition: DigitalNoteSender.hpp:7
DigitalNoteSender::setVelocity
void setVelocity(uint8_t velocity)
Definition: DigitalNoteSender.hpp:17
OutputBankConfig
A struct for selecting the bank of BankableMIDIOutputs and the bank type.
Definition: BankConfig.hpp:50