OverlayUI ui;
ControlUI controlUI;
MappingUI mappingUI;
-PandaDriver pandaFront;
-PandaDriver pandaRear;
+PandaDriver[] pandaBoards;
boolean mappingMode = false;
-
-boolean pandaBoardsEnabled = false;
-
boolean debugMode = false;
DebugUI debugUI;
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");
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
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);
}
// TODO(mcslee): move into GLucose engine
- if (pandaBoardsEnabled) {
- pandaFront.send(colors);
- // pandaRear.send(colors);
+ for (PandaDriver p : pandaBoards) {
+ p.send(colors);
}
}
}
break;
case 'p':
- pandaBoardsEnabled = !pandaBoardsEnabled;
- println("PandaBoard Output: " + (pandaBoardsEnabled ? "ON" : "OFF"));
+ for (PandaDriver p : pandaBoards) {
+ p.toggle();
+ }
break;
case 'u':
uiOn = !uiOn;
}
int mx, my;
-
void mousePressed() {
- if (mouseX > ui.leftPos) {
- ui.mousePressed();
- } else {
+ ui.mousePressed();
+ if (mouseX < ui.leftPos) {
if (debugMode) {
debugUI.mousePressed();
}
}
void mouseReleased() {
- if (mouseX > ui.leftPos) {
- ui.mouseReleased();
- }
+ ui.mouseReleased();
}
void mouseWheel(int delta) {