This is an old version of the documentation. View the latest version here.
Control Surface  1.0.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
MCU::LCDDisplay Class Reference

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

#include <LCDDisplay.hpp>

Inheritance diagram for MCU::LCDDisplay:
Collaboration diagram for MCU::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]

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

Constructor.

Parameters
display
lcd
bank
trackThe track number to display [1, 8].
loc
textSize
color

Definition at line 32 of file LCDDisplay.hpp.

◆ LCDDisplay() [2/2]

MCU::LCDDisplay::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
display
lcd
bank
trackThe track number to display [1, 8].
line
loc
textSize
color

Definition at line 51 of file LCDDisplay.hpp.

Member Function Documentation

◆ draw()

void MCU::LCDDisplay::draw ( )
inlineoverridevirtual

Draw this DisplayElement to the display buffer.

Implements DisplayElement.

Definition at line 57 of file LCDDisplay.hpp.

◆ separateTracks()

bool MCU::LCDDisplay::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 95 of file LCDDisplay.hpp.

◆ setLine()

void MCU::LCDDisplay::setLine ( uint8_t  line)
inline

Definition at line 104 of file LCDDisplay.hpp.

◆ getDisplay() [1/2]

DisplayInterface& DisplayElement::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& DisplayElement::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>& 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& MCU::LCDDisplay::lcd
private

Definition at line 107 of file LCDDisplay.hpp.

◆ bank

const OutputBank& MCU::LCDDisplay::bank
private

Definition at line 108 of file LCDDisplay.hpp.

◆ offset

uint8_t MCU::LCDDisplay::offset
private

Definition at line 109 of file LCDDisplay.hpp.

◆ line

uint8_t MCU::LCDDisplay::line
private

Definition at line 110 of file LCDDisplay.hpp.

◆ x

int16_t MCU::LCDDisplay::x
private

Definition at line 111 of file LCDDisplay.hpp.

◆ y

int16_t MCU::LCDDisplay::y
private

Definition at line 111 of file LCDDisplay.hpp.

◆ size

uint8_t MCU::LCDDisplay::size
private

Definition at line 112 of file LCDDisplay.hpp.

◆ color

uint16_t MCU::LCDDisplay::color
private

Definition at line 113 of file LCDDisplay.hpp.

◆ display

DisplayInterface& DisplayElement::display
protectedinherited

Definition at line 44 of file DisplayElement.hpp.

◆ elements

DoublyLinkedList< DisplayElement > DisplayElement::elements
staticprotectedinherited

Definition at line 46 of file DisplayElement.hpp.

◆ next

DisplayElement * DoublyLinkable< DisplayElement >::next
protectedinherited

Definition at line 301 of file LinkedList.hpp.

◆ previous

DisplayElement * DoublyLinkable< DisplayElement >::previous
protectedinherited

Definition at line 302 of file LinkedList.hpp.


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