Control Surface master
MIDI Control Surface library for Arduino
Classes | Typedefs
Bankable MIDI Input Elements LEDs

Detailed Description

All Bankable MIDIInputElements that visualize their state using LEDs.

+ Collaboration diagram for Bankable MIDI Input Elements LEDs:

Classes

class  VPotRingLEDs< BankSize >
 A MIDI input element that represents a Mackie Control Universal VPot ring and displays its value using LEDs. More...
 
class  VULEDs< BankSize, NumLEDs >
 A MIDI input element that represents a Mackie Control Universal VU meter and displays its value using LEDs. More...
 

Typedefs

template<uint8_t BankSize>
using NoteLED = NoteCCKPLED< MIDIMessageType::NOTE_ON, BankSize >
 Class that listens for MIDI Note events on a single address and turns on an LED when the value is higher than a threshold. More...
 
template<uint8_t BankSize>
using CCLED = NoteCCKPLED< MIDIMessageType::CONTROL_CHANGE, BankSize >
 Class that listens for MIDI Control Change events on a single address and turns on an LED when the value is higher than a threshold. More...
 
template<uint8_t BankSize>
using KPLED = NoteCCKPLED< MIDIMessageType::KEY_PRESSURE, BankSize >
 Class that listens for MIDI Key Pressure events on a single address and turns on an LED when the value is higher than a threshold. More...
 
template<uint8_t BankSize, uint8_t NumLEDs>
using NoteLEDBar = NoteCCKPLEDBar< MIDIMessageType::NOTE_ON, BankSize, NumLEDs >
 Class that listens for Note events and displays the velocity on an LED Bar Graph, turning on a different number of LEDs depending on the velocity. More...
 
template<uint8_t BankSize, uint8_t NumLEDs>
using CCLEDBar = NoteCCKPLEDBar< MIDIMessageType::CONTROL_CHANGE, BankSize, NumLEDs >
 Class that listens for Control Change events and displays the value on an LED Bar Graph, turning on a different number of LEDs depending on the value. More...
 
template<uint8_t BankSize, uint8_t NumLEDs>
using KPLEDBar = NoteCCKPLEDBar< MIDIMessageType::KEY_PRESSURE, BankSize, NumLEDs >
 Class that listens for Key Pressure events and displays the pressure on an LED Bar Graph, turning on a different number of LEDs depending on the value. More...
 
template<uint8_t BankSize>
using NoteLEDPWM = NoteCCKPLEDPWM< MIDIMessageType::NOTE_ON, BankSize >
 Class that listens for MIDI Note events on a single address and turns on an LED with a brightness/duty cycle proportional to the velocity. More...
 
template<uint8_t BankSize>
using CCLEDPWM = NoteCCKPLEDPWM< MIDIMessageType::CONTROL_CHANGE, BankSize >
 Class that listens for MIDI Control Change events on a single address and turns on an LED with a brightness/duty cycle proportional to the value. More...
 
template<uint8_t BankSize>
using KPLEDPWM = NoteCCKPLEDPWM< MIDIMessageType::KEY_PRESSURE, BankSize >
 Class that listens for MIDI Key Pressure events on a single address and turns on an LED with a brightness/duty cycle proportional to the pressure. More...
 
template<uint8_t BankSize, uint8_t RangeLen, class ColorMapper = DefaultColorMapper>
using NoteRangeFastLED = NoteCCKPRangeFastLED< MIDIMessageType::NOTE_ON, BankSize, RangeLen, ColorMapper >
 MIDI Input Element that listens across banks for MIDI Note messages in a given range, and displays their values using a FastLED LED strip. More...
 
template<uint8_t BankSize, class ColorMapper = DefaultColorMapper>
using NoteValueFastLED = NoteRangeFastLED< BankSize, 1, ColorMapper >
 
template<uint8_t BankSize, uint8_t RangeLen, class ColorMapper = DefaultColorMapper>
using CCRangeFastLED = NoteCCKPRangeFastLED< MIDIMessageType::CONTROL_CHANGE, BankSize, RangeLen, ColorMapper >
 
template<uint8_t BankSize, class ColorMapper = DefaultColorMapper>
using CCValueFastLED = CCRangeFastLED< BankSize, 1, ColorMapper >
 
template<uint8_t BankSize, uint8_t RangeLen, class ColorMapper = DefaultColorMapper>
using KPRangeFastLED = NoteCCKPRangeFastLED< MIDIMessageType::KEY_PRESSURE, BankSize, RangeLen, ColorMapper >
 
template<uint8_t BankSize, class ColorMapper = DefaultColorMapper>
using KPValueFastLED = KPRangeFastLED< BankSize, 1, ColorMapper >
 
template<uint8_t BankSize, uint8_t RangeLen>
using NoteRangeLEDs = NoteCCKPRangeLEDs< MIDIMessageType::NOTE_ON, BankSize, RangeLen >
 Class that listens for MIDI Note events on a single address and turns on the corresponding LED when the velocity is higher than a threshold. More...
 
template<uint8_t BankSize, uint8_t RangeLen>
using CCRangeLEDs = NoteCCKPRangeLEDs< MIDIMessageType::CONTROL_CHANGE, BankSize, RangeLen >
 Class that listens for MIDI Control Change events on a single address and turns on the corresponding LED when the value is higher than a threshold. More...
 
template<uint8_t BankSize, uint8_t RangeLen>
using KPRangeLEDs = NoteCCKPRangeLEDs< MIDIMessageType::KEY_PRESSURE, BankSize, RangeLen >
 Class that listens for MIDI Key Pressure events on a single address and turns on the corresponding LED when the pressure is higher than a threshold. More...
 

Typedef Documentation

◆ NoteLED

Class that listens for MIDI Note events on a single address and turns on an LED when the value is higher than a threshold.

