#include <MIDI_Inputs/LEDs/NoteCCKPLEDBar.hpp>
Class that turns on a different number of LEDs depending on the received MIDI velocity, key pressure or Control Change value.
Similar to a digital LED VU meter. Can be configured in either bar or dot mode.
Definition at line 30 of file NoteCCKPLEDBar.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... | |
Public Types | |
using | Matcher = TwoByteMIDIMatcher |
using | Parent = MatchingMIDIInputElement< Type, Matcher > |
using | MessageType = typename MIDIInputElement< Type >::MessageType |
Public Member Functions | |
NoteCCKPLEDBar (const AH::PinList< NumLEDs > &leds, MIDIAddress address) | |
void | begin () override |
Initialize the input element. More... | |
void | reset () override |
Reset the input element to its initial state. More... | |
bool | updateWith (MessageType midimsg) override |
Receive a new MIDI message and update the internal state. More... | |
virtual void | handleUpdate (typename Matcher::Result match)=0 |
virtual void | update () |
Update the value of the input element. Used for decaying VU meters etc. More... | |
void | displayBar (uint8_t value) |
void | display (uint16_t value) const |
Display the given number of LEDs on the LED bar. More... | |
void | display (float value) const |
Display the given fraction of the LED bar. More... | |
DotBarMode | getMode () const |
Get the dot/bar mode. More... | |
void | setMode (DotBarMode mode) |
Set the mode to either dot or bar mode. More... | |
void | dotMode () |
Set the mode to dot mode. More... | |
void | barMode () |
Set the mode to bar mode. More... | |
void | toggleMode () |
Toggle the dot/bar mode. More... | |
void | begin () const |
Initialize (set LED pins as outputs). More... | |
void | displayRange (uint16_t startOn, uint16_t startOff) const |
Turn on a range of the LEDs. More... | |
void | set (uint16_t index) const |
Turn on the given LED. More... | |
void | clear (uint16_t index) const |
Turn off the given LED. More... | |
void | clear () const |
Turn off all LEDs. More... | |
void | displayDot (uint16_t led) const |
Turn on a single LED, and turn off all others. More... | |
Static Public Member Functions | |
static bool | updateAllWith (MessageType midimsg) |
Update all. More... | |
static void | updateAll () |
Update all. More... | |
static void | beginAll () |
Begin all. More... | |
static void | resetAll () |
Reset all. More... | |
Protected Member Functions | |
void | handleUpdate (typename Matcher::Result match) override |
Protected Attributes | |
TwoByteMIDIMatcher | matcher |
MIDIInputElement< Type > * | next |
MIDIInputElement< Type > * | previous |
Static Protected Attributes | |
static DoublyLinkedList< MIDIInputElement< Type > > | updatables |
Private Attributes | |
DotBarMode | mode |
const PinList< N > | ledPins |
using Matcher = TwoByteMIDIMatcher |
Definition at line 34 of file NoteCCKPLEDBar.hpp.
using Parent = MatchingMIDIInputElement<Type, Matcher> |
Definition at line 35 of file NoteCCKPLEDBar.hpp.
|
inherited |
Definition at line 93 of file MIDIInputElement.hpp.
|
inline |
leds | A list of LED pins. |
address | The MIDI address to listen to. |
Definition at line 41 of file NoteCCKPLEDBar.hpp.
|
inlineoverrideprotected |
Definition at line 45 of file NoteCCKPLEDBar.hpp.
|
inlineoverridevirtual |
Initialize the input element.
Reimplemented from MIDIInputElement< Type >.
Definition at line 50 of file NoteCCKPLEDBar.hpp.
|
inlineoverridevirtual |
Reset the input element to its initial state.
Reimplemented from MIDIInputElement< Type >.
Definition at line 55 of file NoteCCKPLEDBar.hpp.
|
inlineoverridevirtualinherited |
Receive a new MIDI message and update the internal state.
Implements MIDIInputElement< Type >.
Definition at line 95 of file MIDIInputElement.hpp.
|
pure virtualinherited |
|
inlinevirtualinherited |
Update the value of the input element. Used for decaying VU meters etc.
Reimplemented in VULEDs< NumLEDs >, VULEDs< BankSize, NumLEDs >, VU, and VU< BankSize >.
Definition at line 40 of file MIDIInputElement.hpp.
|
inlinestaticinherited |
Update all.
Definition at line 46 of file MIDIInputElement.hpp.
|
inlinestaticinherited |
Update all.
Definition at line 57 of file MIDIInputElement.hpp.
|
inlinestaticinherited |
Begin all.
Definition at line 62 of file MIDIInputElement.hpp.
|
inlinestaticinherited |
Reset all.
Definition at line 67 of file MIDIInputElement.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.
|
inlineinherited |
Definition at line 20 of file NoteCCKPLEDBar.hpp.
|
inlineinherited |
Display the given number of LEDs on the LED bar.
value | The number of the LED to activate. |
Definition at line 40 of file DotBarDisplayLEDs.hpp.
|
inlineinherited |
Display the given fraction of the LED bar.
value | The fraction of the LED bar to display. |
Definition at line 55 of file DotBarDisplayLEDs.hpp.
|
inlineinherited |
Get the dot/bar mode.
Definition at line 58 of file DotBarDisplayLEDs.hpp.
|
inlineinherited |
Set the mode to either dot or bar mode.
mode | The mode. |
Definition at line 66 of file DotBarDisplayLEDs.hpp.
|
inlineinherited |
Set the mode to dot mode.
Definition at line 69 of file DotBarDisplayLEDs.hpp.
|
inlineinherited |
Set the mode to bar mode.
Definition at line 72 of file DotBarDisplayLEDs.hpp.
|
inlineinherited |
Toggle the dot/bar mode.
Definition at line 75 of file DotBarDisplayLEDs.hpp.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
protectedinherited |
Definition at line 105 of file MIDIInputElement.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.
|
privateinherited |
Definition at line 78 of file DotBarDisplayLEDs.hpp.