NickCulbertson
New member
This build is a starting point for making a MIDI Controller using Teensy & the Control Surface Library.
I recently got a Teensy 4.0 and these small breadboards. Initially, I intended to use the breadboards as a convenient way to switch the Teensy between projects. However, I liked the tiny aesthetics so much that I made this first. It's a straightforward build for most of us here, but hopefully it sparks the curiosity of newcomers.
Here is the code:
Code:
#include <Control_Surface.h>
USBMIDI_Interface midi;
using namespace MIDI_Notes;
// Transposer that can transpose from one octave down to one octave up
Transposer<-12, +12> transposer;
// Selector to change the transposition
IncrementDecrementSelector<transposer.getNumberOfBanks()> selector {
transposer, {10, 11}, Wrap::Clamp,
};
// Array of NoteButton objects
Bankable::NoteButton buttons[] {
{transposer, 13, note(C, 2)}, {transposer, 23, note(D, 2)},
// Additional buttons for pins 0-7
// {transposer, 0, note(C, 4)}, {transposer, 1, note(D, 4)},
// {transposer, 2, note(E, 4)}, {transposer, 3, note(F, 4)},
// {transposer, 4, note(G, 4)}, {transposer, 5, note(A, 4)},
// {transposer, 6, note(B, 4)}, {transposer, 7, note(C, 5)},
};
void setup() {
Control_Surface.begin();
}
void loop() {
Control_Surface.loop();
}