#include <AH/Containers/Updatable.hpp>
A super class for object that have to be updated regularly.
All instances of this class are kept in a linked list, so it's easy to iterate over all of them to update them.
Definition at line 173 of file Updatable.hpp.
Main initialization and updating methods | |
virtual void | begin ()=0 |
Initialize this updatable. More... | |
virtual void | update ()=0 |
Update this updatable. More... | |
static void | beginAll () |
Begin all enabled instances of this class. More... | |
static void | updateAll () |
Update all enabled instances of this class. More... | |
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... | |
Protected Attributes | |
Updatable< NormalUpdatable > * | next |
Updatable< NormalUpdatable > * | previous |
Static Protected Attributes | |
static DoublyLinkedList< Updatable< NormalUpdatable > > | updatables |
|
pure virtual |
Initialize this updatable.
Implemented in MIDIButtonLatched< Sender >, MIDIButtonLatched< DigitalCCSender >, MIDIButtonLatched< DigitalNoteSender >, MIDIButtonMatrix< Sender, NumRows, NumCols >, MIDIButtonMatrix< DigitalCCSender, NumRows, NumCols >, MIDIButtonMatrix< DigitalNoteSender, NumRows, NumCols >, MIDIButtons< Sender, NumButtons >, MIDIButtons< DigitalCCSender, NumButtons >, MIDIButtons< DigitalNoteSender, NumButtons >, MIDIChordButton< Sender >, MIDIFilteredAnalog< Sender >, MIDIFilteredAnalog< ContinuousCCSender >, MIDIFilteredAnalog< PitchBendSender< 10 > >, MIDIButtons< BankAddress, Sender, NumButtons >, MIDIButtons< SingleAddress, DigitalCCSender, NumButtons >, MIDIButtons< SingleAddress, DigitalNoteSender, NumButtons >, MIDIFilteredAnalog< BankAddress, Sender >, MIDIFilteredAnalog< SingleAddress, ContinuousCCSender >, MIDIFilteredAnalog< ManyAddresses< NumBanks >, ContinuousCCSender >, MIDIFilteredAnalog< ManyAddresses< NumBanks >, PitchBendSender< 10 > >, MIDIFilteredAnalog< SingleAddress, PitchBendSender< 10 > >, AudioVULEDs< N >, VolumeControl< N >, BluetoothMIDI_Interface, SerialDebugMIDI_Interface< T >, SerialDebugMIDI_Interface< HardwareSerial >, SerialDebugMIDI_Interface< SoftwareSerial >, SerialDebugMIDI_Interface< decltype(Serial)>, MIDI_Interface, SerialMIDI_Interface< S >, SerialMIDI_Interface< HardwareSerial >, SerialMIDI_Interface< SoftwareSerial >, SerialMIDI_Interface< decltype(Serial)>, GenericUSBMIDI_Interface< Backend >, GenericUSBMIDI_Interface< USBHostMIDIBackend< 64 > >, GenericUSBMIDI_Interface< USBHostMIDIBackend< 512 > >, GenericUSBMIDI_Interface< USBDeviceMIDIBackend >, FortySevenEffectsMIDI_Interface< MidiInterface >, GenericMIDIAbsoluteEncoder< Enc, Sender >, MIDIButton< Sender >, MIDIButton< DigitalCCSender >, MIDIButton< DigitalNoteSender >, MIDIButton< ProgramChangeSender >, MIDIButtonLatching< Sender >, MIDIButtonLatching< DigitalCCSender >, MIDIButtonLatching< DigitalNoteSender >, MIDIIncrementDecrementButtons< RelativeSender, ResetSender >, MIDIIncrementDecrementButtons< RelativeCCSender, DigitalNoteSender >, GenericMIDIRotaryEncoder< Enc, Sender >, GenericMIDIAbsoluteEncoder< Enc, NumBanks, BankAddress, Sender >, MIDIButton< BankAddress, Sender >, MIDIButton< SingleAddress, DigitalCCSender >, MIDIButton< ManyAddresses< NumBanks >, DigitalCCSender >, MIDIButton< ManyAddresses< NumBanks >, DigitalNoteSender >, MIDIButton< ManyAddresses< NumBanks >, ProgramChangeSender >, MIDIButton< SingleAddress, DigitalNoteSender >, MIDIButton< SingleAddress, ProgramChangeSender >, MIDIButtonLatched< NumBanks, BankAddress, Sender >, MIDIButtonLatched< NumBanks, SingleAddress, DigitalCCSender >, MIDIButtonLatched< NumBanks, SingleAddress, DigitalNoteSender >, MIDIButtonLatching< BankAddress, Sender >, MIDIButtonLatching< SingleAddress, DigitalCCSender >, MIDIButtonLatching< SingleAddress, DigitalNoteSender >, MIDIButtonMatrix< BankAddress, Sender, NumRows, NumCols >, MIDIButtonMatrix< MatrixAddress< NumRows, NumCols >, DigitalCCSender, NumRows, NumCols >, MIDIButtonMatrix< ManyMatrixAddresses< NumBanks, NumRows, NumCols >, DigitalCCSender, NumRows, NumCols >, MIDIButtonMatrix< ManyMatrixAddresses< NumBanks, NumRows, NumCols >, DigitalNoteSender, NumRows, NumCols >, MIDIButtonMatrix< MatrixAddress< NumRows, NumCols >, DigitalNoteSender, NumRows, NumCols >, MIDIChordButton< Sender >, MIDIChordButton< DigitalNoteSender >, MIDIIncrementDecrementButtons< BankAddress, RelativeSender, ResetSender >, MIDIIncrementDecrementButtons< DualAddresses, RelativeCCSender, DigitalNoteSender >, MIDIIncrementDecrementButtons< DualManyAddresses< NumBanks >, RelativeCCSender, DigitalNoteSender >, GenericMIDIRotaryEncoder< Enc, BankAddress, Sender >, SmartMIDIFilteredAnalog< NumBanks, BankAddress, Sender >, SmartMIDIFilteredAnalog< NumBanks, SingleAddress, ContinuousCCSender >, SmartMIDIFilteredAnalog< NumBanks, SingleAddress, PitchBendSender< 10 > >, GenericEncoderSelector< N, Callback >, GenericEncoderSelector< N, SelectorLEDsCallback< N > >, GenericIncrementDecrementSelector< N, Callback >, GenericIncrementDecrementSelector< N, SelectorLEDsCallback< N > >, GenericIncrementSelector< N, Callback >, GenericIncrementSelector< N, SelectorLEDsCallback< N > >, GenericManyButtonsSelector< N, Callback >, GenericManyButtonsSelector< N, SelectorLEDsCallback< N > >, GenericProgramChangeSelector< N, Callback >, GenericProgramChangeSelector< N, SelectorLEDsCallback< N > >, GenericSelector< N, Callback >, GenericSelector< N, SelectorLEDsCallback< N > >, GenericSelector< N, EmptySelectorCallback >, GenericSelector< 2, EmptySelectorCallback >, GenericSelector< 2, SelectorSingleLEDCallback >, GenericSwitchSelector< Callback >, and GenericSwitchSelector< SelectorSingleLEDCallback >.
|
pure virtual |
Update this updatable.
Implemented in MIDIButtonLatched< Sender >, MIDIButtonLatched< DigitalCCSender >, MIDIButtonLatched< DigitalNoteSender >, MIDIButtonMatrix< Sender, NumRows, NumCols >, MIDIButtonMatrix< DigitalCCSender, NumRows, NumCols >, MIDIButtonMatrix< DigitalNoteSender, NumRows, NumCols >, MIDIButtons< Sender, NumButtons >, MIDIButtons< DigitalCCSender, NumButtons >, MIDIButtons< DigitalNoteSender, NumButtons >, MIDIChordButton< Sender >, MIDIFilteredAnalog< Sender >, MIDIFilteredAnalog< ContinuousCCSender >, MIDIFilteredAnalog< PitchBendSender< 10 > >, MIDIButtons< BankAddress, Sender, NumButtons >, MIDIButtons< SingleAddress, DigitalCCSender, NumButtons >, MIDIButtons< SingleAddress, DigitalNoteSender, NumButtons >, MIDIFilteredAnalog< BankAddress, Sender >, MIDIFilteredAnalog< SingleAddress, ContinuousCCSender >, MIDIFilteredAnalog< ManyAddresses< NumBanks >, ContinuousCCSender >, MIDIFilteredAnalog< ManyAddresses< NumBanks >, PitchBendSender< 10 > >, MIDIFilteredAnalog< SingleAddress, PitchBendSender< 10 > >, AudioVULEDs< N >, VolumeControl< N >, BluetoothMIDI_Interface, StreamDebugMIDI_Interface, StreamMIDI_Interface, GenericUSBMIDI_Interface< Backend >, GenericUSBMIDI_Interface< USBHostMIDIBackend< 64 > >, GenericUSBMIDI_Interface< USBHostMIDIBackend< 512 > >, GenericUSBMIDI_Interface< USBDeviceMIDIBackend >, FortySevenEffectsMIDI_Interface< MidiInterface >, GenericMIDIAbsoluteEncoder< Enc, Sender >, MIDIButton< Sender >, MIDIButton< DigitalCCSender >, MIDIButton< DigitalNoteSender >, MIDIButton< ProgramChangeSender >, MIDIButtonLatching< Sender >, MIDIButtonLatching< DigitalCCSender >, MIDIButtonLatching< DigitalNoteSender >, MIDIIncrementDecrementButtons< RelativeSender, ResetSender >, MIDIIncrementDecrementButtons< RelativeCCSender, DigitalNoteSender >, GenericMIDIRotaryEncoder< Enc, Sender >, GenericMIDIAbsoluteEncoder< Enc, NumBanks, BankAddress, Sender >, MIDIButton< BankAddress, Sender >, MIDIButton< SingleAddress, DigitalCCSender >, MIDIButton< ManyAddresses< NumBanks >, DigitalCCSender >, MIDIButton< ManyAddresses< NumBanks >, DigitalNoteSender >, MIDIButton< ManyAddresses< NumBanks >, ProgramChangeSender >, MIDIButton< SingleAddress, DigitalNoteSender >, MIDIButton< SingleAddress, ProgramChangeSender >, MIDIButtonLatched< NumBanks, BankAddress, Sender >, MIDIButtonLatched< NumBanks, SingleAddress, DigitalCCSender >, MIDIButtonLatched< NumBanks, SingleAddress, DigitalNoteSender >, MIDIButtonLatching< BankAddress, Sender >, MIDIButtonLatching< SingleAddress, DigitalCCSender >, MIDIButtonLatching< SingleAddress, DigitalNoteSender >, MIDIButtonMatrix< BankAddress, Sender, NumRows, NumCols >, MIDIButtonMatrix< MatrixAddress< NumRows, NumCols >, DigitalCCSender, NumRows, NumCols >, MIDIButtonMatrix< ManyMatrixAddresses< NumBanks, NumRows, NumCols >, DigitalCCSender, NumRows, NumCols >, MIDIButtonMatrix< ManyMatrixAddresses< NumBanks, NumRows, NumCols >, DigitalNoteSender, NumRows, NumCols >, MIDIButtonMatrix< MatrixAddress< NumRows, NumCols >, DigitalNoteSender, NumRows, NumCols >, MIDIChordButton< Sender >, MIDIChordButton< DigitalNoteSender >, MIDIIncrementDecrementButtons< BankAddress, RelativeSender, ResetSender >, MIDIIncrementDecrementButtons< DualAddresses, RelativeCCSender, DigitalNoteSender >, MIDIIncrementDecrementButtons< DualManyAddresses< NumBanks >, RelativeCCSender, DigitalNoteSender >, GenericMIDIRotaryEncoder< Enc, BankAddress, Sender >, SmartMIDIFilteredAnalog< NumBanks, BankAddress, Sender >, SmartMIDIFilteredAnalog< NumBanks, SingleAddress, ContinuousCCSender >, SmartMIDIFilteredAnalog< NumBanks, SingleAddress, PitchBendSender< 10 > >, GenericEncoderSelector< N, Callback >, GenericEncoderSelector< N, SelectorLEDsCallback< N > >, GenericIncrementDecrementSelector< N, Callback >, GenericIncrementDecrementSelector< N, SelectorLEDsCallback< N > >, GenericIncrementSelector< N, Callback >, GenericIncrementSelector< N, SelectorLEDsCallback< N > >, GenericManyButtonsSelector< N, Callback >, GenericManyButtonsSelector< N, SelectorLEDsCallback< N > >, GenericSelector< N, Callback >, GenericSelector< N, SelectorLEDsCallback< N > >, GenericSelector< N, EmptySelectorCallback >, GenericSelector< 2, EmptySelectorCallback >, GenericSelector< 2, SelectorSingleLEDCallback >, GenericSwitchSelector< Callback >, GenericSwitchSelector< SelectorSingleLEDCallback >, and MIDI_Interface.
|
inlinestatic |
Begin all enabled instances of this class.
Definition at line 186 of file Updatable.hpp.
|
inlinestatic |
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.
|
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.