 }
 
 void updateLeds() {
-  for (byte i = 0; i < numberOfChannelButtons; i++) {
-    if (channelButtonStates[i]) {
+  if(initMode) {
+    return;
+  }
+  for (byte i = 0; i < numberOfChannelButtons; i++) {
+    if (channelButtons[i].isJustReleased()) {
       digitalWrite(ledPins[i], HIGH);
     } else {
       digitalWrite(ledPins[i], LOW);

byte bank = 0;

boolean initMode = false;

void OnNoteOn(byte channel, byte note, byte velocity)
{

#include <Wire.h>
#include <Adafruit_SSD1306.h>

#define DEBUG_BUTTONS true

byte counter;
const byte CLOCK = 248;
