diff --git a/Processing/Sampler/Sampler.pde b/Processing/Sampler/Sampler.pde index 4ade07d..322baec 100644 --- a/Processing/Sampler/Sampler.pde +++ b/Processing/Sampler/Sampler.pde @@ -7,6 +7,7 @@ int numSounds = 0; int numTracks = 0; int bpm = 0; int pattern = 0; +int bank = 0; int swing = 0; int divider = 0; int duration = 0; diff --git a/Processing/Sampler/SetBeat.pde b/Processing/Sampler/SetBeat.pde index d1f86f2..88902e2 100644 --- a/Processing/Sampler/SetBeat.pde +++ b/Processing/Sampler/SetBeat.pde @@ -9,6 +9,8 @@ void setBeat(int index, int sample) { samples[sample][index] = true; } + + void keyPressed() { //println(keyCode); if(keyCode >= 64 && keyCode <= 88) { // From A to Z @@ -42,16 +44,26 @@ void keyPressed() { ereaseRow = controller[1] == "EREASE" ? keyCode-48 : 0; doErease = ereaseRow>0; - if(code >= 0 && code < numSounds && !doErease) { + //&& code < numSounds + if(code >= 0 && !doErease) { + if(chooseBank) { controller[2] = "BANK" + (code+1); setData(); chooseBank = false; + } else if(choosePattern) { - pattern = (code+1); + pattern = code; patternLabel = "PATTERN" + (code+1); - setData(); choosePattern = false; + samples = patternsArray[code]; + numSounds = soundNumbersArray[code]; + divider = dividersArray[code]; + bank = banksArray[code]; + numTracks = numSounds; + controller[2] = "BANK" + banksArray[code]; + setData(); + } else if(controller[1] != "EREASE" && controller[1] != "UNSET") { setBeat(beat, code); } diff --git a/Processing/Sampler/controllerStatus.pde b/Processing/Sampler/controllerStatus.pde index e0a73d1..863f86e 100644 --- a/Processing/Sampler/controllerStatus.pde +++ b/Processing/Sampler/controllerStatus.pde @@ -25,4 +25,5 @@ void printControllerStatus() { stroke(200); line(width/2, height-85, width/2, height-15); + } diff --git a/Processing/Sampler/data/data.json b/Processing/Sampler/data/data.json index 4c0a841..714208a 100644 --- a/Processing/Sampler/data/data.json +++ b/Processing/Sampler/data/data.json @@ -2,22 +2,26 @@ "patterns": [ { "name": "Pattern 1", + "numSounds": 5, + "divider": 8, + "bank": 1, "pattern": [ - [false, false, false, false, false, false, false, false], - [false, false, false, false, false, false, false, false], - [false, false, false, false, false, false, false, false], - [false, false, false, false, false, false, false, false], - [false, false, false, false, false, false, false, false] + [true, false, true, false, true, false, true, false], + [true, false, false, true, false, true, false, false], + [false, true, false, false, false, false, false, false], + [false, false, true, false, false, false, true, false], + [false, false, false, false, true, false, false, false] ] }, { "name": "Pattern 2", + "numSounds": 3, + "divider": 6, + "bank": 2, "pattern": [ - [false, true, false, false, false, false], + [false, true, false, true, false, true], [false, false, true, false, false, true], - [false, false, false, true, false, false], - [false, false, true, false, false, false], - [true, false, false, false, true, false] + [false, false, false, true, false, false] ] } ] diff --git a/Processing/Sampler/loadData.pde b/Processing/Sampler/loadData.pde index 22f5655..26768e1 100644 --- a/Processing/Sampler/loadData.pde +++ b/Processing/Sampler/loadData.pde @@ -1,50 +1,48 @@ String[] patternLabels = {}; -boolean[][][] samplesArray = {}; +int[] soundNumbersArray = {}; +int[] dividersArray = {}; +int[] banksArray = {}; +boolean[][][] patternsArray = {}; void loadData() { JSONObject json; json = loadJSONObject("data.json"); - JSONArray patternsArray = json.getJSONArray("patterns"); + JSONArray pattsArray = json.getJSONArray("patterns"); - for(int pat=0; pat