Control Surface main
MIDI Control Surface library for Arduino
Loading...
Searching...
No Matches
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::NoteOn, 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.
 
template<uint8_t BankSize>
using CCLED = NoteCCKPLED<MIDIMessageType::ControlChange, 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.
 
template<uint8_t BankSize>
using KPLED = NoteCCKPLED<MIDIMessageType::KeyPressure, 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.
 
template<uint8_t BankSize, uint8_t NumLEDs>
using NoteLEDBar = NoteCCKPLEDBar<MIDIMessageType::NoteOn, 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.
 
template<uint8_t BankSize, uint8_t NumLEDs>
using 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.
 
template<uint8_t BankSize, uint8_t NumLEDs>
using 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.
 
template<uint8_t BankSize>
using NoteLEDPWM = NoteCCKPLEDPWM<MIDIMessageType::NoteOn, 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.
 
template<uint8_t BankSize>
using CCLEDPWM = NoteCCKPLEDPWM<MIDIMessageType::ControlChange, 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.
 
template<uint8_t BankSize>
using KPLEDPWM = NoteCCKPLEDPWM<MIDIMessageType::KeyPressure, 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.
 
template<uint8_t BankSize, uint8_t RangeLen, class ColorMapper = DefaultColorMapper>
using NoteRangeFastLED
 MIDI Input Element that listens across banks for MIDI Note messages in a given range, and displays their values using a FastLED LED strip.
 
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
 
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
 
template<uint8_t BankSize, class ColorMapper = DefaultColorMapper>
using KPValueFastLED = KPRangeFastLED<BankSize, 1, ColorMapper>
 
template<uint8_t BankSize, uint8_t RangeLen>
using 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.
 
template<uint8_t BankSize, uint8_t RangeLen>
using 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.
 
template<uint8_t BankSize, uint8_t RangeLen>
using 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.
 

Typedef Documentation

◆ NoteLED

template<uint8_t BankSize>
using NoteLED = NoteCCKPLED<MIDIMessageType::NoteOn, 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.

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

template<uint8_t BankSize>
using KPLED = NoteCCKPLED<MIDIMessageType::KeyPressure, 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.

This version listens accross multiple banks.

Definition at line 169 of file NoteCCKPLED.hpp.

◆ NoteLEDBar

template<uint8_t BankSize, uint8_t NumLEDs>
using NoteLEDBar = NoteCCKPLEDBar<MIDIMessageType::NoteOn, 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

template<uint8_t BankSize, uint8_t NumLEDs>
using CCLEDBar
Initial value:
An array wrapper for easy copying, comparing, and iterating.
Definition Array.hpp:32

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

template<uint8_t BankSize, uint8_t NumLEDs>
using KPLEDBar
Initial value:

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

template<uint8_t BankSize, uint8_t RangeLen, class ColorMapper = DefaultColorMapper>
using NoteRangeFastLED
Initial value:
@ NoteOn
Note On Channel Voice message (3B).
Generic base class for classes that listen for MIDI Note, Control Change and Key Pressure events on a...

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

template<uint8_t BankSize, class ColorMapper = DefaultColorMapper>
using NoteValueFastLED = NoteRangeFastLED<BankSize, 1, ColorMapper>
See also
Bankable::NoteRangeFastLED

Definition at line 480 of file NoteCCKPRangeFastLED.hpp.

◆ CCRangeFastLED

template<uint8_t BankSize, uint8_t RangeLen, class ColorMapper = DefaultColorMapper>
using CCRangeFastLED
Initial value:
BankSize, RangeLen, ColorMapper>
@ ControlChange
Control Change Channel Voice message (3B).
See also
Bankable::NoteCCKPRangeFastLED

Definition at line 485 of file NoteCCKPRangeFastLED.hpp.

◆ CCValueFastLED

template<uint8_t BankSize, class ColorMapper = DefaultColorMapper>
using CCValueFastLED = CCRangeFastLED<BankSize, 1, ColorMapper>
See also
Bankable::NoteCCKPRangeFastLED

Definition at line 490 of file NoteCCKPRangeFastLED.hpp.

◆ KPRangeFastLED

template<uint8_t BankSize, uint8_t RangeLen, class ColorMapper = DefaultColorMapper>
using KPRangeFastLED
Initial value:
BankSize, RangeLen, ColorMapper>
@ KeyPressure
Key Pressure Channel Voice message (3B).
See also
Bankable::NoteCCKPRangeFastLED

Definition at line 495 of file NoteCCKPRangeFastLED.hpp.

◆ KPValueFastLED

template<uint8_t BankSize, class ColorMapper = DefaultColorMapper>
using KPValueFastLED = KPRangeFastLED<BankSize, 1, ColorMapper>
See also
Bankable::NoteCCKPRangeFastLED

Definition at line 500 of file NoteCCKPRangeFastLED.hpp.

◆ NoteRangeLEDs

template<uint8_t BankSize, uint8_t RangeLen>
using NoteRangeLEDs
Initial value:

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 171 of file NoteCCKPRangeLEDs.hpp.

◆ CCRangeLEDs

template<uint8_t BankSize, uint8_t RangeLen>
using CCRangeLEDs
Initial value:

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 179 of file NoteCCKPRangeLEDs.hpp.

◆ KPRangeLEDs

template<uint8_t BankSize, uint8_t RangeLen>
using KPRangeLEDs
Initial value:

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 187 of file NoteCCKPRangeLEDs.hpp.