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
}