*/
import glucose.*;
-import glucose.control.*;
-import glucose.effect.*;
import glucose.model.*;
-import glucose.pattern.*;
-import glucose.transform.*;
-import glucose.transition.*;
import heronarts.lx.*;
-import heronarts.lx.control.*;
import heronarts.lx.effect.*;
import heronarts.lx.modulator.*;
+import heronarts.lx.parameter.*;
import heronarts.lx.pattern.*;
+import heronarts.lx.transform.*;
import heronarts.lx.transition.*;
import ddf.minim.*;
import ddf.minim.analysis.*;
final float TRAILER_DEPTH = 97;
final float TRAILER_HEIGHT = 33;
-final int MaxCubeHeight = 5;
-final int NumBackTowers = 11;
-
int targetFramerate = 60;
int startMillis, lastMillis;
lx = glucose.lx;
lx.enableKeyboardTempo();
logTime("Built GLucose engine");
-
+
// Set the patterns
LXEngine engine = lx.engine;
engine.setPatterns(patterns = _leftPatterns(glucose));
noFill();
stroke(#999999);
rect(x, y, tw, h);
+ h = 5;
noStroke();
for (long val : new long[] {
lx.engine.timer.deckNanos,
+ lx.engine.timer.copyNanos,
lx.engine.timer.fxNanos}) {
float amt = val / (float) lx.timer.drawNanos;
fill(lx.hsb(hv % 360, 100, 80));
rect(xp, y, amt * tw, h-1);
hv += 140;
xp += amt * tw;
- }
+ }
+
+ xp = x;
+ y += h;
+ hv = 120;
+ for (long val : new long[] {
+ lx.engine.getDeck(0).timer.runNanos,
+ lx.engine.getDeck(1).timer.runNanos,
+ lx.engine.getDeck(1).getFaderTransition().timer.blendNanos}) {
+ float amt = val / (float) lx.timer.drawNanos;
+ fill(lx.hsb(hv % 360, 100, 80));
+ rect(xp, y, amt * tw, h-1);
+ hv += 140;
+ xp += amt * tw;
+ }
}
void drawSimulation(color[] simulationColors) {
- camera(
+ camera(
eyeX, eyeY, eyeZ,
midX, midY, midZ,
0, -1, 0
noFill();
strokeWeight(2);
beginShape(POINTS);
- for (Point p : glucose.model.points) {
+ for (LXPoint p : glucose.model.points) {
stroke(simulationColors[p.index]);
vertex(p.x, p.y, p.z);
}