import java.util.Collections;
import java.util.List;
-final int VIEWPORT_WIDTH = 900;
-final int VIEWPORT_HEIGHT = 700;
+static final int VIEWPORT_WIDTH = 900;
+static final int VIEWPORT_HEIGHT = 700;
+
+static final int LEFT_DECK = 0;
+static final int RIGHT_DECK = 1;
// The trailer is measured from the outside of the black metal (but not including the higher welded part on the front)
-final float TRAILER_WIDTH = 192;
-final float TRAILER_DEPTH = 192;
-final float TRAILER_HEIGHT = 33;
+static final float TRAILER_WIDTH = 192;
+static final float TRAILER_DEPTH = 192;
+static final float TRAILER_HEIGHT = 33;
int targetFramerate = 60;
int startMillis, lastMillis;
LX lx;
Model model;
LXPattern[] patterns;
+LXTransition[] transitions;
+DiscreteParameter activeTransition;
Effects effects;
MappingTool mappingTool;
GrizzlyOutput[] grizzlies;
engine.setPatterns(patterns = _leftPatterns(lx));
engine.addDeck(_rightPatterns(lx));
logTime("Built patterns");
- glucose.setTransitions(transitions(lx));
+
+ // Transitions
+ transitions = transitions(lx);
+ activeTransition = new DiscreteParameter("TRANSITION", transitions.length);
+ activeTransition.addListener(new LXParameterListener() {
+ public void onParameterChanged(LXParameter parameter) {
+ lx.engine.getDeck(RIGHT_DECK).setFaderTransition(transitions[activeTransition.getValuei()]);
+ }
+ });
+ lx.engine.getDeck(RIGHT_DECK).setFaderTransition(transitions[activeTransition.getValuei()]);
logTime("Built transitions");
+
+ // Effects
glucose.lx.addEffects(_effectsArray(effects = new Effects()));
logTime("Built effects");