#include <MIDI_Outputs/ManyAddresses/CCIncrementDecrementButtons.hpp>
A class of MIDIOutputElements that read the input of two momentary push buttons to increment or decrement a relative setting using relative MIDI Control Change events.
An optional note number can be provided to reset the setting.
This version can be banked using an arbitrary list of alternative addresses.
NumBanks | The number of variants/alternative addresses the element has. |
Definition at line 26 of file ManyAddresses/CCIncrementDecrementButtons.hpp.
Enabling and disabling updatables | |
void | enable () |
Enable this updatable: insert it into the linked list of instances, so it gets updated automatically. More... | |
void | disable () |
Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically. More... | |
bool | isEnabled () const |
Check if this updatable is enabled. More... | |
void | moveDown () |
Move down this element in the list. More... | |
static void | enable (UpdatableCRTP *element) |
Enable this updatable: insert it into the linked list of instances, so it gets updated automatically. More... | |
static void | enable (UpdatableCRTP &element) |
Enable this updatable: insert it into the linked list of instances, so it gets updated automatically. More... | |
static void | enable (U(&array)[N]) |
Enable this updatable: insert it into the linked list of instances, so it gets updated automatically. More... | |
static void | disable (UpdatableCRTP *element) |
Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically. More... | |
static void | disable (UpdatableCRTP &element) |
Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically. More... | |
static void | disable (U(&array)[N]) |
Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically. More... | |
Main initialization and updating methods | |
static void | beginAll () |
Begin all enabled instances of this class. More... | |
static void | updateAll () |
Update all enabled instances of this class. More... | |
Public Member Functions | |
CCIncrementDecrementButtons (const Bank< NumBanks > &bank, const AH::IncrementDecrementButtons &buttons, const Array< MIDIAddress, NumBanks > &addresses, uint8_t multiplier=1, const Array< MIDIAddress, NumBanks > &resetNotes={}, const RelativeCCSender &relativeSender={}, const DigitalNoteSender &resetSender={}) | |
Construct a new Bankable CCIncrementDecrementButtons object. More... | |
void | begin () override |
Initialize this updatable. More... | |
void | update () override |
Update this updatable. More... | |
void | send (long delta, MIDIAddress address) |
void | reset () |
void | invert () |
AH::IncrementDecrementButtons::State | getButtonsState () const |
Public Attributes | |
RelativeCCSender | relativeSender |
DigitalNoteSender | resetSender |
Protected Attributes | |
DualManyAddresses< NumBanks > | addresses |
AH::IncrementDecrementButtons | buttons |
const uint8_t | multiplier |
Updatable< NormalUpdatable > * | next |
Updatable< NormalUpdatable > * | previous |
Static Protected Attributes | |
static DoublyLinkedList< Updatable< NormalUpdatable > > | updatables |
|
inline |
Construct a new Bankable CCIncrementDecrementButtons object.
bank | The bank to add this element to. |
buttons | The pins with the increment and decrement buttons connected. The internal pull-up resistors will be enabled. |
addresses | The list of MIDI addresses to use for the relative events, containing the controller number [0, 119], channel [CHANNEL_1, CHANNEL_16], and optional cable number [CABLE_1, CABLE_16]. |
multiplier | The multiplier for the relative events. When setting it to 2, it will scroll twice as fast, for example. |
resetNotes | The list of MIDI addresses to use to reset the setting, containing the note number [0, 127], channel [CHANNEL_1, CHANNEL_16], and optional cable number [CABLE_1, CABLE_16]. It will be triggered when the increment and decrement buttons are pressed simultaneously. |
relativeSender | The MIDI sender to use for the relative events. |
resetSender | The MIDI sender to use for reset events. |
Definition at line 56 of file ManyAddresses/CCIncrementDecrementButtons.hpp.
|
inlineoverridevirtualinherited |
Initialize this updatable.
Implements Updatable< T >.
Definition at line 35 of file Bankable/Abstract/MIDIIncrementDecrementButtons.hpp.
|
inlineoverridevirtualinherited |
Update this updatable.
Implements Updatable< T >.
Definition at line 37 of file Bankable/Abstract/MIDIIncrementDecrementButtons.hpp.
|
inlineinherited |
Definition at line 57 of file Bankable/Abstract/MIDIIncrementDecrementButtons.hpp.
|
inlineinherited |
Definition at line 61 of file Bankable/Abstract/MIDIIncrementDecrementButtons.hpp.
|
inlineinherited |
Definition at line 70 of file Bankable/Abstract/MIDIIncrementDecrementButtons.hpp.
|
inlineinherited |
Definition at line 72 of file Bankable/Abstract/MIDIIncrementDecrementButtons.hpp.
|
inlinestaticinherited |
Begin all enabled instances of this class.
Definition at line 186 of file Updatable.hpp.
|
inlinestaticinherited |
Update all enabled instances of this class.
Definition at line 190 of file Updatable.hpp.
|
inlineinherited |
Enable this updatable: insert it into the linked list of instances, so it gets updated automatically.
Definition at line 100 of file Updatable.hpp.
|
inlinestaticinherited |
Enable this updatable: insert it into the linked list of instances, so it gets updated automatically.
Definition at line 129 of file Updatable.hpp.
|
inlinestaticinherited |
Enable this updatable: insert it into the linked list of instances, so it gets updated automatically.
Definition at line 131 of file Updatable.hpp.
|
inlinestaticinherited |
Enable this updatable: insert it into the linked list of instances, so it gets updated automatically.
Definition at line 134 of file Updatable.hpp.
|
inlineinherited |
Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically.
Definition at line 110 of file Updatable.hpp.
|
inlinestaticinherited |
Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically.
Definition at line 140 of file Updatable.hpp.
|
inlinestaticinherited |
Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically.
Definition at line 142 of file Updatable.hpp.
|
inlinestaticinherited |
Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically.
Definition at line 145 of file Updatable.hpp.
|
inlineinherited |
Check if this updatable is enabled.
Definition at line 124 of file Updatable.hpp.
|
inlineinherited |
Move down this element in the list.
Definition at line 151 of file Updatable.hpp.
|
protectedinherited |
Definition at line 77 of file Bankable/Abstract/MIDIIncrementDecrementButtons.hpp.
|
protectedinherited |
Definition at line 78 of file Bankable/Abstract/MIDIIncrementDecrementButtons.hpp.
|
protectedinherited |
Definition at line 79 of file Bankable/Abstract/MIDIIncrementDecrementButtons.hpp.
|
inherited |
Definition at line 82 of file Bankable/Abstract/MIDIIncrementDecrementButtons.hpp.
|
inherited |
Definition at line 83 of file Bankable/Abstract/MIDIIncrementDecrementButtons.hpp.
|
staticprotectedinherited |
Definition at line 156 of file Updatable.hpp.
|
protectedinherited |
Definition at line 324 of file LinkedList.hpp.
|
protectedinherited |
Definition at line 325 of file LinkedList.hpp.