|
Control Surface
main
MIDI Control Surface library for Arduino
|
| ►Ndetail | |
| ►NExtIO | A namespace with alternatives to the standard Arduino IO functions that can be used with extended IO pin numbers |
| ►NAH | PrintStream library |
| ►NBankable | A namespace for MIDI elements that can be added to a Bank, to change their address or channel |
| ►Nble_backend | |
| ►Ncompat | |
| ►Ncs | |
| ►NInterfaces | |
| ►NMCU | |
| ►NMIDI_Notes | MIDI note names |
| CAdafruit_TinyUSB_USBDeviceMIDIBackend | |
| CAHEncoder | Class for reading quadrature encoders, heavily influenced by http://www.pjrc.com/teensy/td_libs_Encoder.html |
| CAnalogMultiplex | A class for reading multiplexed analog inputs |
| ►CAnyMIDIMessage | MIDI message variant type (with timestamp) |
| CArduino_mbed_USBDeviceMIDIBackend | |
| CArduinoBLEBackend | ArduinoBLE backend intended to be plugged into GenericBLEMIDI_Interface |
| CArray | An array wrapper for easy copying, comparing, and iterating |
| CArraySlice | Class for a view on a slice of an array |
| CAtomicPosition | |
| ►CAudioVU | A VU meter that reads from an Audio stream using the Analyzer class |
| CAudioVULEDs | A VU meter that reads from an Audio stream using the AudioAnalyzePeak class, and displays it on an LED bar graph |
| CBank | A class that groups Bankable MIDI Output Elements and Bankable MIDI Input Elements, and allows the user to change the addresses of these elements |
| CBankableMatchingMIDIInputElement | Similar to MatchingMIDIInputElement, but for Bankable MIDI Input Elements |
| CBankableMIDIInput | |
| ►CBankableOneByteMIDIMatcher | Matcher for MIDI messages with 1 data byte, such as Channel Pressure and Program Change |
| ►CBankablePitchBendMIDIMatcher | Matcher for MIDI Pitch Bend messages |
| ►CBankableTwoByteMIDIMatcher | Matcher for MIDI messages with 2 data bytes, such as Note On/Off, Control Change, Key Pressure |
| ►CBankableTwoByteRangeMIDIMatcher | Matcher for MIDI messages with 2 data bytes, such as Note On/Off, Control Change, Key Pressure |
| CBankConfig | |
| CBankDisplay | A class for displaying the setting of a Bank object |
| CBankSettingChangeCallback | Callback class for Bankable objects that need to be notified when the active setting of their Bank changes |
| CBaseBankConfig | A struct for selecting the bank of BankableMIDIInputs and the bank type |
| CBaseOutputBankConfig | A struct for selecting the bank of BankableMIDIOutputs and the bank type |
| CBitArray | A class for arrays of bits |
| CBitmapDisplay | A class that displays a bitmap depending on the state of a MIDINote or any other object that has a getValue() method that returns true (or anything that evaluates to true) when the bitmap has to be displayed, as wel as a pair of getDirty()/clearDirty() methods to determine whether the display has to be updated |
| CBLECharacteristicHandle | Represents a handle to a local GATT characteristic |
| CBLEConnectionHandle | Represents a handle to the connection to another device |
| ►CBLEDataGenerator | Callable that returns the next chunk of data from a BLE packet when called |
| CBLEDataView | Non-owning, std::span-style read-only view of BLE data |
| CBLEMIDIBackend | Default backend for the BluetoothMIDI_Interface class |
| CBLEMIDIPacketBuilder | Class for building MIDI over Bluetooth Low Energy packets |
| CBLEMIDIParser | Class for parsing BLE-MIDI packets |
| ►CBLERingBuf | Circular FIFO buffer for buffering BLE packet data |
| CBLESettings | Configuration options for the low-level BLE code |
| CBluetoothMIDI_Interface | A class for MIDI interfaces sending MIDI messages over a Bluetooth Low Energy (BLE) connection |
| CBorrowedCCRotaryEncoder | A class of MIDIOutputElements that read the input of a quadrature (rotary) encoder and send out relative MIDI Control Change events |
| ►CBresenhamLine | Line rasterization algorithm for drawing lines to the display |
| ►CBTstackBackgroundBackend | Raspberry Pi Pico BTstack background backend intended to be plugged into GenericBLEMIDI_Interface |
| CBufferedBLEMIDIParser | FIFO buffer that you can push BLE packets into, and pop MIDI messages out of |
| CBufferPuller_ | Helper to pull bytes or other objects out of a buffer |
| ►CBulkRX | Receives Bulk packets (OUT for device mode, IN for host mode) |
| ►CBulkTX | Sends Bulk packets (IN for device mode, OUT for host mode) |
| ►CButton | A class for reading and debouncing buttons and switches |
| CButtonMatrix | A class that reads the states of a button matrix |
| CCable | A type-safe class for MIDI USB Cable numbers |
| CCCAbsoluteEncoder | A class of MIDIOutputElements that read the input of a quadrature (rotary) encoder and send out absolute MIDI Control Change events |
| CCCButton | A class of MIDIOutputElements that read the input of a momentary push button or switch, and send out MIDI Control Change events |
| CCCButtonLatched | A class of MIDIOutputElements that read the input of a momentary push button or switch, and send out MIDI Controller Change events |
| CCCButtonLatching | A class of MIDIOutputElements that read the input of a latching push button or toggle switch, and send out MIDI Control Change events |
| CCCButtonMatrix | A class of MIDIOutputElements that read the input from a matrix of momentary push buttons or switches, and send out MIDI Control Change events |
| CCCButtons | A class of MIDIOutputElements that read the input of a collection of momentary push buttons or switches, and send out MIDI Control Change events |
| CCCIncrementDecrementButtons | A class of MIDIOutputElements that read the input of two momentary push buttons to increment or decrement a relative setting using relative MIDI Control Change events |
| CCCPotentiometer | A class of MIDIOutputElements that read the analog input from a potentiometer or fader, and send out 7-bit MIDI Control Change events |
| CCCRotaryEncoder | A class of MIDIOutputElements that read the input of a quadrature (rotary) encoder and send out relative MIDI Control Change events |
| CChannel | A type-safe class for MIDI channels |
| CChannelMessage | |
| CChord | |
| CColor | A structure for RGB colors |
| CContinuousCCSender | Class that sends continuous MIDI control change messages with a resolution of 7 bits |
| CContinuousCCSender14 | Class that sends continuous MIDI control change messages with a resolution of 14 bits |
| CControl_Surface_ | This class ensures initialization, updating, and interaction between all other classes, it's the glue that holds everything together |
| CDefaultColorMapper | The default mapping from a 7-bit MIDI value to an RGB color, using the Novation Launchpad mapping |
| CDigitalCCSender | Class that sends MIDI control change messages signifying either "on" or "off" |
| CDigitalNoteSender | Class that sends MIDI note on and off messages |
| CDirectPinRead | |
| CDirectPinReadReg | |
| CDisplay | |
| CDisplayElement | An interface for elements that draw to a display |
| CDisplayInterface | An interface for displays |
| CDotBarDisplayLEDs | A class for LED bars |
| CDoublyLinkable | A class that can be inherited from to allow inserting into a DoublyLinkedList |
| ►CDoublyLinkedList | A class for doubly linked lists |
| CEMA | Exponential moving average filter |
| CEMA_f | A class for single-pole infinite impulse response filters or exponential moving average filters |
| CEmptySelectorCallback | A callback for the GenericSelector class that does nothing |
| CEncoderPinList | A struct for the pins of a rotary (quadrature) encoder without a switch |
| CEncoderSelector | Selector that reads from a rotary encoder |
| CEncoderSelectorLEDs | Selector that reads from a rotary encoder. This version displays the setting using LEDs |
| CEncoderState | Class to keep track of relative position changes of rotary encoders |
| CEncoderSwitchPinList | A struct for the pins of a rotary (quadrature) encoder with a switch |
| CESP32_USBDeviceMIDIBackend | |
| ►CESP32BLEBackend | ESP32 backend intended to be plugged into GenericBLEMIDI_Interface |
| CEulerAngles | Struct for Euler angles of floating point numbers |
| CExtendedIOElement | An abstract base class for Extended Input/Output elements |
| CFilteredAnalog | A class that reads and filters an analog input |
| CFineGrainedMIDI_Callbacks | |
| CFortySevenEffectsMIDI_Interface | Class that wraps the FortySevenEffects MIDI library |
| CFortySevenEffectsMIDI_Parser | Wrapper class for the FortySevenEffects MIDI parser |
| CFrequency | Type-safe class for frequency values |
| Cfunction_traits | |
| ►Cfunction_traits< Return(Args...)> | |
| CGenericBLEMIDI_Interface | Bluetooth Low Energy MIDI Interface |
| CGenericEncoderSelector | |
| CGenericFilteredAnalog | FilteredAnalog base class with generic MappingFunction |
| CGenericIncrementDecrementSelector | |
| CGenericIncrementSelector | |
| CGenericManyButtonsSelector | |
| CGenericMIDIAbsoluteEncoder | An abstract class for rotary encoders that send absolute MIDI events |
| CGenericMIDIRotaryEncoder | An abstract class for rotary encoders that send MIDI events |
| CGenericProgramChangeSelector | |
| CGenericSelector | |
| CGenericSwitchSelector | |
| ►CGenericUSBMIDI_Interface | A class for MIDI interfaces sending MIDI messages over a USB MIDI connection |
| CHairlessMIDI_Interface | A class for MIDI Interfaces sending and receiving data over the USB Serial CDC connection for the use with the Hairless MIDI<->Serial Bridge |
| CHardwareSerialDebugMIDI_Interface | A class for debug MIDI interfaces sending and receiving human-readable MIDI messages over a HardwareSerial port |
| CHardwareSerialDebugMIDI_Output | A class for debug MIDI outputs sending human-readable MIDI messages over a HardwareSerial port |
| CHardwareSerialMIDI_Interface | A class for MIDI interfaces sending and receiving MIDI messages over a Hardware Serial port |
| Chas_method_begin | |
| Chas_method_begin< T, void_t< decltype(std::declval< T >().begin())> > | |
| CHexDump | |
| CHexPuller | Class that parses hexadecimal ASCII text to bytes |
| CHysteresis | A class for applying hysteresis to a given input |
| CHysteresis< 0, T_in, T_out > | |
| CIChord | |
| CIncrementButton | A class for buttons that increment some counter or setting |
| CIncrementDecrementButtons | A class for buttons that increment and decrement some counter or setting |
| CIncrementDecrementSelector | Selector with two buttons (one to increment, one to decrement) |
| CIncrementDecrementSelectorLEDs | Selector with two buttons (one to increment, one to decrement). This version displays the setting using LEDs |
| CIncrementSelector | Selector with one button that increments the selection |
| CIncrementSelectorLEDs | Selector with one button that increments the selection. This version displays the setting using LEDs |
| Cinterrupt_atomic | Wrapper that provides atomic access to variables shared between the main program and interrupt handlers, by inserting the appropriate compile-time fences |
| CLambdaPuller_ | Helper to turn a lambda function into a puller |
| CLEDs | A class for collections of LEDs that can display ranges |
| CManyAddresses_Base | A base class for all MIDIOutputElements that can have one of many addresses |
| CManyButtonsSelector | Selector that reads from \( N \) buttons |
| CManyButtonsSelectorLEDs | Selector that reads from \( N \) buttons. This version displays the setting using LEDs |
| CMatchingMIDIInputElement | The MIDIInputElement base class is very general: you give it a MIDI message, and it calls the updateWith() method with that message |
| ►CMAX7219 | A class for LED outputs using the MAX7219 LED display driver |
| CMAX7219_Base | A base class for classes that control MAX7219 LED drivers |
| CMAX7219SevenSegmentDisplay | A class for 8-digit 7-segment displays with a MAX7219 driver |
| CMaximumFilteredAnalogIncRes | Helper to determine how many of the remaining bits of the filter data types can be used to achieve higher precision |
| CMCP23017 | Class for MCP23017 I²C I/O expanders |
| CMCP23017Encoders | Class for reading 8 rotary encoders using a MCP23017 I²C port expander |
| CMIDI_Callbacks | A class for callbacks from MIDI input |
| CMIDI_Interface | An abstract class for MIDI interfaces |
| CMIDI_Parser | Base class for MIDI parsers |
| CMIDI_Pipe | Class that routes MIDI messages from a MIDI_Source to a MIDI_Sink |
| CMIDI_PipeFactory | Class that produces multiple MIDI_Pipes |
| CMIDI_Sender | Statically polymorphic template for classes that send MIDI messages |
| CMIDI_Sink | Receives MIDI messages from a MIDI pipe |
| CMIDI_Source | Class that can send MIDI messages to a MIDI pipe |
| CMIDIAddress | A type-safe utility class for saving a MIDI address consisting of a 7-bit address, a 4-bit channel, and a 4-bit cable number |
| CMIDIBLEInstance | Defines the interface for callback functions registered by the low-level BLE code |
| CMIDIButton | An abstract class for momentary push buttons that send MIDI events |
| CMIDIButtonLatched | A class for momentary buttons and switches that send MIDI events |
| CMIDIButtonLatching | A class for latching buttons and switches that send MIDI events |
| CMIDIButtonMatrix | MIDIButtonMatrix |
| CMIDIButtons | An abstract class for momentary push buttons that send MIDI events |
| CMIDIChannelCable | A class for saving a MIDI channel and cable number |
| CMIDIChordButton | An abstract class for momentary push buttons that send multiple MIDI events |
| CMIDIFilteredAnalog | A class for potentiometers and faders that send MIDI events |
| CMIDIIncrementDecrementButtons | An abstract class for two buttons that send incremental MIDI events |
| CMIDIInputElement | A class for objects that listen for incoming MIDI events |
| CMIDIMessage | |
| CMIDIOutputOnly | |
| CMIDIStaller | Struct that can cause a MIDI_Pipe to be stalled |
| CMIDIUSB_USBDeviceMIDIBackend | |
| CMotorFader | |
| CMovingCoilBallistics | |
| CMultiPurposeButton | Class for detecting short/long button presses and double clicks |
| CNonatomicBLERingBufSize | |
| CNormalUpdatable | |
| CNoteButton | A class of MIDIOutputElements that read the input of a momentary push button or switch, and send out MIDI Note events |
| CNoteButtonLatched | A class of MIDIOutputElements that read the input of a momentary push button or switch, and send out MIDI Note events |
| CNoteButtonLatching | A class of MIDIOutputElements that read the input of a latching push button or toggle switch, and send out MIDI Note events |
| CNoteButtonMatrix | A class of MIDIOutputElements that read the input from a matrix of momentary push buttons or switches, and send out MIDI Note events |
| CNoteButtons | A class of MIDIOutputElements that read the input of a collection of momentary push buttons or switches, and send out MIDI Note events |
| CNoteCCKPLED | Generic base class for classes that listen for MIDI Note, Control Change and Key Pressure events on a single address and turns on an LED when the value is higher than a threshold |
| CNoteCCKPLEDBar | Class that turns on a different number of LEDs depending on the received MIDI velocity, key pressure or Control Change value |
| CNoteCCKPLEDBarDriver | Callback class that drives a LED dot/bar display based on a note or control change value |
| CNoteCCKPLEDPWM | Generic base class for classes that listen for MIDI Note, Control Change and Key Pressure events on a single address and turn on an LED with a brightness/duty cycle proportional to the MIDI value |
| CNoteCCKPRange | Generic base class for classes that listen for MIDI Note, Control Change and Key Pressure events on a range of addresses and save their values |
| CNoteCCKPRangeFastLED | 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 |
| CNoteCCKPRangeLEDs | Generic base class for classes that listen for MIDI Note, Control Change and Key Pressure events on a range of addresses and turn on the corresponding LED when the value is higher than a threshold |
| CNoteCCKPValue | Generic base class for classes that listen for MIDI Note, Control Change and Key Pressure events on a single address and save their value |
| CNoteChordButton | A class of MIDIOutputElements that read the input of a momentary push button or switch, and send out MIDI Note events |
| ►COneByteMIDIMatcher | Matcher for MIDI messages with 1 data byte, such as Channel Pressure and Program Change |
| COutputBank | A class for changing the address of BankableMIDIOutputs |
| COutputBankableMIDIAddress | A base class for all MIDIOutputElements that can be banked |
| COutputBankableMIDIAddress_Base | Class for keeping track of the active bank, and allows locking of the bank setting |
| COutputBankConfig | |
| CPBAbsoluteEncoder | A class of MIDIOutputElements that read the input of a quadrature (rotary) encoder and send out absolute MIDI Pitch Bend events |
| CPBPotentiometer | A class of MIDIOutputElements that read the analog input from a potentiometer or fader, and send out 14-bit MIDI Pitch Bend events |
| CPBValue | Class that listens for MIDI Pitch Bend events on a single address and saves their value |
| CPCButton | A class of MIDIOutputElements that read the input of a momentary push button or switch, and send out MIDI Program Change events |
| ►CPitchBendMIDIMatcher | Matcher for MIDI Pitch Bend messages. Matches a single address |
| CPitchBendSender | Class that sends continuous MIDI pitch bend messages with a resolution of 14 bits |
| CPixelLocation | A simple struct representing a pixel with integer coordinates |
| CPluggableUSBMIDI | |
| ►CPollingBLEMIDISender | Class that buffers MIDI BLE packets |
| CPotentiometer | |
| CPrintDebugMIDI_Base | A class that implements MIDI debug send functions |
| CProgramChanger | |
| CProgramChangeSelector | Selector that listens for MIDI Program Change events on a given MIDI Channel, and uses the program number as its selection |
| CProgramChangeSelectorLEDs | Selector that listens for MIDI Program Change events on a given MIDI Channel, and uses the program number as its selection. This version displays the setting using LEDs |
| CProgramChangeSender | Class that sends MIDI program change messages |
| CQuaternion | Type for quaternions of floating point numbers |
| CRealTimeMessage | |
| ►CRegisterEncoders | Class for keeping track of the position of multiple rotary encoders |
| CRelativeCCSender | Class that sends relative/incremental MIDI control change messages |
| CRelativeMIDIAddress | A class for saving an offset to a MIDI address |
| Cround_div_default | Divide by N using the default division operator, without explicit rounding This should be used for floating point types |
| Cround_div_helper | Select the right rounding division operator, depending on whether T is an integer or not |
| Cround_div_int | Select the right rounding division operator, depending on whether T is a signed or unsigned integer |
| Cround_div_signed_int | Divide a signed integer by N, rounding the result |
| Cround_div_unsigned_int | Divide an unsigned integer by N, rounding the result |
| CScopedThreadConfig | |
| CSelectable | |
| CSelector | A Selector with an empty callback |
| CSelectorBase | Base class for all Selectors exposing the get method, so it can be used by display elements etc, without having to provide the full generic type |
| CSelectorDisplay | A class for displaying the setting of a Selector object |
| CSelectorLEDsCallback | |
| CSelectorSingleLEDCallback | |
| CSerialDebugMIDI_Interface | A wrapper class for debug MIDI interfaces sending and receiving human-readable MIDI messages over a Serial port of class T |
| CSerialDebugMIDI_Output | A wrapper class for debug MIDI outputs sending human-readable MIDI messages over a Serial port of class T |
| CSerialMIDI_Interface | A wrapper class for MIDI interfaces sending and receiving MIDI messages over a Serial port of generic class S |
| CSerialMIDI_Parser | Parser for Serial MIDI streams (and BLE-MIDI) |
| CSetbase | |
| CSetbytesep | |
| CSetprecision | |
| CShiftRegisterOut | A class for serial-in/parallel-out shift registers, like the 74HC595 |
| CShiftRegisterOutBase | A class for serial-in/parallel-out shift registers, like the 74HC595 |
| CShiftRegisterOutRGB | A struct for setting the RGB mode for RGB shift registers |
| CSoftwareSerialDebugMIDI_Interface | A class for debug MIDI interfaces sending and receiving human-readable MIDI messages over a SoftwareSerial interface |
| CSoftwareSerialDebugMIDI_Output | A class for debug MIDI outputs sending human-readable MIDI messages over a SoftwareSerial interface |
| CSoftwareSerialMIDI_Interface | A class for MIDI interfaces sending and receiving MIDI messages over a SoftwareSerial interface |
| CSPIShiftRegisterOut | A class for serial-in/parallel-out shift registers, like the 74HC595 that are connected to the SPI bus |
| CSSD1306_DisplayInterface | This class creates a mapping between the Adafruit_SSD1306 display driver and the general display interface used by the Control Surface library |
| CStaticSizeExtendedIOElement | A class for ExtendedIOElements with a fixed size |
| CStreamDebugMIDI_Interface | A class for MIDI interfaces sending and receiving human-readable MIDI messages over a Stream |
| CStreamDebugMIDI_Output | A class for MIDI outputs sending human-readable MIDI messages over a Stream |
| CStreamMIDI_Interface | A class for MIDI interfaces sending and receiving MIDI messages over a Stream |
| CStreamPuller | Helper that pulls bytes out of an Arduino stream |
| CSwitchSelector | Selector that selects one of two settings, based on the state of a toggle or momentary switch |
| CSwitchSelectorLED | Selector that selects one of two settings, based on the state of a toggle or momentary switch. This version displays the setting using LEDs |
| CSysCommonMessage | |
| CSysExBuffer | Helper for storing the System Exclusive messages being received by a MIDI parser |
| CSysExMessage | |
| CTeensy2_USBDeviceMIDIBackend | |
| CTeensy3_USBDeviceMIDIBackend | |
| CTeensyHostMIDI | Teensy USB Host MIDI driver |
| ►CThreadedBLEMIDISender | Class that manages a background thread that sends BLE packets asynchronously |
| CTimer | A class for easily managing timed events |
| CTransposer | Class for transposing the address of NoteButton and other MIDI elements |
| CTrueMIDI_SinkSource | A struct that is both a TrueMIDI_Sink and a TrueMIDI_Source |
| ►CTwoByteMIDIMatcher | Matcher for MIDI messages with 2 data bytes, such as Note On/Off, Control Change, Key Pressure (but not Pitch Bend) |
| ►CTwoByteRangeMIDIMatcher | Matcher for MIDI messages with 2 data bytes, such as Note On/Off, Control Change, Key Pressure (but not Pitch Bend) |
| CUpdatable | A super class for object that have to be updated regularly |
| CUpdatableCRTP | A super class for object that have to be updated regularly |
| CUSBDebugMIDI_Interface | A class for debug MIDI interfaces sending and receiving human-readable MIDI messages over the USB CDC connection |
| CUSBDebugMIDI_Output | A class for debug MIDI outputs sending human-readable MIDI messages over the USB CDC connection |
| CUSBDeviceMIDIBackend | |
| CUSBHostMIDI_Interface | A class for MIDI interfaces sending MIDI messages to a MIDI USB device connected to a Teensy's USB host port |
| CUSBHostMIDI_Interface_BigBuffer | A class for MIDI interfaces sending MIDI messages to a MIDI USB device connected to a Teensy's USB host port |
| CUSBHostMIDIBackend | MIDI over USB backend for the Teensy USBHost_t36 library |
| CUSBMIDI_Interface | A class for MIDI interfaces sending MIDI messages over a USB MIDI connection |
| CUSBMIDI_Parser | Parser for MIDI over USB packets |
| CUSBMIDI_Sender | A class for sending MIDI USB messages |
| CUSBSerialMIDI_Interface | A class for MIDI interfaces sending and receiving MIDI messages over the Serial port of the USB connection |
| CVec2f | Type for 2D vectors of floating point numbers |
| CVec3f | Type for 3D vectors of floating point numbers |
| CVolumeControl | A class for controlling the volume of AudioMixer4 objects using a potentiometer |
| CXBitmap | A struct containing X Bitmap width, height and data |