diff --git a/Processing/Sampler/Sampler.pde b/Processing/Sampler/Sampler.pde index ba0f356..d23063c 100644 --- a/Processing/Sampler/Sampler.pde +++ b/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); - for(int i=0; i=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){beat=0;} - + delay(duration); } diff --git a/Processing/Sampler/SetBeat.pde b/Processing/Sampler/SetBeat.pde index b09c06d..9056f5b 100644 --- a/Processing/Sampler/SetBeat.pde +++ b/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); - setBeat(beat, sample); - - if(ereaseRow>0) { - for(int x=0; x0; + if(sample >= 0 && sample < numSounds && !doErease) { + if(controller[1] != "EREASE" && controller[1] != "UNSET") { + setBeat(beat, sample); } } } diff --git a/Processing/Sampler/controllerStatus.pde b/Processing/Sampler/controllerStatus.pde new file mode 100644 index 0000000..09cc66b --- /dev/null +++ b/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); +} diff --git a/Processing/Sampler/data/BANK1/1.wav b/Processing/Sampler/data/BANK1/1.wav new file mode 100644 index 0000000..35c8175 Binary files /dev/null and b/Processing/Sampler/data/BANK1/1.wav differ diff --git a/Processing/Sampler/data/BANK1/10.wav b/Processing/Sampler/data/BANK1/10.wav new file mode 100644 index 0000000..5ca2202 Binary files /dev/null and b/Processing/Sampler/data/BANK1/10.wav differ diff --git a/Processing/Sampler/data/BANK1/11.wav b/Processing/Sampler/data/BANK1/11.wav new file mode 100644 index 0000000..2a93d79 Binary files /dev/null and b/Processing/Sampler/data/BANK1/11.wav differ diff --git a/Processing/Sampler/data/BANK1/2.aiff b/Processing/Sampler/data/BANK1/2.aiff new file mode 100644 index 0000000..00f2e48 Binary files /dev/null and b/Processing/Sampler/data/BANK1/2.aiff differ diff --git a/Processing/Sampler/data/BANK1/2.wav b/Processing/Sampler/data/BANK1/2.wav new file mode 100644 index 0000000..32bd834 Binary files /dev/null and b/Processing/Sampler/data/BANK1/2.wav differ diff --git a/Processing/Sampler/data/BANK1/3.wav b/Processing/Sampler/data/BANK1/3.wav new file mode 100644 index 0000000..101c110 Binary files /dev/null and b/Processing/Sampler/data/BANK1/3.wav differ diff --git a/Processing/Sampler/data/BANK1/4.wav b/Processing/Sampler/data/BANK1/4.wav new file mode 100644 index 0000000..f997096 Binary files /dev/null and b/Processing/Sampler/data/BANK1/4.wav differ diff --git a/Processing/Sampler/data/BANK1/5.wav b/Processing/Sampler/data/BANK1/5.wav new file mode 100644 index 0000000..6641aed Binary files /dev/null and b/Processing/Sampler/data/BANK1/5.wav differ diff --git a/Processing/Sampler/data/BANK1/6.wav b/Processing/Sampler/data/BANK1/6.wav new file mode 100644 index 0000000..dcb8553 Binary files /dev/null and b/Processing/Sampler/data/BANK1/6.wav differ diff --git a/Processing/Sampler/data/BANK1/7.wav b/Processing/Sampler/data/BANK1/7.wav new file mode 100644 index 0000000..72a4822 Binary files /dev/null and b/Processing/Sampler/data/BANK1/7.wav differ diff --git a/Processing/Sampler/data/BANK1/8.wav b/Processing/Sampler/data/BANK1/8.wav new file mode 100644 index 0000000..dcdf716 Binary files /dev/null and b/Processing/Sampler/data/BANK1/8.wav differ diff --git a/Processing/Sampler/data/BANK1/9.wav b/Processing/Sampler/data/BANK1/9.wav new file mode 100644 index 0000000..88f21f3 Binary files /dev/null and b/Processing/Sampler/data/BANK1/9.wav differ diff --git a/Processing/Sampler/loadData.pde b/Processing/Sampler/loadData.pde index 5090ff6..cc694ff 100644 --- a/Processing/Sampler/loadData.pde +++ b/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