 }
 
 void handleInitMode() {
+  changeInitMidiBank();
   sendInitMidiNotes();
   updateInitLeds();
+}
+
+void changeInitMidiBank() {
+  boolean update = false;
+  if (bankDownButton.isJustReleased()) {
+    initBank--;
+    if(initBank == 255) {
+      initBank = 126;
+    }
+    update = true;
+  } else if (bankUpButton.isJustReleased()) {
+    initBank++;
+    initBank = initBank % 127;
+    update = true;
+  }
+  if (update) {    
+    Serial.print("MIDI offset ");
+    Serial.println(initBank);
+  }
 }
 
 void handleNormalMode() {

const byte initMode = 1;
const byte modeCount = 2;
byte mode = normalMode;

const char* modeNames[] = {"Normal-Mode", "Init-Mode"};


void sendInitMidiNotes() {
  for (byte i = 0; i < numberOfChannelButtons; i++) {
    if (channelButtons[i].isJustReleased()) {
      usbMIDI.sendNoteOff(i + (initBank * numberOfChannelButtons), 0, midiChannel);
    } else if (channelButtons[i].isJustPressed()) {
      usbMIDI.sendNoteOn(i + (initBank * numberOfChannelButtons), 99, midiChannel);
    }
  }
}
