X-Git-Url: https://git.piment-noir.org/?p=SugarCubes.git;a=blobdiff_plain;f=_Internals.pde;h=0362a7c871753e5932e5ea05284ecf9d5cfcf6e5;hp=0ee146de75d4740455d1965209cb2d9ed6764475;hb=0c7bfdb51209c7b8ab72ff352fbd945187521098;hpb=3f16fd027656eaca0ed62f9c90c4da56385bb3bf diff --git a/_Internals.pde b/_Internals.pde index 0ee146d..0362a7c 100644 --- a/_Internals.pde +++ b/_Internals.pde @@ -13,7 +13,6 @@ * for general animation work. */ -import glucose.*; import heronarts.lx.*; import heronarts.lx.effect.*; import heronarts.lx.model.*; @@ -49,13 +48,13 @@ int targetFramerate = 60; int startMillis, lastMillis; // Core engine variables -GLucose glucose; LX lx; Model model; LXPattern[] patterns; LXTransition[] transitions; -DiscreteParameter activeTransition; Effects effects; +LXEffect[] effectsArr; +DiscreteParameter selectedEffect; MappingTool mappingTool; GrizzlyOutput[] grizzlies; PresetManager presetManager; @@ -116,7 +115,11 @@ LXEffect[] _effectsArray(Effects effects) { } catch (IllegalAccessException iax) {} } return effectList.toArray(new LXEffect[]{}); -} +} + +LXEffect getSelectedEffect() { + return effectsArr[selectedEffect.getValuei()]; +} void logTime(String evt) { int now = millis(); @@ -134,11 +137,14 @@ void setup() { // hint(ENABLE_OPENGL_4X_SMOOTH); // no discernable improvement? logTime("Created viewport"); - // Create the GLucose engine to run the cubes - glucose = new GLucose(this, model = buildModel()); - lx = glucose.lx; + // Create the model + model = buildModel(); + logTime("Built Model"); + + // LX engine + lx = new LX(this, model); lx.enableKeyboardTempo(); - logTime("Built GLucose engine"); + logTime("Built LX engine"); // Set the patterns LXEngine engine = lx.engine; @@ -148,17 +154,12 @@ void setup() { // 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()]); + lx.engine.getDeck(RIGHT_DECK).setFaderTransition(transitions[0]); logTime("Built transitions"); // Effects - glucose.lx.addEffects(_effectsArray(effects = new Effects())); + lx.addEffects(effectsArr = _effectsArray(effects = new Effects())); + selectedEffect = new DiscreteParameter("EFFECT", effectsArr.length); logTime("Built effects"); // Preset manager @@ -180,9 +181,10 @@ void setup() { x.printStackTrace(); } logTime("Built Grizzly Outputs"); - - // Mapping tools + + // Mapping tool mappingTool = new MappingTool(lx); + logTime("Built Mapping Tool"); // Build overlay UI UILayer[] layers = new UILayer[] { @@ -192,14 +194,14 @@ void setup() { .setRadius(290).addComponent(new UICubesLayer()), // Left controls - uiPatternA = new UIPatternDeck(lx.ui, lx.engine.getDeck(GLucose.LEFT_DECK), "PATTERN A", 4, 4, 140, 324), + uiPatternA = new UIPatternDeck(lx.ui, lx.engine.getDeck(LEFT_DECK), "PATTERN A", 4, 4, 140, 324), new UIBlendMode(4, 332, 140, 86), new UIEffects(4, 422, 140, 144), new UITempo(4, 570, 140, 50), uiSpeed = new UISpeed(4, 624, 140, 50), // Right controls - new UIPatternDeck(lx.ui, lx.engine.getDeck(GLucose.RIGHT_DECK), "PATTERN B", width-144, 4, 140, 324), + new UIPatternDeck(lx.ui, lx.engine.getDeck(RIGHT_DECK), "PATTERN B", width-144, 4, 140, 324), uiMidi = new UIMidi(midiEngine, width-144, 332, 140, 158), new UIOutput(grizzlies, width-144, 494, 140, 106), @@ -230,7 +232,7 @@ public SCPattern getPattern() { /** * Subclass of LXPattern specific to sugar cubes. These patterns - * get access to the glucose state and geometry, and have some + * get access to the state and geometry, and have some * little helpers for interacting with the model. */ public static abstract class SCPattern extends LXPattern { @@ -322,7 +324,7 @@ void draw() { background(40); // Send colors - color[] sendColors = glucose.getColors(); + color[] sendColors = lx.getColors(); long gammaStart = System.nanoTime(); // Gamma correction here. Apply a cubic to the brightness // for better representation of dynamic range @@ -347,12 +349,12 @@ void draw() { class UICubesLayer extends UICameraComponent { void onDraw(UI ui) { - color[] simulationColors = glucose.getColors(); + color[] simulationColors = lx.getColors(); String displayMode = uiCrossfader.getDisplayMode(); if (displayMode == "A") { - simulationColors = lx.engine.getDeck(GLucose.LEFT_DECK).getColors(); + simulationColors = lx.engine.getDeck(LEFT_DECK).getColors(); } else if (displayMode == "B") { - simulationColors = lx.engine.getDeck(GLucose.RIGHT_DECK).getColors(); + simulationColors = lx.engine.getDeck(RIGHT_DECK).getColors(); } long simulationStart = System.nanoTime();