Control Surface main
MIDI Control Surface library for Arduino


// Transposer that transposes one octave (12 semitones) at a time,
// from 0 to +1 octave.
Transposer<0, +1> transposer(12);
// Push button on pin 2 to transpose.
IncrementSelector<2> selector {transposer, 2};
transposer, // bank/transposer
3, // pin
MIDI_Notes::C(4), // address/note
void setup() {
selector.invert(); // normally closed button
void loop() {
The main header file that includes all Control-Surface header files.
Control_Surface_ & Control_Surface
A predefined instance of the Control Surface to use in the Arduino sketches.
A class of MIDIOutputElements that read the input of a momentary push button or switch,...
void begin()
Initialize the Control_Surface.
void loop()
Update all MIDI elements, send MIDI events and read MIDI input.
Selector with one button that increments the selection.
Class for transposing the address of NoteButton and other MIDI elements.
Definition: Transposer.hpp:11
A class for MIDI interfaces sending MIDI messages over a USB MIDI connection.
constexpr Note C
C (Do)
Definition: Notes.hpp:40