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 == '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; if(code >= 0 && code < numSounds && !doErease) { if(chooseBank) { controller[2] = "BANK" + (code+1); setData(); chooseBank = false; } else if(choosePattern) { pattern = (code+1); patternLabel = "PATTERN" + (code+1); setData(); choosePattern = false; } else if(controller[1] != "EREASE" && controller[1] != "UNSET") { setBeat(beat, code); } } } }