#include <MIDI_Inputs/MCU/LCD.hpp>
A class that represents the Mackie Control Universal LCD display and saves the text it receives.
The format of the MIDI message is as follows (hex):
| SysEx Start | Data 1 | Data 2 | Data 3 | Data 4 | Data 5 | Data 6 | Data 7 | ... | SysEx End |
|---|---|---|---|---|---|---|---|---|---|
| F0 | mm | mm | mm | nn | 12 | oo | yy | ... | F7 |
The manufacturer ID and model number are ignored by this class.
Data access | |
| const char * | getText () const |
| Get a pointer to the null-terminated display text. | |
Detecting changes | |
| bool | getDirty () const |
| Check if the text was updated since the last time the dirty flag was cleared. | |
| void | clearDirty () |
| Clear the dirty flag. | |
| void | markDirty () |
| Set the dirty counter to the number of subscribers (or one). | |
| void | addSubscriber () |
| void | removeSubscriber () |
Enabling and disabling updatables | |
| void | enable () |
| Enable this updatable: insert it into the linked list of instances, so it gets updated automatically. | |
| void | disable () |
| Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically. | |
| bool | isEnabled () const |
| Check if this updatable is enabled. | |
| void | moveDown () |
| Move down this element in the list. | |
Public Types | |
| using | MessageType |
Public Member Functions | |
| LCD (uint8_t offset=0, Cable cable=Cable_1) | |
| void | begin () override |
| Initialize the input element. | |
| virtual void | reset () |
| Reset the input element to its initial state. | |
| virtual void | update () |
| Update the value of the input element. Used for decaying VU meters etc. | |
| virtual bool | updateWith (MessageType midimsg)=0 |
| Receive a new MIDI message and update the internal state. | |
Static Public Member Functions | |
| static bool | updateAllWith (MessageType midimsg) |
| Update all. | |
| static void | updateAll () |
| Update all. | |
| static void | beginAll () |
| Begin all. | |
| static void | resetAll () |
| Reset all. | |
Protected Member Functions | |
| bool | updateWith (SysExMessage midimsg) override |
Protected Attributes | |
| MIDIInputElement< Type > * | next |
| MIDIInputElement< Type > * | previous |
Static Protected Attributes | |
| static DoublyLinkedList< MIDIInputElement< Type > > | updatables |
Static Private Member Functions | |
| static uint8_t | getInstances () |
Private Attributes | |
| Array< char, BufferSize+1 > | buffer |
| uint8_t | offset |
| Cable | cable |
| uint8_t | dirty = 0 |
| uint8_t | num_subscribers = 0 |
Static Private Attributes | |
| static uint8_t | instances = 0 |
|
inherited |
Definition at line 29 of file MIDIInputElement.hpp.
| offset | The text sent over MIDI is 112 characters long, by changing the offset within this text and the length of the text, we can listen to just a section of the text. E.g. offset = 56 and BufferSize = 56 will listen to just the second line of the LCD display. The default is offset = 0 and BufferSize = 112, i.e. listening to the entire display. |
| cable | The MIDI USB cable number to listen for. |
|
inlineoverrideprotected |
|
inlineoverridevirtual |
Initialize the input element.
Reimplemented from MIDIInputElement< MIDIMessageType::SysExStart >.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtualinherited |
Reset the input element to its initial state.
Definition at line 37 of file MIDIInputElement.hpp.
|
inlinevirtualinherited |
Update the value of the input element. Used for decaying VU meters etc.
Definition at line 40 of file MIDIInputElement.hpp.
|
pure virtualinherited |
Receive a new MIDI message and update the internal state.
|
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 96 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 106 of file Updatable.hpp.
|
inlineinherited |
Check if this updatable is enabled.
Definition at line 120 of file Updatable.hpp.
|
inlineinherited |
Move down this element in the list.
Definition at line 147 of file Updatable.hpp.
|
private |
|
private |
|
private |
|
staticprotectedinherited |
Definition at line 152 of file Updatable.hpp.
|
protectedinherited |
Definition at line 320 of file LinkedList.hpp.
|
protectedinherited |
Definition at line 321 of file LinkedList.hpp.