Merge branch 'panda-refactor' of https://github.com/sugarcubes/SugarCubes
[SugarCubes.git] / _Internals.pde
index 4ab6f76d7d45be3bbc57266ad073f521466a610f..0249603b3f209e0fffc1013290aeca8a4368bcab 100644 (file)
@@ -51,6 +51,8 @@ boolean mappingMode = false;
 
 boolean pandaBoardsEnabled = false;
 
+boolean debugMode = false;
+
 void setup() {
   startMillis = lastMillis = millis();
 
@@ -64,6 +66,7 @@ void setup() {
   // Create the GLucose engine to run the cubes
   glucose = new GLucose(this, new SCMapping());
   lx = glucose.lx;
+  lx.enableKeyboardTempo();
   logTime("Built GLucose engine");
   
   // Set the patterns
@@ -71,7 +74,7 @@ void setup() {
   logTime("Built patterns");
   glucose.lx.addEffects(effects = effects(glucose));
   logTime("Built effects");
-  transitions = transitions(glucose);
+  glucose.setTransitions(transitions = transitions(glucose));
   logTime("Built transitions");
     
   // Build output driver
@@ -89,13 +92,34 @@ void setup() {
   logTime("Built overlay UI");
     
   // MIDI devices
-  SCMidiDevices.initializeStandardDevices(glucose, controlUI.patternKnobs, controlUI.transitionKnobs, controlUI.effectKnobs);
+  for (MidiInputDevice d : RWMidi.getInputDevices()) {
+    d.createInput(this);
+  }
+  SCMidiDevices.initializeStandardDevices(glucose);
   logTime("Setup MIDI devices");
   
   println("Total setup: " + (millis() - startMillis) + "ms");
   println("Hit the 'p' key to toggle Panda Board output");
 }
 
+void controllerChangeReceived(rwmidi.Controller cc) {
+  if (debugMode) {
+    println("CC: " + cc.toString());
+  }
+}
+
+void noteOnReceived(Note note) {
+  if (debugMode) {
+    println("Note On: " + note.toString());
+  }
+}
+
+void noteOffReceived(Note note) {
+  if (debugMode) {
+    println("Note Off: " + note.toString());
+  }
+}
+
 void logTime(String evt) {
   int now = millis();
   println(evt + ": " + (now - lastMillis) + "ms");
@@ -131,6 +155,9 @@ void keyPressed() {
     mappingTool.keyPressed();
   }
   switch (key) {
+    case 'd':
+      debugMode = !debugMode;
+      println("Debug output: " + (debugMode ? "ON" : "OFF"));
     case 'm':
       mappingMode = !mappingMode;
       if (mappingMode) {