Control Surface stm32
MIDI Control Surface library for Arduino
Classes | Namespaces | Typedefs | Functions
NoteCCKPRangeFastLED.hpp File Reference
#include <FastLED.h>
#include <AH/STL/type_traits>
#include <Settings/NamespaceSettings.hpp>
#include <stdint.h>
#include <MIDI_Inputs/MIDIInputElement.hpp>
+ Include dependency graph for NoteCCKPRangeFastLED.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Color
 A structure for RGB colors. More...
 
struct  DefaultColorMapper
 The default mapping from a 7-bit MIDI value to an RGB color, using the Novation Launchpad mapping. More...
 
class  NoteCCKPRangeFastLED< Type, RangeLen, ColorMapper >
 Generic base class for classes that listen for MIDI Note, Control Change and Key Pressure events on a range of addresses and turns on the corresponding LED in a FastLED strip with a color that depends both on the index in the range and the value of the incoming MIDI message. More...
 
struct  DefaultColorMapper
 The default mapping from a 7-bit MIDI value to an RGB color, using the Novation Launchpad mapping. More...
 
class  NoteCCKPRangeFastLED< Type, BankSize, RangeLen, ColorMapper >
 Generic base class for classes that listen for MIDI Note, Control Change and Key Pressure events on a range of addresses and turns on the corresponding LED in a FastLED strip with a color that depends both on the active bank, the index in the range, and the value of the incoming MIDI message. More...
 

Namespaces

namespace  Bankable
 A namespace for MIDI elements that can be added to a Bank, to change their address or channel.
 

Typedefs

using index_permuter_f = uint8_t(*)(uint8_t)
 Function pointer type to permute indices. More...
 
template<uint8_t RangeLen, class ColorMapper = DefaultColorMapper>
using NoteRangeFastLED = NoteCCKPRangeFastLED< MIDIMessageType::NOTE_ON, RangeLen, ColorMapper >
 MIDI Input Element that listens for MIDI Note messages in a given range, and displays their values using a FastLED LED strip. More...
 
template<class ColorMapper = DefaultColorMapper>
using NoteValueFastLED = NoteCCKPRangeFastLED< MIDIMessageType::NOTE_ON, 1, ColorMapper >
 MIDI Input Element that listens for MIDI Note messages on a specific note, and displays its value using a FastLED LED strip. More...
 
template<uint8_t RangeLen, class ColorMapper = DefaultColorMapper>
using CCRangeFastLED = NoteCCKPRangeFastLED< MIDIMessageType::CONTROL_CHANGE, RangeLen, ColorMapper >
 MIDI Input Element that listens for MIDI Control Change messages in a given range, and displays their values using a FastLED LED strip. More...
 
template<class ColorMapper = DefaultColorMapper>
using CCValueFastLED = NoteCCKPRangeFastLED< MIDIMessageType::CONTROL_CHANGE, 1, ColorMapper >
 MIDI Input Element that listens for MIDI Control Change messages on a specific controller, and displays its value using a FastLED LED strip. More...
 
template<uint8_t RangeLen, class ColorMapper = DefaultColorMapper>
using KPRangeFastLED = NoteCCKPRangeFastLED< MIDIMessageType::KEY_PRESSURE, RangeLen, ColorMapper >
 MIDI Input Element that listens for MIDI Key Pressure messages in a given range, and displays their values using a FastLED LED strip. More...
 
template<class ColorMapper = DefaultColorMapper>
using KPValueFastLED = NoteCCKPRangeFastLED< MIDIMessageType::KEY_PRESSURE, 1, ColorMapper >
 MIDI Input Element that listens for MIDI Key Pressure messages on a specific note, and displays its value using a FastLED LED strip. 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 >
 

Functions

Color velocityToNovationColor (uint8_t value)
 The default mapping from a 7-bit MIDI value to an RGB color, using the Novation Launchpad mapping. More...
 

Class Documentation

◆ Color

struct Color
+ Collaboration diagram for Color:
Class Members
uint8_t r
uint8_t g
uint8_t b

Typedef Documentation

◆ index_permuter_f

using index_permuter_f = uint8_t (*)(uint8_t)

Function pointer type to permute indices.

Definition at line 43 of file NoteCCKPRangeFastLED.hpp.

Function Documentation

◆ velocityToNovationColor()

Color velocityToNovationColor ( uint8_t  value)

The default mapping from a 7-bit MIDI value to an RGB color, using the Novation Launchpad mapping.

Definition at line 7 of file NoteCCKPRangeFastLED.cpp.