Control Surface main MIDI Control Surface library for Arduino
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...

## ◆ NoteLED

 using NoteLED = NoteCCKPLED

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

 using CCLED = NoteCCKPLED

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

 using KPLED = NoteCCKPLED

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

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
 BankSize The number of banks. NumLEDs The number of LEDs the display has.

Definition at line 158 of file NoteCCKPLEDBar.hpp.

## ◆ CCLEDBar

 using CCLEDBar = NoteCCKPLEDBar

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
 BankSize The number of banks. NumLEDs The number of LEDs the display has.

Definition at line 171 of file NoteCCKPLEDBar.hpp.

## ◆ KPLEDBar

 using KPLEDBar = NoteCCKPLEDBar

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
 BankSize The number of banks. NumLEDs The number of LEDs the display has.

Definition at line 185 of file NoteCCKPLEDBar.hpp.

## ◆ NoteLEDPWM

 using NoteLEDPWM = NoteCCKPLEDPWM

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

 using CCLEDPWM = NoteCCKPLEDPWM

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

 using KPLEDPWM = NoteCCKPLEDPWM

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

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
 BankSize The number of banks. RangeLen The length of the range of MIDI note numbers to listen for. ColorMapper The 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
Bankable::NoteRangeFastLED

Definition at line 480 of file NoteCCKPRangeFastLED.hpp.

## ◆ CCRangeFastLED

 using CCRangeFastLED = NoteCCKPRangeFastLED
Bankable::NoteCCKPRangeFastLED

Definition at line 485 of file NoteCCKPRangeFastLED.hpp.

## ◆ CCValueFastLED

 using CCValueFastLED = CCRangeFastLED
Bankable::NoteCCKPRangeFastLED

Definition at line 490 of file NoteCCKPRangeFastLED.hpp.

## ◆ KPRangeFastLED

 using KPRangeFastLED = NoteCCKPRangeFastLED
Bankable::NoteCCKPRangeFastLED

Definition at line 495 of file NoteCCKPRangeFastLED.hpp.

## ◆ KPValueFastLED

 using KPValueFastLED = KPRangeFastLED
Bankable::NoteCCKPRangeFastLED

Definition at line 500 of file NoteCCKPRangeFastLED.hpp.

## ◆ NoteRangeLEDs

 using NoteRangeLEDs = NoteCCKPRangeLEDs

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

 using CCRangeLEDs = NoteCCKPRangeLEDs

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

 using KPRangeLEDs = NoteCCKPRangeLEDs

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.