Remove transition management from glucose
authorMark Slee <mcslee@gmail.com>
Wed, 26 Feb 2014 02:01:08 +0000 (18:01 -0800)
committerMark Slee <mcslee@gmail.com>
Wed, 26 Feb 2014 02:01:08 +0000 (18:01 -0800)
DanKaminsky.pde
_Internals.pde
_UIImplementation.pde
code/GLucose.jar
code/HeronLX.jar

index c94b57396b07ccb4ba542248b3af31537f82b5d3..88fd5432d87a48b68ea8200c8408709bd9aa6709 100644 (file)
@@ -7,7 +7,7 @@ class GenericController {
         if(p!=null) { p.setValue(val); }
       }
       if(type==1) {
-        p = glucose.getSelectedTransition().getParameters().get(num);
+        p = lx.engine.getDeck(RIGHT_DECK).getFaderTransition().getParameters().get(num);
         if(p!=null) { p.setValue(val); }
       }
       if(type==2) {
index 100607a97d4cecee33689184b736ed26efbee064..0ee146de75d4740455d1965209cb2d9ed6764475 100644 (file)
@@ -34,13 +34,16 @@ import java.util.ArrayList;
 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;
@@ -50,6 +53,8 @@ GLucose glucose;
 LX lx;
 Model model;
 LXPattern[] patterns;
+LXTransition[] transitions;
+DiscreteParameter activeTransition;
 Effects effects;
 MappingTool mappingTool;
 GrizzlyOutput[] grizzlies;
@@ -140,8 +145,19 @@ void setup() {
   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");
 
index 3f0c630b8fa2f37c7c0ad39cc4498fd113a0c1ac..1257f6fffd435068e0387f860174dedbbe2eeaf7 100644 (file)
@@ -15,8 +15,9 @@ class UIBlendMode extends UIWindow {
   public UIBlendMode(float x, float y, float w, float h) {
     super(lx.ui, "BLEND MODE", x, y, w, h);
     List<UIScrollList.Item> items = new ArrayList<UIScrollList.Item>();
-    for (LXTransition t : glucose.getTransitions()) {
-      items.add(new TransitionScrollItem(t));
+    int i = 0;
+    for (LXTransition t : transitions) {
+      items.add(new TransitionScrollItem(t, i++));
     }
     final UIScrollList tList;
     (tList = new UIScrollList(1, UIWindow.TITLE_LABEL_HEIGHT, w-2, 60)).setItems(items).addToContainer(this);
@@ -30,11 +31,13 @@ class UIBlendMode extends UIWindow {
 
   class TransitionScrollItem extends UIScrollList.AbstractItem {
     private final LXTransition transition;
-    private String label;
+    private final int index;
+    private final String label;
     
-    TransitionScrollItem(LXTransition transition) {
+    TransitionScrollItem(LXTransition transition, int index) {
       this.transition = transition;
-      label = className(transition, "Transition");
+      this.index = index;
+      this.label = className(transition, "Transition");
     }
     
     public String getLabel() {
@@ -42,7 +45,7 @@ class UIBlendMode extends UIWindow {
     }
     
     public boolean isSelected() {
-      return transition == glucose.getSelectedTransition();
+      return index == activeTransition.getValuei();
     }
     
     public boolean isPending() {
@@ -50,7 +53,7 @@ class UIBlendMode extends UIWindow {
     }
     
     public void onMousePressed() {
-      glucose.setSelectedTransition(transition);
+      activeTransition.setValue(this.index);
     }
   }
 
index 1920a31defe1ce4a78d845ef7d9718d45d800b5f..e1b6aa62fe0124c5d2190d5d8676bfa8872c207b 100755 (executable)
Binary files a/code/GLucose.jar and b/code/GLucose.jar differ
index d57c4d43dd53c0948f8bf015f3656fe735bf642c..7c388a7187aa6cce3490c50164ba4cf90dbee62f 100755 (executable)
Binary files a/code/HeronLX.jar and b/code/HeronLX.jar differ