Browse Source

add erease

develop
Carmine De Rosa 5 years ago
parent
commit
8224353242
  1. 37
      Processing/Sampler/Sampler.pde
  2. 34
      Processing/Sampler/SetBeat.pde
  3. 16
      Processing/Sampler/controllerStatus.pde
  4. BIN
      Processing/Sampler/data/BANK1/1.wav
  5. BIN
      Processing/Sampler/data/BANK1/10.wav
  6. BIN
      Processing/Sampler/data/BANK1/11.wav
  7. BIN
      Processing/Sampler/data/BANK1/2.aiff
  8. BIN
      Processing/Sampler/data/BANK1/2.wav
  9. BIN
      Processing/Sampler/data/BANK1/3.wav
  10. BIN
      Processing/Sampler/data/BANK1/4.wav
  11. BIN
      Processing/Sampler/data/BANK1/5.wav
  12. BIN
      Processing/Sampler/data/BANK1/6.wav
  13. BIN
      Processing/Sampler/data/BANK1/7.wav
  14. BIN
      Processing/Sampler/data/BANK1/8.wav
  15. BIN
      Processing/Sampler/data/BANK1/9.wav
  16. 4
      Processing/Sampler/loadData.pde

37
Processing/Sampler/Sampler.pde

@ -13,7 +13,7 @@ int beat = 0;
boolean[][] samples;
void setup() {
size(640, 360);
size(640, 460);
background(255);
loadData();
@ -21,33 +21,52 @@ void setup() {
}
void draw() {
background(255);
background(50);
stroke(255);
fill(200);
printControllerStatus();
if(controller[0] == "PLAY") {
for(int i=0; i<numSounds; i++) {
fill(90);
for(int y=0; y<divider; y++) {
rect((width/divider)*y,(height/numSounds)*i, width/divider, height/numSounds);
fill(samples[i][y] ? 120: 90);
rect((width/divider)*y,((height-100)/numSounds)*i, width/divider, (height-100)/numSounds);
}
}
for(int i=0; i<numSounds; i++) {
fill(150);
if(samples[i][beat]) {
fill(0, 200, 0);
file[i].stop();
file[i].play();
}
rect((width/divider)*beat,(height/numSounds)*i, width/divider, height/numSounds);
rect((width/divider)*beat,((height-100)/numSounds)*i, width/divider, (height-100)/numSounds);
}
beat++;
if(beat>=divider){beat=0;}
// ################################## End of beat
if(beat==0) {
if(doRec == false) {
controller[1] = "UNSET";
}
doRec = false;
}
if(ereaseRow>0 && doErease && beat==0) {
for(int x=0; x<divider; x++) {
samples[ereaseRow-1][x] = false;
}
ereaseRow = 0;
doErease = false;
}
}
delay(duration);
}

34
Processing/Sampler/SetBeat.pde

@ -1,26 +1,34 @@
int ereaseRow = 0;
boolean doErease = false;
boolean doRec = false;
void setBeat(int index, int sample) {
samples[sample][index] = true;
}
void keyPressed() {
if(keyCode >= 48 && keyCode < 53) {
println(keyCode);
if(keyCode >= 48 && keyCode < 57) { // From 0 to 9
ereaseRow = keyCode-48;
println("Set ereaseRow"+ereaseRow);
} else {
} 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;
println(sample);
if(sample >= 0 && sample < numSounds) {
println("ereaseRow"+ereaseRow);
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);
if(ereaseRow>0) {
for(int x=0; x<divider; x++) {
samples[ereaseRow-1][x] = false;
}
//ereaseRow = 0;
}
}
}

16
Processing/Sampler/controllerStatus.pde

@ -0,0 +1,16 @@
String[] controller = {"STOP", "UNSET", "BANK1", "PATTERN"};
void printControllerStatus() {
fill(200);
text("PLAY/STOP:", 10, height-75);
text("REC/OVERDUB/ERASE:", 10, height-55);
text("BANK:", 10, height-35);
text("PATTERN/BPM/SWING:", 10, height-15);
fill(240);
text(controller[0], 180, height-75);
text(controller[1], 180, height-55);
text(controller[2], 180, height-35);
text(controller[3], 180, height-15);
}

BIN
Processing/Sampler/data/BANK1/1.wav

Binary file not shown.

BIN
Processing/Sampler/data/BANK1/10.wav

Binary file not shown.

BIN
Processing/Sampler/data/BANK1/11.wav

Binary file not shown.

BIN
Processing/Sampler/data/BANK1/2.aiff

Binary file not shown.

BIN
Processing/Sampler/data/BANK1/2.wav

Binary file not shown.

BIN
Processing/Sampler/data/BANK1/3.wav

Binary file not shown.

BIN
Processing/Sampler/data/BANK1/4.wav

Binary file not shown.

BIN
Processing/Sampler/data/BANK1/5.wav

Binary file not shown.

BIN
Processing/Sampler/data/BANK1/6.wav

Binary file not shown.

BIN
Processing/Sampler/data/BANK1/7.wav

Binary file not shown.

BIN
Processing/Sampler/data/BANK1/8.wav

Binary file not shown.

BIN
Processing/Sampler/data/BANK1/9.wav

Binary file not shown.

4
Processing/Sampler/loadData.pde

@ -7,7 +7,9 @@ void loadData() {
duration = int((60/float(bpm))*1000);
beat = 0;
String bank = "bank1";
String bank = controller[2];
println(bank);
samples = new boolean[numTracks][divider];
for(int i=0; i<numTracks; i++) {

Loading…
Cancel
Save