X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=_Internals.pde;h=1b32abd1b17c647202ddc631a4e7df04b3de9813;hb=5bbef307441c1c5d31ef1dc58cb824f5e904c4e2;hp=abfe6be9c22eb11013bfec53b1b2936b3f6576ab;hpb=4e93e2923242dad5e4b9bc5c04c68346d5650d14;p=SugarCubes.git diff --git a/_Internals.pde b/_Internals.pde index abfe6be..1b32abd 100644 --- a/_Internals.pde +++ b/_Internals.pde @@ -56,12 +56,8 @@ LXEffect[] effects; OverlayUI ui; ControlUI controlUI; MappingUI mappingUI; -PandaDriver pandaFront; -PandaDriver pandaRear; +PandaDriver[] pandaBoards; boolean mappingMode = false; - -boolean pandaBoardsEnabled = false; - boolean debugMode = false; DebugUI debugUI; @@ -79,7 +75,7 @@ void setup() { logTime("Created viewport"); // Create the GLucose engine to run the cubes - glucose = new GLucose(this, new SCMapping()); + glucose = new GLucose(this, buildModel()); lx = glucose.lx; lx.enableKeyboardTempo(); logTime("Built GLucose engine"); @@ -93,17 +89,19 @@ void setup() { logTime("Built transitions"); // Build output driver - int[][] frontChannels = glucose.mapping.buildFrontChannelList(); - int[][] rearChannels = glucose.mapping.buildRearChannelList(); - mappingTool = new MappingTool(glucose, frontChannels, rearChannels); - pandaFront = new PandaDriver(new NetAddress("192.168.1.28", 9001), glucose.model, frontChannels); - pandaRear = new PandaDriver(new NetAddress("192.168.1.29", 9001), glucose.model, rearChannels); - logTime("Build PandaDriver"); + PandaMapping[] pandaMappings = buildPandaList(); + pandaBoards = new PandaDriver[pandaMappings.length]; + int pbi = 0; + for (PandaMapping pm : pandaMappings) { + pandaBoards[pbi++] = new PandaDriver(pm.ip, glucose.model, pm); + } + mappingTool = new MappingTool(glucose, pandaMappings); + logTime("Built PandaDriver"); // Build overlay UI ui = controlUI = new ControlUI(); mappingUI = new MappingUI(mappingTool); - debugUI = new DebugUI(frontChannels, rearChannels); + debugUI = new DebugUI(pandaMappings); logTime("Built overlay UI"); // MIDI devices @@ -183,7 +181,7 @@ void draw() { endShape(); noStroke(); - fill(#292929); + fill(#393939); drawBox(BASS_X, 0, BASS_Z, 0, 0, 0, BASS_WIDTH, BASS_HEIGHT, BASS_DEPTH, Cube.CHANNEL_WIDTH); for (Cube c : glucose.model.cubes) { drawCube(c); @@ -212,9 +210,8 @@ void draw() { } // TODO(mcslee): move into GLucose engine - if (pandaBoardsEnabled) { - pandaFront.send(colors); - // pandaRear.send(colors); + for (PandaDriver p : pandaBoards) { + p.send(colors); } } @@ -303,8 +300,9 @@ void keyPressed() { } break; case 'p': - pandaBoardsEnabled = !pandaBoardsEnabled; - println("PandaBoard Output: " + (pandaBoardsEnabled ? "ON" : "OFF")); + for (PandaDriver p : pandaBoards) { + p.toggle(); + } break; case 'u': uiOn = !uiOn; @@ -313,11 +311,9 @@ void keyPressed() { } int mx, my; - void mousePressed() { - if (mouseX > ui.leftPos) { - ui.mousePressed(); - } else { + ui.mousePressed(); + if (mouseX < ui.leftPos) { if (debugMode) { debugUI.mousePressed(); } @@ -342,9 +338,7 @@ void mouseDragged() { } void mouseReleased() { - if (mouseX > ui.leftPos) { - ui.mouseReleased(); - } + ui.mouseReleased(); } void mouseWheel(int delta) {