rename Tim.pde -> TimBavaro.pde
[SugarCubes.git] / _Internals.pde
index d51463c7c070373c6167decca7d2fa6bc927a1d6..1b32abd1b17c647202ddc631a4e7df04b3de9813 100644 (file)
@@ -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("10.200.1.28", 9001), glucose.model, frontChannels);
-  pandaRear = new PandaDriver(new NetAddress("10.200.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) {