Creating Bank Up and Down for Midi Foot controller

Hi Guys. Im looking for a way to add banks to my arduino foot controller. I programmed it for 6 momentary push buttons that each send a midi note to my macbook. I use the midi note to trigger cues and click in ableton Live. I am in the need of a way to add banks so that I can have multiple pages of midi notes programmed.

Here is my code that is currently working great. My thoughts are to hold a button for 2 seconds or something to trigger the bank up. Any ideas?

#include <MIDI.h>
#define txPin 1
//const int channel = 1;
MIDI_CREATE_DEFAULT_INSTANCE();

void setup() {
// put your setup code here, to run once:
MIDI.begin(1);
pinMode(txPin, OUTPUT);
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
pinMode(4, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);
pinMode(6, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
}

void loop() {
// put your main code here, to run repeatedly:
int button1 = digitalRead(2);
int button2 = digitalRead(3);
int button3 = digitalRead(4);
int button4 = digitalRead(5);
int button5 = digitalRead(6);
int button6 = digitalRead(7);

if (button1 == LOW) {
MIDI.sendProgramChange(0,1);
delay(5);
MIDI.sendNoteOn(42,127,1);
delay(1000);
MIDI.sendNoteOff(42,0,1);
}

if (button2 == LOW) {
MIDI.sendProgramChange(1,1);
delay(5);
MIDI.sendNoteOn(43,127,1);
delay(1000);
MIDI.sendNoteOff(43,0,1);
}

if (button3 == LOW) {
MIDI.sendProgramChange(2,1);
delay(5);
MIDI.sendNoteOn(44,127,1);
delay(1000);
MIDI.sendNoteOff(44,0,1);
}

if (button4 == LOW) {
MIDI.sendProgramChange(3,1);
delay(5);
MIDI.sendNoteOn(45,127,1);
delay(1000);
MIDI.sendNoteOff(45,0,1);
}

if (button5 == LOW) {
MIDI.sendNoteOn(46,127,1);
delay(1000);
MIDI.sendNoteOff(46,0,1);
}

if (button6 == LOW) {
MIDI.sendNoteOn(47,127,1);
delay(1000);
MIDI.sendNoteOff(47,0,1);
}

}

MidiFoot_GOOD.ino.ino (1.48 KB)

Bump