So, I got a request I had never done- a stop/start. These functions are not well described in the library docs, but it all worked out.
Here is the code. I wont bother with the build right now, as it is well described on other posts:
//midi.controller to start/stop //by @the.nw.enterprise, https://thenorthwestenterprise.com/ //Library Source https://github.com/tttapa/Control-Surface //Built for Ardruino NANO EVERY #include <Control_Surface.h> // Include the library // Instantiate the MIDI over USB interface //USBDebugMIDI_Interface midi(115200); // uncomment this for serial monitor in ide HardwareSerialMIDI_Interface midi = {Serial1, MIDI_BAUD}; //uncomment this for 5-pin operation- this sends on TX **may need to rename Serial1 vs Serial //USBMIDI_Interface midi; // uncomment for native MIDI over USB //HairlessMIDI_Interface hair (); // uncomment this for Hairless // Push button connected between pin 2 and ground. // Note message is sent when pressed. Button pushbutton4 = {4}; //START Button pushbutton6 = {6}; //CONTINUE Button pushbutton8 = {8}; //STOP void setup() { pushbutton4.begin(); // enables internal pull-up pushbutton6.begin(); // enables internal pull-up pushbutton8.begin(); // enables internal pull-up midi.begin(); // initialize the MIDI interface } void loop() { midi.update(); // read and handle or discard MIDI input pushbutton4.update(); // read the button state if (pushbutton4.getState() == Button::Falling) // if the button is pressed midi.send(0xFA); // send a message pushbutton6.update(); // read the button state if (pushbutton6.getState() == Button::Falling) // if the button is pressed midi.send(0xFB); // send a message pushbutton8.update(); // read the button state if (pushbutton8.getState() == Button::Falling) // if the button is pressed midi.send(0xFC); // send a message }