Control Surface  1.1.1
MIDI Control Surface library for Arduino
Todo List
Member AddressMatrix
This should be an array of type MIDICNChannelAddress.
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 FLUSH_ON_EVERY_DEBUG_STATEMENT
I should probably use Streams instead of Prints, so Espressif boards can flush as well.
Member IncrementButton::State
Add states for initial press.
Member IncrementDecrementButtons::State
Add states for initial press.
Class IVPotRing
I'm terrible at naming things.
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 MAX7219_Base::init ()
Rename to begin.
Member MAX7219SevenSegmentDisplay::display (const uint8_t(&characters)[N], uint8_t startPos=0)
Find out what this function does, and write documentation.
Member MAX7219SevenSegmentDisplay::printHex (uint8_t digit, uint8_t value)
Rename to printHexChar and create function that actually prints longer hexadecimal numbers.
Class MIDIButtonMatrix< BankAddress, Sender, nb_rows, nb_cols >
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
Class MIDIButtons< Sender, NUMBER_OF_BUTTONS >
Use BankAddresses?
Member MIDIButtons< Sender, NUMBER_OF_BUTTONS >::MIDIButtons (const OutputBankConfig &config, const Array< AH::Button, NUMBER_OF_BUTTONS > &buttons, const MIDICNChannelAddress &baseAddress, const RelativeMIDICNChannelAddress &incrementAddress, const Sender &sender)
Documentation
Member MIDIButtons< Sender, NUMBER_OF_BUTTONS >::MIDIButtons (const Array< AH::Button, NUMBER_OF_BUTTONS > &buttons, const MIDICNChannelAddress &baseAddress, const RelativeMIDICNChannelAddress &incrementAddress, const Sender &sender)
Documentation
Class MIDIIncrementDecrementButtons< BankAddress, RelativeSender, ResetSender >
Combine RelativeSender and ResetSender?
Member MIDIIncrementDecrementButtons< BankAddress, RelativeSender, ResetSender >::MIDIIncrementDecrementButtons (const BankAddress &addresses, const AH::IncrementDecrementButtons &buttons, uint8_t multiplier, const RelativeSender &relativeSender, const ResetSender &resetSender)
Documentation
Member MIDIIncrementDecrementButtons< RelativeSender, ResetSender >::MIDIIncrementDecrementButtons (const AH::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 OutputBankConfig &config, const EncoderPinList &pins, const MIDICNChannelAddress &address, uint8_t speedMultiply, uint8_t pulsesPerStep, const Sender &sender)
Documentation
Member MIDIRotaryEncoder< Sender >::MIDIRotaryEncoder (const EncoderPinList &pins, const MIDICNChannelAddress &address, int8_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 final override
check index bounds
Member Parsing_MIDI_Interface::read ()=0
Documentation
Member SevenSegmentDisplay< LENGTH >::getCharacterAt (uint8_t index) const
Documentation.
Member SevenSegmentDisplay< LENGTH >::getDecimalPointAt (uint8_t index) const
Documentation.
Member SevenSegmentDisplay< LENGTH >::getRangeIndex (const MIDICNChannelAddress &target) const
Member SevenSegmentDisplay< LENGTH >::SevenSegmentDisplay (const MIDICNChannelAddress &address)
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.