Control Surface main
MIDI Control Surface library for Arduino
Loading...
Searching...
No Matches
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345678]
 CAdafruit_TinyUSB_USBDeviceMIDIBackend
 CAHEncoderClass for reading quadrature encoders, heavily influenced by http://www.pjrc.com/teensy/td_libs_Encoder.html
 CAudioVU::AnalyzerThe AudioAnalyzePeak and AudioAnalyzeRMS classes don't implement a common interface, so we have to use our own RTTI wrapper to allow both classes to be used
 CAnyMIDIMessageMIDI message variant type (with timestamp)
 CArduino_mbed_USBDeviceMIDIBackend
 Cfunction_traits< Return(Args...)>::argument< Index >
 CArray< T, N >An array wrapper for easy copying, comparing, and iterating
 CArray< AddressMatrix< NumRows, NumCols >, NumBanks >
 CArray< AH::Button, N >
 CArray< AH::Button, NumButtons >
 CArray< analog_t, NumBanks >
 CArray< AudioMixer4 *, N >
 CArray< char, 112+1 >
 CArray< char, LENGTH >
 CArray< DirectPinRead, 2 >
 CArray< EncoderPositionStorageType, NumEnc >
 CArray< int16_t, NumBanks >
 CArray< int8_t, N >
 CArray< MCU::VPotState, BankSize >
 CArray< MCU::VUState, BankSize >
 CArray< MIDIAddress, NumBanks >
 CArray< MIDIChannelCable, NumBanks >
 CArray< N >
 CArray< NumCols >
 CArray< NumRows >
 CArray< OutputBankableMIDIAddress, N >
 CArray< pin_t, N >
 CArray< RangeLen >
 CArray< uint16_t, BankSize >
 CArray< uint8_t, 2 >
 CArray< uint8_t, 4 >
 CArray< uint8_t, 8 *1 >
 CArray< uint8_t, BankSize >
 CArray< uint8_t, BankSize, RangeLen >
 CArray< uint8_t, N >
 CArray< uint8_t, RangeLen >
 CArraySlice< T, N, Reverse, Const >Class for a view on a slice of an array
 CAtomicPosition< T >
 CAtomicPosition< int32_t >
 CESP32BLEBackend< Impl >::AtomicSize
 CBankableMIDIInput< N >
 CBankableOneByteMIDIMatcher< BankSize >Matcher for MIDI messages with 1 data byte, such as Channel Pressure and Program Change
 CBankablePitchBendMIDIMatcher< BankSize >Matcher for MIDI Pitch Bend messages
 CBankableTwoByteMIDIMatcher< BankSize >Matcher for MIDI messages with 2 data bytes, such as Note On/Off, Control Change, Key Pressure
 CBankableTwoByteRangeMIDIMatcher< BankSize >Matcher for MIDI messages with 2 data bytes, such as Note On/Off, Control Change, Key Pressure
 CBankableVUMatcher< BankSize >MIDI Input matcher for Mackie Control Universal VU meters with bank support
 CBaseBankConfig< N >A struct for selecting the bank of BankableMIDIInputs and the bank type
 CBaseBankConfig< BankSize >
 CBaseOutputBankConfigA struct for selecting the bank of BankableMIDIOutputs and the bank type
 CBitArray< N >A class for arrays of bits
 CBitArray< 16 >
 CBitArray< NumBanks >
 CBLECharacteristicHandleRepresents a handle to a local GATT characteristic
 CBLEConnectionHandleRepresents a handle to the connection to another device
 CBLEDataGeneratorCallable that returns the next chunk of data from a BLE packet when called
 CBLEDataViewNon-owning, std::span-style read-only view of BLE data
 CBLEMIDIBackendDefault backend for the BluetoothMIDI_Interface class
 CBLEMIDIPacketBuilderClass for building MIDI over Bluetooth Low Energy packets
 CBLEMIDIParserClass for parsing BLE-MIDI packets
 CBLERingBuf< Capacity, SizeT >Circular FIFO buffer for buffering BLE packet data
 CBLERingBuf< Capacity, BTstackBackgroundBackend::VolatileSize >
 CBLERingBuf< Capacity, ESP32BLEBackend::AtomicSize >
 CBLERingBuf< Capacity, NonatomicBLERingBufSize< uint16_t > >
 CBLESettingsConfiguration options for the low-level BLE code
 CBresenhamLineLine rasterization algorithm for drawing lines to the display
 CBulkRX< Derived, MessageTypeT, MaxPacketSizeV >::Reading::Buffer
 CBulkTX< Derived, MessageTypeT, MaxPacketSizeV >::Writing::Buffer
 CBufferedBLEMIDIParser< Capacity, SizeT >FIFO buffer that you can push BLE packets into, and pop MIDI messages out of
 CBufferedBLEMIDIParser< 1024 >
 CBufferedBLEMIDIParser< 1024, BTstackBackgroundBackend::VolatileSize >
 CBufferedBLEMIDIParser< 4096, ESP32BLEBackend::AtomicSize >
 CBufferPuller_< T >Helper to pull bytes or other objects out of a buffer
 CBulkRX< Derived, MessageTypeT, MaxPacketSizeV >Receives Bulk packets (OUT for device mode, IN for host mode)
 CBulkRX< PluggableUSBMIDI, uint32_t, 64 >
 CBulkRX< TeensyHostMIDI< 512 >, uint32_t, 512 >
 CBulkRX< TeensyHostMIDI< MaxPacketSize >, uint32_t, MaxPacketSize >
 CBulkTX< Derived, MessageTypeT, MaxPacketSizeV >Sends Bulk packets (IN for device mode, OUT for host mode)
 CBulkTX< PluggableUSBMIDI, uint32_t, 64 >
 CBulkTX< TeensyHostMIDI< 512 >, uint32_t, 512 >
 CBulkTX< TeensyHostMIDI< MaxPacketSize >, uint32_t, MaxPacketSize >
 CButtonA class for reading and debouncing buttons and switches
 CButtonMatrix< Derived, NumRows, NumCols >A class that reads the states of a button matrix
 CButtonMatrix< MIDIButtonMatrix< BankAddress, Sender, NumRows, NumCols >, NumRows, NumCols >
 CButtonMatrix< MIDIButtonMatrix< DigitalCCSender, NumRows, NumCols >, NumRows, NumCols >
 CButtonMatrix< MIDIButtonMatrix< DigitalNoteSender, NumRows, NumCols >, NumRows, NumCols >
 CButtonMatrix< MIDIButtonMatrix< ManyMatrixAddresses< NumBanks, NumRows, NumCols >, DigitalCCSender, NumRows, NumCols >, NumRows, NumCols >
 CButtonMatrix< MIDIButtonMatrix< ManyMatrixAddresses< NumBanks, NumRows, NumCols >, DigitalNoteSender, NumRows, NumCols >, NumRows, NumCols >
 CButtonMatrix< MIDIButtonMatrix< MatrixAddress< NumRows, NumCols >, DigitalCCSender, NumRows, NumCols >, NumRows, NumCols >
 CButtonMatrix< MIDIButtonMatrix< MatrixAddress< NumRows, NumCols >, DigitalNoteSender, NumRows, NumCols >, NumRows, NumCols >
 CButtonMatrix< MIDIButtonMatrix< Sender, NumRows, NumCols >, NumRows, NumCols >
 CCableA type-safe class for MIDI USB Cable numbers
 CCachedExtIOPin
 CChannelA type-safe class for MIDI channels
 CColorA structure for RGB colors
 CContinuousCCSenderClass that sends continuous MIDI control change messages with a resolution of 7 bits
 CContinuousCCSender14< INPUT_PRECISION_BITS >Class that sends continuous MIDI control change messages with a resolution of 14 bits
 CDefaultColorMapperThe default mapping from a 7-bit MIDI value to an RGB color, using the Novation Launchpad mapping
 CDefaultColorMapperThe default mapping from a 7-bit MIDI value to an RGB color, using the Novation Launchpad mapping
 CDigitalCCSenderClass that sends MIDI control change messages signifying either "on" or "off"
 CDigitalNoteSenderClass that sends MIDI note on and off messages
 CDirectPinRead
 CDirectPinReadReg< RegisterType >
 CDisplay
 CDoublyLinkable< Node >A class that can be inherited from to allow inserting into a DoublyLinkedList
 CDoublyLinkable< BankSettingChangeCallback >
 CDoublyLinkable< Derived >
 CDoublyLinkable< DisplayElement >
 CDoublyLinkable< ExtendedIOElement >
 CDoublyLinkable< MIDIInputElement< Type > >
 CDoublyLinkable< MIDIOutputOnly >
 CDoublyLinkable< Updatable< AudioVU > >
 CDoublyLinkable< Updatable< MIDI_Interface > >
 CDoublyLinkable< Updatable< NormalUpdatable > >
 CDoublyLinkedList< Node >A class for doubly linked lists
 CDoublyLinkedList< BankSettingChangeCallback >
 CDoublyLinkedList< Derived >
 CDoublyLinkedList< DisplayElement >
 CDoublyLinkedList< ExtendedIOElement >
 CDoublyLinkedList< MIDIInputElement< Type > >
 CDoublyLinkedList< MIDIOutputOnly >
 CDoublyLinkedList< Updatable< AudioVU > >
 CDoublyLinkedList< Updatable< MIDI_Interface > >
 CDoublyLinkedList< Updatable< NormalUpdatable > >
 CEMA< K, input_t, state_t >Exponential moving average filter
 CEMA< ANALOG_FILTER_SHIFT_FACTOR, analog_t, ANALOG_FILTER_TYPE >
 CEMA< FilterShiftFactor, analog_t, ANALOG_FILTER_TYPE >
 CEMA_fA class for single-pole infinite impulse response filters or exponential moving average filters
 CEmptySelectorCallbackA callback for the GenericSelector class that does nothing
 CRegisterEncoders< RegisterType, NumEnc, EncoderPositionType, InterruptSafe >::EncoderProxy to access a single encoder of the encoders managed by RegisterEncoders
 CEncoderPinListA struct for the pins of a rotary (quadrature) encoder without a switch
 CEncoderState< Enc_t >Class to keep track of relative position changes of rotary encoders
 CEncoderState< decltype(encoder.read())>
 CEncoderSwitchPinListA struct for the pins of a rotary (quadrature) encoder with a switch
 CESP32_USBDeviceMIDIBackend
 CESP32BluedroidBLE
 CESP32NimBLE
 CEulerAnglesStruct for Euler angles of floating point numbers
 Cfalse_type
 CFrequencyType-safe class for frequency values
 Cfunction_traits< T >
 Cfunction_traits< Return(Args...)>
 CGenericFilteredAnalog< MappingFunction, Precision, FilterShiftFactor, FilterType, AnalogType, IncRes >FilteredAnalog base class with generic MappingFunction
 CGenericFilteredAnalog< analog_t(*)(analog_t), 10, ANALOG_FILTER_SHIFT_FACTOR, ANALOG_FILTER_TYPE, analog_t, MaximumFilteredAnalogIncRes< ANALOG_FILTER_SHIFT_FACTOR, ANALOG_FILTER_TYPE, analog_t >::value >
 CGenericFilteredAnalog< analog_t(*)(analog_t), Precision, ANALOG_FILTER_SHIFT_FACTOR, ANALOG_FILTER_TYPE, analog_t, MaximumFilteredAnalogIncRes< ANALOG_FILTER_SHIFT_FACTOR, ANALOG_FILTER_TYPE, analog_t >::value >
 CBLERingBuf< Capacity, SizeT >::Header
 CHexDump
 CHexPuller< CharPuller >Class that parses hexadecimal ASCII text to bytes
 CHexPuller< StreamPuller >
 CHysteresis< Bits, T_in, T_out >A class for applying hysteresis to a given input
 CHysteresis< 0, T_in, T_out >
 CHysteresis< ADC_BITS+IncRes - Precision, analog_t, analog_t >
 CHysteresis< ADC_BITS+MaximumFilteredAnalogIncRes< ANALOG_FILTER_SHIFT_FACTOR, ANALOG_FILTER_TYPE, analog_t >::value - 10, analog_t, analog_t >
 CIChord
 CBLEDataGenerator::Impl< T >Specific class that implements the type-erased interface, wrapping the type T
 Cin_place_t
 Cin_place_type_t< T >
 CIncrementButtonA class for buttons that increment some counter or setting
 CIncrementDecrementButtonsA class for buttons that increment and decrement some counter or setting
 CIncrementor< T, V >Utility class that acts as a functor to return incremental values
 CMAX7219< NumChips, SPIDriver >::IndexMask
 CButton::InternalState
 Cinterrupt_atomic< T >Wrapper that provides atomic access to variables shared between the main program and interrupt handlers, by inserting the appropriate compile-time fences
 Cinterrupt_atomic< bool >
 Cinterrupt_atomic< BulkTX::Writing::Buffer * >
 Cinterrupt_atomic< uint32_t >
 CIValueAbstract interface for MIDI input elements that receive and store a 7-bit value
 CIValue14Abstract interface for MIDI input elements that receive and store a 14-bit value
 CIVPot
 CIVUAn abstract interface for VU meters
 CLambdaPuller_< Lambda >Helper to turn a lambda function into a puller
 CLCDCounterCounts the number of instances of the LCD class
 CLEDs< N >A class for collections of LEDs that can display ranges
 CLEDs< 11 >
 CMAX7219_Base< SPIDriver >A base class for classes that control MAX7219 LED drivers
 CMAX7219_Base< decltype(SPI) & >
 CMaximumFilteredAnalogIncRes< FilterShiftFactor, FilterType, AnalogType >Helper to determine how many of the remaining bits of the filter data types can be used to achieve higher precision
 CMCP23017Encoders< WireType, EncoderPositionType, InterruptSafe >Class for reading 8 rotary encoders using a MCP23017 I²C port expander
 CAnyMIDIMessage::Message
 CMIDI_CallbacksA class for callbacks from MIDI input
 CMIDI_ParserBase class for MIDI parsers
 CMIDI_PipeFactory< N, Pipe >Class that produces multiple MIDI_Pipes
 CMIDI_Sender< Derived >Statically polymorphic template for classes that send MIDI messages
 CMIDI_Sender< Control_Surface_ >
 CMIDI_Sender< MIDI_Interface >
 CMIDI_Sender< StreamDebugMIDI_Output >
 CMIDI_SinkReceives MIDI messages from a MIDI pipe
 CMIDI_SourceClass that can send MIDI messages to a MIDI pipe
 CMIDIAddressA 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
 CMIDIBLEInstanceDefines the interface for callback functions registered by the low-level BLE code
 CMIDIBLEState
 CMIDIChannelCableA class for saving a MIDI channel and cable number
 CMIDIMessage
 CMIDIStallerStruct that can cause a MIDI_Pipe to be stalled
 CMIDIUSB_USBDeviceMIDIBackend
 CMotorFader
 CMovingCoilBallistics
 CMultiPurposeButtonClass for detecting short/long button presses and double clicks
 CDoublyLinkedList< Node >::node_iterator_base< INode >Base class for doubly linked list iterators
 CNonatomicBLERingBufSize< T >
 CNonatomicBLERingBufSize< uint16_t >
 CNonatomicBLERingBufSize< uint_fast16_t >
 CNormalUpdatable
 CNote
 COneByteMIDIMatcherMatcher for MIDI messages with 1 data byte, such as Channel Pressure and Program Change
 COutputBankA class for changing the address of BankableMIDIOutputs
 COutputBankableMIDIAddress_BaseClass for keeping track of the active bank, and allows locking of the bank setting
 CPitchBendMIDIMatcherMatcher for MIDI Pitch Bend messages. Matches a single address
 CPitchBendSender< INPUT_PRECISION_BITS >Class that sends continuous MIDI pitch bend messages with a resolution of 14 bits
 CPitchBendSender< 10 >
 CPixelLocationA simple struct representing a pixel with integer coordinates
 CPluggableUSBModule
 CPollingBLEMIDISender< Derived >Class that buffers MIDI BLE packets
 CPollingBLEMIDISender< ArduinoBLEBackend >
 CPollingBLEMIDISender< BTstackBackgroundBackend >
 CPotentiometer
 CPrint
 CPrintable
 CPrintDebugMIDI_BaseA class that implements MIDI debug send functions
 CProgramChangeSenderClass that sends MIDI program change messages
 CPollingBLEMIDISender< Derived >::ProtectedBuilder
 CThreadedBLEMIDISender< Derived >::ProtectedBuilder
 CQuaternionType for quaternions of floating point numbers
 CBulkRX< Derived, MessageTypeT, MaxPacketSizeV >::ReadingState for reading incoming USB data
 CRealTimeMessage
 CRegisterEncoders< RegisterType, NumEnc, EncoderPositionType, InterruptSafe >Class for keeping track of the position of multiple rotary encoders
 CRegisterEncoders< uint16_t, 8, int32_t, false >
 CRelativeCCSenderClass that sends relative/incremental MIDI control change messages
 CRelativeMIDIAddressA class for saving an offset to a MIDI address
 Cremove_cvref< T >
 CBankableOneByteMIDIMatcher< BankSize >::Result
 CBankablePitchBendMIDIMatcher< BankSize >::Result
 CBankableTwoByteMIDIMatcher< BankSize >::Result
 CBankableTwoByteRangeMIDIMatcher< BankSize >::Result
 CBankableVUMatcher< BankSize >::ResultOutput data of the matcher/parser
 CVUMatcher::ResultOutput data of the matcher/parser
 COneByteMIDIMatcher::Result
 CPitchBendMIDIMatcher::Result
 CTwoByteMIDIMatcher::Result
 CTwoByteRangeMIDIMatcher::Result
 Cround_div_default< N, T >Divide by N using the default division operator, without explicit rounding This should be used for floating point types
 Cround_div_signed_int< N, T >Divide a signed integer by N, rounding the result
 Cround_div_unsigned_int< N, T >Divide an unsigned integer by N, rounding the result
 CScopedThreadConfig
 CSelectable< N >
 CSelectable< NumBanks >
 CSelectorBaseBase 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
 CSelectorLEDsCallback< N >
 CSelectorSingleLEDCallback
 CGenericUSBMIDI_Interface< Backend >::SenderFunctor to send USB MIDI packets
 CSetbase
 CSetbytesep
 CSetprecision
 CShiftRegisterOutRGBA struct for setting the RGB mode for RGB shift registers
 CSingleAddressMultipleBanks< N >
 CStaticSizeExtendedIOElement< 1<
 CStreamPullerHelper that pulls bytes out of an Arduino stream
 CSysExBufferHelper for storing the System Exclusive messages being received by a MIDI parser
 CSysExMessage
 CTeensy2_USBDeviceMIDIBackend
 CTeensy3_USBDeviceMIDIBackend
 CThreadedBLEMIDISender< Derived >Class that manages a background thread that sends BLE packets asynchronously
 CThreadedBLEMIDISender< ESP32BLEBackend< Impl > >
 CTimer< time >A class for easily managing timed events
 CTimer< micros >
 CTimer< millis >
 Ctrue_type
 CTwoByteMIDIMatcherMatcher for MIDI messages with 2 data bytes, such as Note On/Off, Control Change, Key Pressure (but not Pitch Bend)
 CTwoByteRangeMIDIMatcherMatcher for MIDI messages with 2 data bytes, such as Note On/Off, Control Change, Key Pressure (but not Pitch Bend)
 Ctype
 Ctype
 CUSBDeviceMIDIBackend
 CUSBDriver
 CUSBHostMIDIBackend< MaxPacketSize >MIDI over USB backend for the Teensy USBHost_t36 library
 CUSBHostMIDIBackend< 512 >
 CUSBHostMIDIBackend< 64 >
 CUSBMIDI_SenderA class for sending MIDI USB messages
 CVec2fType for 2D vectors of floating point numbers
 CVec3fType for 3D vectors of floating point numbers
 CBTstackBackgroundBackend::VolatileSize
 CVPotStateStruct that keeps track of the value and overload indicator of a Mackie Control Universal VPot LED ring
 CVUMatcherMIDI Input matcher for Mackie Control Universal VU meters
 CVUStateStruct that keeps track of the value and overload indicator of a Mackie Control Universal VU meter
 CBulkTX< Derived, MessageTypeT, MaxPacketSizeV >::WritingState for writing outgoing USB-MIDI data
 CXBitmapA struct containing X Bitmap width, height and data
 CN