This is an old version of the documentation. View the latest version here.
Control Surface  1.0.0
MIDI Control Surface library for Arduino
Todo List
Member AddressMatrix
This should be an array of type MIDICNChannelAddress.
Class Bankable::MIDIButtonMatrix< BankAddress, Sender, nb_rows, nb_cols >
Documentation
Class Bankable::MIDIButtons< Sender, NUMBER_OF_BUTTONS >
Use BankAddresses?
Member Bankable::MIDIButtons< Sender, NUMBER_OF_BUTTONS >::MIDIButtons (const OutputBankConfig &config, const Array< Button, NUMBER_OF_BUTTONS > &buttons, const MIDICNChannelAddress &baseAddress, const RelativeMIDICNChannelAddress &incrementAddress, const Sender &sender)
Documentation
Class Bankable::MIDIIncrementDecrementButtons< BankAddress, RelativeSender, ResetSender >
Combine RelativeSender and ResetSender?
Member Bankable::MIDIIncrementDecrementButtons< BankAddress, RelativeSender, ResetSender >::MIDIIncrementDecrementButtons (const BankAddress &addresses, const IncrementDecrementButtons &buttons, uint8_t multiplier, const RelativeSender &relativeSender, const ResetSender &resetSender)
Documentation
Member Bankable::MIDIRotaryEncoder< Sender >::MIDIRotaryEncoder (const OutputBankConfig &config, const EncoderPinList &pins, const MIDICNChannelAddress &address, uint8_t speedMultiply, uint8_t pulsesPerStep, const Sender &sender)
Documentation
Member BankableMIDIInput< N >::matchBankableInRange (uint8_t toMatch, uint8_t base, uint8_t length) const
This is very hard to explain without a specific example ...
Class BankableMIDIOutput
Create BankableMIDIElement class, make this inherit from it, as well as ManyAddressesMIDIOutput.
Member CHANGE_CABLENB
Implement
Member Clamp
Rename to Clamp?
Member Control_Surface_::MIDI ()
This violate's the Law of Demeter.
Member DisplayInterface::DisplayInterface ()
Do I need to keep a list now that I have sorted all DisplayElements?
Member DisplayInterface::~DisplayInterface ()
Do I need to keep a list now that I have sorted all DisplayElements?
Member IncrementButton::State
Add states for initial press.
Member IncrementDecrementButtons::State
Add states for initial press.
Class MAX7219
Wiring diagram for SPI connection.
Member MAX7219::update () override
Does this really have to happen on each update?
Class MAX7219_Base
Wiring diagram for SPI connection.
Member MAX7219SevenSegmentDisplay::display (const uint8_t(&characters)[N], uint8_t startPos=0)
Find out what this function does, and write documentation.
Class MCU::IVPotRing
I'm terrible at naming things.
Member MCU::SevenSegmentDisplay< LENGTH >::getCharacterAt (uint8_t index) const
Documentation.
Member MCU::SevenSegmentDisplay< LENGTH >::getDecimalPointAt (uint8_t index) const
Documentation.
Member MCU::SevenSegmentDisplay< LENGTH >::getRangeIndex (const MIDICNChannelAddress &target) const
Member MCU::SevenSegmentDisplay< LENGTH >::SevenSegmentDisplay (const MIDICNChannelAddress &address)
Documentation.
Class MIDIButtonMatrix< Sender, nb_rows, nb_cols >
Documentation.
Member MIDIButtonMatrix< Sender, nb_rows, nb_cols >::MIDIButtonMatrix (const PinList< nb_rows > &rowPins, const PinList< nb_cols > &colPins, const AddressMatrix< nb_rows, nb_cols > &addresses, MIDICNChannel channelCN, const Sender &sender)
Documentation
Member MIDIButtons< Sender, NUMBER_OF_BUTTONS >::MIDIButtons (const Array< Button, NUMBER_OF_BUTTONS > &buttons, const MIDICNChannelAddress &baseAddress, const RelativeMIDICNChannelAddress &incrementAddress, const Sender &sender)
Documentation
Member MIDIIncrementDecrementButtons< RelativeSender, ResetSender >::MIDIIncrementDecrementButtons (const IncrementDecrementButtons &buttons, const MIDICNChannelAddress &address, uint8_t multiplier, const MIDICNChannelAddress &resetAddress, const RelativeSender &relativeSender, const ResetSender &resetSender)
Documentation
Member MIDIInputElementChannelPressure::MIDIInputElementChannelPressure (const MIDICNChannelAddress &address)
Documentation.
Member MIDIInputElementChannelPressure::~MIDIInputElementChannelPressure ()
Documentation.
Member MIDIInputElementNote::MIDIInputElementNote (const MIDICNChannelAddress &address)
Documentation.
Member MIDIInputElementNote::~MIDIInputElementNote ()
Documentation.
Member MIDIInputElementPC::MIDIInputElementPC (const MIDICNChannelAddress &address)
Documentation.
Member MIDIInputElementPC::~MIDIInputElementPC ()
Documentation.
Member MIDIInputElementSysEx::MIDIInputElementSysEx (uint8_t CN=0)
Documentation.
Member MIDIInputElementSysEx::updateImpl (SysExMessage midimsg)=0
Documentation.
Member MIDIInputElementSysEx::updateWith (SysExMessage midimsg)
Documentation.
Member MIDIInputElementSysEx::~MIDIInputElementSysEx ()
Documentation.
Member MIDIRotaryEncoder< Sender >::MIDIRotaryEncoder (const EncoderPinList &pins, const MIDICNChannelAddress &address, uint8_t speedMultiply, uint8_t pulsesPerStep, const Sender &sender)
Documentation
Member MovingCoilBallistics::operator() (float input)
Uses forward Euler integration, altering the step response: Replace it with zero-order-hold discretization.
Member NoteCCRange< MIDIInput_t, RangeLen, NumBanks, Callback >::getValue (uint8_t index) const override
check index bounds
Member Parsing_MIDI_Interface::read ()=0
Documentation
Member Transposer< MINIMUM_SEMITONES, MAXIMUM_SEMITONES >::getSelection () const override
The return type is a uint8_t, but it can be negative. This is not an issue, because the result will be the same, since the addition will just overflow and truncate, but it's not really clean.