     playButton.turnLedOn();
   }
 
+  if(stopButton.isJustPressed()) {
+    stopButton.turnLedOn();
+  }
+
   if(playButton.isJustReleased()) {
     midiNoteSendStart = 0;
     midiNoteToSend = selectedSong + (bank * numberOfChannelButtons) + SONG_OFFSET;
     playButton.turnLedOff();
+  }
+  if(stopButton.isJustReleased()) {
+    midiNoteSendStart = 0;
+    midiNoteToSend = STOP_MIDI_NOTE;
+    stopButton.turnLedOff();
   }
 
   sendMidiNote();

char* songs[numberOfSongs];

byte selectedSong = -1;

byte midiNoteToSend = -1;
elapsedMillis midiNoteSendStart = 0;

    }
  }

  if (update || forceUpdate || bankChange) {
    for (byte i = 0; i < numberOfChannelButtons; i++) {
      channelButtons[i].turnLedOff();