This version listens accross multiple banks.

Definition at line 155 of file NoteCCKPLED.hpp.

◆ CCLED

Class that listens for MIDI Control Change events on a single address and turns on an LED when the value is higher than a threshold.

This version listens accross multiple banks.

Definition at line 162 of file NoteCCKPLED.hpp.

◆ KPLED

Class that listens for MIDI Key Pressure events on a single address and turns on an LED when the value is higher than a threshold.

This version listens accross multiple banks.

Definition at line 169 of file NoteCCKPLED.hpp.

◆ NoteLEDBar

using NoteLEDBar = NoteCCKPLEDBar<MIDIMessageType::NOTE_ON, BankSize, NumLEDs>

Class that listens for Note events and displays the velocity on an LED Bar Graph, turning on a different number of LEDs depending on the velocity.

Similar to a digital LED VU meter. Can be configured in either bar or dot mode. This version can be banked.

Template Parameters
BankSizeThe number of banks.
NumLEDsThe number of LEDs the display has.

Definition at line 158 of file NoteCCKPLEDBar.hpp.

◆ CCLEDBar

Class that listens for Control Change events and displays the value on an LED Bar Graph, turning on a different number of LEDs depending on the value.

Similar to a digital LED VU meter. Can be configured in either bar or dot mode. This version can be banked.

Template Parameters
BankSizeThe number of banks.
NumLEDsThe number of LEDs the display has.

Definition at line 171 of file NoteCCKPLEDBar.hpp.

◆ KPLEDBar

Class that listens for Key Pressure events and displays the pressure on an LED Bar Graph, turning on a different number of LEDs depending on the value.

Similar to a digital LED VU meter. Can be configured in either bar or dot mode. This version can be banked.

Template Parameters
BankSizeThe number of banks.
NumLEDsThe number of LEDs the display has.

Definition at line 185 of file NoteCCKPLEDBar.hpp.

◆ NoteLEDPWM

Class that listens for MIDI Note events on a single address and turns on an LED with a brightness/duty cycle proportional to the velocity.

This version listens accross multiple banks.

Definition at line 145 of file NoteCCKPLEDPWM.hpp.

◆ CCLEDPWM

Class that listens for MIDI Control Change events on a single address and turns on an LED with a brightness/duty cycle proportional to the value.

This version listens accross multiple banks.

Definition at line 152 of file NoteCCKPLEDPWM.hpp.

◆ KPLEDPWM

Class that listens for MIDI Key Pressure events on a single address and turns on an LED with a brightness/duty cycle proportional to the pressure.

This version listens accross multiple banks.

Definition at line 159 of file NoteCCKPLEDPWM.hpp.

◆ NoteRangeFastLED

using NoteRangeFastLED = NoteCCKPRangeFastLED<MIDIMessageType::NOTE_ON, BankSize, RangeLen, ColorMapper>

MIDI Input Element that listens across banks for MIDI Note messages in a given range, and displays their values using a FastLED LED strip.

This class doesn't actually write to the LEDs directly, it writes to a buffer of CRGB values that is sent to the LEDs by the FastLED library in the user code. To know when to update the LEDs, you can use the Bankable::NoteCCKPRangeFastLED::getDirty() and Bankable::NoteCCKPRangeFastLED::clearDirty() methods.

Template Parameters
BankSizeThe number of banks.
RangeLenThe length of the range of MIDI note numbers to listen for.
ColorMapperThe color mapper that defines how each MIDI velocity value should be mapped to an RGB color for the LEDs.

Definition at line 475 of file NoteCCKPRangeFastLED.hpp.

◆ NoteValueFastLED

using NoteValueFastLED = NoteRangeFastLED<BankSize, 1, ColorMapper>
See also
Bankable::NoteRangeFastLED

Definition at line 480 of file NoteCCKPRangeFastLED.hpp.

◆ CCRangeFastLED

using CCRangeFastLED = NoteCCKPRangeFastLED<MIDIMessageType::CONTROL_CHANGE, BankSize, RangeLen, ColorMapper>
See also
Bankable::NoteCCKPRangeFastLED

Definition at line 485 of file NoteCCKPRangeFastLED.hpp.

◆ CCValueFastLED

using CCValueFastLED = CCRangeFastLED<BankSize, 1, ColorMapper>
See also
Bankable::NoteCCKPRangeFastLED

Definition at line 490 of file NoteCCKPRangeFastLED.hpp.

◆ KPRangeFastLED

using KPRangeFastLED = NoteCCKPRangeFastLED<MIDIMessageType::KEY_PRESSURE, BankSize, RangeLen, ColorMapper>
See also
Bankable::NoteCCKPRangeFastLED

Definition at line 495 of file NoteCCKPRangeFastLED.hpp.

◆ KPValueFastLED

using KPValueFastLED = KPRangeFastLED<BankSize, 1, ColorMapper>
See also
Bankable::NoteCCKPRangeFastLED

Definition at line 500 of file NoteCCKPRangeFastLED.hpp.

◆ NoteRangeLEDs

Class that listens for MIDI Note events on a single address and turns on the corresponding LED when the velocity is higher than a threshold.

This version listens accross multiple banks.

Definition at line 173 of file NoteCCKPRangeLEDs.hpp.

◆ CCRangeLEDs

Class that listens for MIDI Control Change events on a single address and turns on the corresponding LED when the value is higher than a threshold.

This version listens accross multiple banks.

Definition at line 181 of file NoteCCKPRangeLEDs.hpp.

◆ KPRangeLEDs

Class that listens for MIDI Key Pressure events on a single address and turns on the corresponding LED when the pressure is higher than a threshold.

This version listens accross multiple banks.

Definition at line 189 of file NoteCCKPRangeLEDs.hpp.