You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
912 B

int ereaseRow = 0;
boolean doErease = false;
boolean doRec = false;
void setBeat(int index, int sample) {
samples[sample][index] = true;
}
void keyPressed() {
println(keyCode);
if(keyCode >= 48 && keyCode < 57) { // From 0 to 9
ereaseRow = keyCode-48;
} else if(keyCode >= 74) { // From P to Z
if(key == 'p') {
controller[0] = controller[0] == "PLAY" ? "STOP" : "PLAY";
beat=0;
}
if(key == 'r') {
controller[1] = controller[1] == "UNSET" ? "REC/OVERDUB" : "UNSET";
doRec = true;
}
if(key == 'x') {
controller[1] = "EREASE";
}
} else { // From A to O
int sample = keyCode-65;
ereaseRow = controller[1] == "EREASE" ? keyCode-64 : 0;
doErease = ereaseRow>0;
if(sample >= 0 && sample < numSounds && !doErease) {
if(controller[1] != "EREASE" && controller[1] != "UNSET") {
setBeat(beat, sample);
}
}
}
}