int ereaseRow = 0; boolean doErease = false; boolean doRec = false; boolean chooseBank = false; boolean choosePattern = false; boolean chooseBPM = false; void setBeat(int index, int sample) { samples[sample][index] = true; } void keyPressed() { //println(keyCode); if(keyCode >= 64 && keyCode <= 88) { // From A to Z //println(key); //ereaseRow = keyCode-48; if(key == 'b') { // BANK chooseBank = true; controller[0] = "STOP"; controller[2] = "CHOOSE..."; } if(key == 'p') { // PLAY/STOP controller[0] = controller[0] == "PLAY" ? "STOP" : "PLAY"; beat=0; } if(key == 'r') { // REC/OVERDUB controller[1] = controller[1] == "UNSET" ? "REC/OVERDUB" : "UNSET"; doRec = true; } if(key == 's') { // BPM bpmLabel = "CHOOSE..."; chooseBPM = true; } if(key == 'o') { // PATTERN choosePattern = true; controller[0] = "STOP"; patternLabel = "CHOOSE..."; } if(key == 'x') { // EREASE controller[1] = "EREASE"; } } else if(keyCode >= 48 && keyCode < 57) { // From 1 to 9 int code = keyCode-49; ereaseRow = controller[1] == "EREASE" ? keyCode-48 : 0; doErease = ereaseRow>0; //&& code < numSounds if(code >= 0 && !doErease) { if(chooseBank) { controller[2] = banksLabels[code]; bank = code+1; chooseBank = false; setData(); } else if(chooseBPM) { bpmLabel = bpmsArray[code]+""; bpm = bpmsArray[code]; chooseBPM = false; setData(); } else if(choosePattern) { pattern = code; patternLabel = "PATTERN" + (code+1); choosePattern = false; samples = patternsArray[code]; numSounds = soundNumbersArray[code]; divider = dividersArray[code]; bank = banksArray[code]; bpm = bpmPatArray[code]; bpmLabel = bpmPatArray[code]+""; numTracks = numSounds; controller[2] = banksLabels[code]; setData(); } else if(controller[1] != "EREASE" && controller[1] != "UNSET" && controller[0] != "STOP") { setBeat(beat, code); } } } }