Control Surface  1.2.0
MIDI Control Surface library for Arduino
Public Member Functions | Static Public Member Functions | Protected Attributes | Static Protected Attributes | Private Attributes | List of all members
LCDDisplay Class Reference

Displays the text of the Mackie Control Universal LCD screen for a single track. More...

#include <Display/MCU/LCDDisplay.hpp>

+ Inheritance diagram for LCDDisplay:
+ Collaboration diagram for LCDDisplay:

Public Member Functions

 LCDDisplay (DisplayInterface &display, const MCU::LCD<> &lcd, const OutputBank &bank, uint8_t track, PixelLocation loc, uint8_t textSize, uint16_t color)
 Constructor. More...
 
 LCDDisplay (DisplayInterface &display, const MCU::LCD<> &lcd, const OutputBank &bank, uint8_t track, uint8_t line, PixelLocation loc, uint8_t textSize, uint16_t color)
 Constructor. More...
 
void draw () override
 Draw this DisplayElement to the display buffer. More...
 
bool separateTracks () const
 Check if the display contains a message for each track separately. More...
 
void setLine (uint8_t line)
 
DisplayInterfacegetDisplay ()
 Get a reference to the display that this element draws to. More...
 
const DisplayInterfacegetDisplay () const
 Get a const reference to the display that this element draws to. More...
 

Static Public Member Functions

static DoublyLinkedList< DisplayElement > & getAll ()
 Get the list of all DisplayElement instances. More...
 

Protected Attributes

DisplayInterfacedisplay
 
DisplayElementnext
 
DisplayElementprevious
 

Static Protected Attributes

static DoublyLinkedList< DisplayElementelements
 

Private Attributes

const MCU::LCDlcd
 
const OutputBankbank
 
uint8_t offset
 
uint8_t line
 
int16_t x
 
int16_t y
 
uint8_t size
 
uint16_t color
 

Detailed Description

Displays the text of the Mackie Control Universal LCD screen for a single track.

Often used for track names.

Examples
MCU-OLED-SSD1306-x2.ino.

Definition at line 18 of file LCDDisplay.hpp.

Constructor & Destructor Documentation

◆ LCDDisplay() [1/2]

LCDDisplay ( DisplayInterface display,
const MCU::LCD<> &  lcd,
const OutputBank bank,
uint8_t  track,
PixelLocation  loc,
uint8_t  textSize,
uint16_t  color 
)
inline

Constructor.

Parameters
displayA reference to the display that this element will be drawn to.
lcdA reference to the MCU LCD MIDI input element that listens for incoming MIDI display data.
bankThe bank that determines the active track to be displayed.
trackThe track number to display [1, 8].
locThe location on the display where to start drawing the text.
textSizeThe font size to use for drawing the text.
colorThe color of the text to draw.

Definition at line 39 of file LCDDisplay.hpp.

◆ LCDDisplay() [2/2]

LCDDisplay ( DisplayInterface display,
const MCU::LCD<> &  lcd,
const OutputBank bank,
uint8_t  track,
uint8_t  line,
PixelLocation  loc,
uint8_t  textSize,
uint16_t  color 
)
inline

Constructor.

Parameters
displayA reference to the display that this element will be drawn to.
lcdA reference to the MCU LCD MIDI input element that listens for incoming MIDI display data.
bankThe bank that determines the active track to be displayed.
trackThe track number to display [1, 8].
lineThe line of the MCU display to display [0, 1].
locThe location on the display where to start drawing the text.
textSizeThe font size to use for drawing the text.
colorThe color of the text to draw.

Definition at line 66 of file LCDDisplay.hpp.

Member Function Documentation

◆ draw()

void draw ( )
inlineoverridevirtual

Draw this DisplayElement to the display buffer.

Implements DisplayElement.

Definition at line 72 of file LCDDisplay.hpp.

◆ separateTracks()

bool separateTracks ( ) const
inline

Check if the display contains a message for each track separately.

On the original Mackie Control surfaces, the LCD display consists of two 56-character lines, where each of the 8 channels has 7 characters. If the LCD is used to display a message for each channel separately, the seventh character of each channel is always a space, as separation between the channels.

Return values
trueThe display contains a message for each track separately, and the messages are separated by spaces.
falseThe display contains a message that spans across multiple tracks, without separating spaces between the tracks.

Definition at line 110 of file LCDDisplay.hpp.

◆ setLine()

void setLine ( uint8_t  line)
inline

Definition at line 119 of file LCDDisplay.hpp.

◆ getDisplay() [1/2]

DisplayInterface& getDisplay ( )
inlineinherited

Get a reference to the display that this element draws to.

Definition at line 36 of file DisplayElement.hpp.

◆ getDisplay() [2/2]

const DisplayInterface& getDisplay ( ) const
inlineinherited

Get a const reference to the display that this element draws to.

Definition at line 38 of file DisplayElement.hpp.

◆ getAll()

static DoublyLinkedList<DisplayElement>& getAll ( )
inlinestaticinherited

Get the list of all DisplayElement instances.

Definition at line 41 of file DisplayElement.hpp.

Member Data Documentation

◆ lcd

const MCU::LCD& lcd
private

Definition at line 122 of file LCDDisplay.hpp.

◆ bank

const OutputBank& bank
private

Definition at line 123 of file LCDDisplay.hpp.

◆ offset

uint8_t offset
private

Definition at line 124 of file LCDDisplay.hpp.

◆ line

uint8_t line
private

Definition at line 125 of file LCDDisplay.hpp.

◆ x

int16_t x
private

Definition at line 126 of file LCDDisplay.hpp.

◆ y

int16_t y
private

Definition at line 126 of file LCDDisplay.hpp.

◆ size

uint8_t size
private

Definition at line 127 of file LCDDisplay.hpp.

◆ color

uint16_t color
private

Definition at line 128 of file LCDDisplay.hpp.

◆ display

DisplayInterface& display
protectedinherited

Definition at line 44 of file DisplayElement.hpp.

◆ elements

DoublyLinkedList< DisplayElement > elements
staticprotectedinherited

Definition at line 46 of file DisplayElement.hpp.

◆ next

DisplayElement * next
protectedinherited

Definition at line 323 of file LinkedList.hpp.

◆ previous

DisplayElement * previous
protectedinherited

Definition at line 324 of file LinkedList.hpp.


The documentation for this class was generated from the following file: