redo with new anti-GLucose
[SugarCubes.git] / MarkSlee.pde
index 0976d57eb25a2a18d56362b43aa7e077bee306d5..fea4a43d18a668070981be8d4c57fa745bbd75c4 100644 (file)
@@ -7,15 +7,15 @@ class Cathedrals extends SCPattern {
   private final BasicParameter sat = new BasicParameter("SAT", 0.5);
   private GraphicEQ eq;
   
-  Cathedrals(GLucose glucose) {
-    super(glucose);
+  Cathedrals(LX lx) {
+    super(lx);
     addParameter(xpos);
     addParameter(wid);
     addParameter(arms);
     addParameter(sat);
   }
  
-  protected void onActive() {
+  void onActive() {
     if (eq == null) {
       eq = new GraphicEQ(lx, 16);
       eq.slope.setValue(0.7);
@@ -82,8 +82,8 @@ class MidiMusic extends SCPattern {
   
   private final BasicParameter wave = new BasicParameter("WAVE", 0);
   
-  MidiMusic(GLucose glucose) {
-    super(glucose);
+  MidiMusic(LX lx) {
+    super(lx);
     addParameter(lightSize);
     addParameter(wave);
     addModulator(sparkle).setValue(1);
@@ -287,8 +287,8 @@ class Pulley extends SCPattern {
   private BasicParameter sz = new BasicParameter("SIZE", 0.5);
   private BasicParameter beatAmount = new BasicParameter("BEAT", 0);
   
-  Pulley(GLucose glucose) {
-    super(glucose);
+  Pulley(LX lx) {
+    super(lx);
     for (int i = 0; i < NUM_DIVISIONS; ++i) {
       addModulator(gravity[i] = new Accelerator(0, 0, 0));
       addModulator(delays[i] = new Click(0));
@@ -393,8 +393,8 @@ class ViolinWave extends SCPattern {
   
   LinearEnvelope dbValue = new LinearEnvelope(0, 0, 10);
 
-  ViolinWave(GLucose glucose) {
-    super(glucose);
+  ViolinWave(LX lx) {
+    super(lx);
     addParameter(level);
     addParameter(edge);
     addParameter(range);
@@ -566,8 +566,8 @@ class BouncyBalls extends SCPattern {
   final BasicParameter flr = new BasicParameter("FLR", 0);
   final BasicParameter blobSize = new BasicParameter("SIZE", 0.5);
   
-  BouncyBalls(GLucose glucose) {
-    super(glucose);
+  BouncyBalls(LX lx) {
+    super(lx);
     for (int i = 0; i < balls.length; ++i) {
       balls[i] = new BouncyBall(i);
     }
@@ -601,8 +601,8 @@ class SpaceTime extends SCPattern {
   BasicParameter sizeParameter = new BasicParameter("SIZE", 0.5);
 
 
-  public SpaceTime(GLucose glucose) {
-    super(glucose);
+  public SpaceTime(LX lx) {
+    super(lx);
     
     addModulator(pos).trigger();
     addModulator(rate).trigger();
@@ -653,8 +653,8 @@ class Swarm extends SCPattern {
   SinLFO fY = new SinLFO(model.yMin, model.yMax, 11000);
   SinLFO hOffX = new SinLFO(model.xMin, model.xMax, 13000);
 
-  public Swarm(GLucose glucose) {
-    super(glucose);
+  public Swarm(LX lx) {
+    super(lx);
     
     addModulator(offset).trigger();
     addModulator(rate).trigger();
@@ -695,12 +695,12 @@ class Swarm extends SCPattern {
   }
 }
 
-class SwipeTransition extends SCTransition {
+class SwipeTransition extends LXTransition {
   
   final BasicParameter bleed = new BasicParameter("WIDTH", 0.5);
   
-  SwipeTransition(GLucose glucose) {
-    super(glucose);
+  SwipeTransition(LX lx) {
+    super(lx);
     setDuration(5000);
     addParameter(bleed);
   }
@@ -721,96 +721,18 @@ class SwipeTransition extends SCTransition {
   }
 }
 
-abstract class BlendTransition extends SCTransition {
-  
-  final int blendType;
-  
-  BlendTransition(GLucose glucose, int blendType) {
-    super(glucose);
-    this.blendType = blendType;
-  }
-
-  void computeBlend(int[] c1, int[] c2, double progress) {
-    if (progress < 0.5) {
-      for (int i = 0; i < c1.length; ++i) {
-        colors[i] = lerpColor(
-          c1[i],
-          blendColor(c1[i], c2[i], blendType),
-          (float) (2.*progress),
-          RGB);
-      }
-    } else {
-      for (int i = 0; i < c1.length; ++i) {
-        colors[i] = lerpColor(
-          c2[i],
-          blendColor(c1[i], c2[i], blendType),
-          (float) (2.*(1. - progress)),
-          RGB);
-      }
-    }
-  }
-}
-
-class MultiplyTransition extends BlendTransition {
-  MultiplyTransition(GLucose glucose) {
-    super(glucose, MULTIPLY);
-  }
-}
-
-class ScreenTransition extends BlendTransition {
-  ScreenTransition(GLucose glucose) {
-    super(glucose, SCREEN);
-  }
-}
-
-class BurnTransition extends BlendTransition {
-  BurnTransition(GLucose glucose) {
-    super(glucose, BURN);
-  }
-}
-
-class DodgeTransition extends BlendTransition {
-  DodgeTransition(GLucose glucose) {
-    super(glucose, DODGE);
-  }
-}
-
-class OverlayTransition extends BlendTransition {
-  OverlayTransition(GLucose glucose) {
-    super(glucose, OVERLAY);
-  }
-}
-
-class AddTransition extends BlendTransition {
-  AddTransition(GLucose glucose) {
-    super(glucose, ADD);
-  }
-}
-
-class SubtractTransition extends BlendTransition {
-  SubtractTransition(GLucose glucose) {
-    super(glucose, SUBTRACT);
-  }
-}
-
-class SoftLightTransition extends BlendTransition {
-  SoftLightTransition(GLucose glucose) {
-    super(glucose, SOFT_LIGHT);
-  }
-}
-
 class BassPod extends SCPattern {
 
   private GraphicEQ eq = null;
   
   private final BasicParameter clr = new BasicParameter("CLR", 0.5);
   
-  public BassPod(GLucose glucose) {
-    super(glucose);
+  public BassPod(LX lx) {
+    super(lx);
     addParameter(clr);
   }
   
-  protected void onActive() {
+  void onActive() {
     if (eq == null) {
       eq = new GraphicEQ(lx, 16);
       eq.range.setValue(0.4);
@@ -858,11 +780,11 @@ class CubeEQ extends SCPattern {
   private final BasicParameter clr = new BasicParameter("CLR", 0.5);
   private final BasicParameter blockiness = new BasicParameter("BLK", 0.5);
 
-  public CubeEQ(GLucose glucose) {
-    super(glucose);
+  public CubeEQ(LX lx) {
+    super(lx);
   }
 
-  protected void onActive() {
+  void onActive() {
     if (eq == null) {
       eq = new GraphicEQ(lx, 16);
       addParameter(eq.level);
@@ -909,7 +831,7 @@ class CubeEQ extends SCPattern {
   }
 }
 
-class BoomEffect extends SCEffect {
+class BoomEffect extends LXEffect {
 
   final BasicParameter falloff = new BasicParameter("WIDTH", 0.5);
   final BasicParameter speed = new BasicParameter("SPD", 0.5);
@@ -946,8 +868,8 @@ class BoomEffect extends SCEffect {
     }
   }
 
-  BoomEffect(GLucose glucose) {
-    super(glucose, true);
+  BoomEffect(LX lx) {
+    super(lx, true);
     addParameter(falloff);
     addParameter(speed);
     addParameter(bright);
@@ -989,8 +911,8 @@ public class PianoKeyPattern extends SCPattern {
   final BasicParameter release = new BasicParameter("REL", 0.5);
   final BasicParameter level = new BasicParameter("AMB", 0.6);
   
-  PianoKeyPattern(GLucose glucose) {
-    super(glucose);
+  PianoKeyPattern(LX lx) {
+    super(lx);
         
     addParameter(attack);
     addParameter(release);
@@ -1064,8 +986,8 @@ class CrossSections extends SCPattern {
   final BasicParameter zl = new BasicParameter("ZLEV", 0.5);
 
   
-  CrossSections(GLucose glucose) {
-    super(glucose);
+  CrossSections(LX lx) {
+    super(lx);
     addModulator(x).trigger();
     addModulator(y).trigger();
     addModulator(z).trigger();
@@ -1142,8 +1064,8 @@ class Blinders extends SCPattern {
   final SinLFO s;
   final TriangleLFO hs;
 
-  public Blinders(GLucose glucose) {
-    super(glucose);
+  public Blinders(LX lx) {
+    super(lx);
     m = new SinLFO[12];
     for (int i = 0; i < m.length; ++i) {  
       addModulator(m[i] = new SinLFO(0.5, 120, (120000. / (3+i)))).trigger();
@@ -1181,8 +1103,8 @@ class Psychedelia extends SCPattern {
   TriangleLFO h = new TriangleLFO(0, 240, 19000);
   SinLFO c = new SinLFO(-.2, .8, 31000);
 
-  Psychedelia(GLucose glucose) {
-    super(glucose);
+  Psychedelia(LX lx) {
+    super(lx);
     addModulator(m).trigger();
     addModulator(s).trigger();
     addModulator(h).trigger();
@@ -1236,8 +1158,8 @@ class AskewPlanes extends SCPattern {
   final Plane[] planes;
   final int NUM_PLANES = 3;
   
-  AskewPlanes(GLucose glucose) {
-    super(glucose);
+  AskewPlanes(LX lx) {
+    super(lx);
     planes = new Plane[NUM_PLANES];
     for (int i = 0; i < planes.length; ++i) {
       planes[i] = new Plane(i);
@@ -1281,8 +1203,8 @@ class ShiftingPlane extends SCPattern {
   final SinLFO c = new SinLFO(-1.4, 1.4, 5700);
   final SinLFO d = new SinLFO(-10, 10, 9500);
 
-  ShiftingPlane(GLucose glucose) {
-    super(glucose);
+  ShiftingPlane(LX lx) {
+    super(lx);
     addModulator(a).trigger();
     addModulator(b).trigger();
     addModulator(c).trigger();
@@ -1319,8 +1241,8 @@ class Traktor extends SCPattern {
   private int index = 0;
   private GraphicEQ eq = null;
 
-  public Traktor(GLucose glucose) {
-    super(glucose);
+  public Traktor(LX lx) {
+    super(lx);
     for (int i = 0; i < FRAME_WIDTH; ++i) {
       bass[i] = 0;
       treble[i] = 0;
@@ -1382,7 +1304,7 @@ class Traktor extends SCPattern {
   }
 }
 
-class ColorFuckerEffect extends SCEffect {
+class ColorFuckerEffect extends LXEffect {
   
   final BasicParameter level = new BasicParameter("BRT", 1);
   final BasicParameter desat = new BasicParameter("DSAT", 0);
@@ -1395,8 +1317,8 @@ class ColorFuckerEffect extends SCEffect {
   
   float[] hsb = new float[3];
   
-  ColorFuckerEffect(GLucose glucose) {
-    super(glucose);
+  ColorFuckerEffect(LX lx) {
+    super(lx);
     addParameter(level);
     addParameter(desat);
     addParameter(sharp);
@@ -1407,7 +1329,7 @@ class ColorFuckerEffect extends SCEffect {
   }
   
   public void apply(int[] colors) {
-    if (!enabled) {
+    if (!isEnabled()) {
       return;
     }
     float bMod = level.getValuef();
@@ -1451,15 +1373,15 @@ class ColorFuckerEffect extends SCEffect {
   }
 }
 
-class QuantizeEffect extends SCEffect {
+class QuantizeEffect extends LXEffect {
   
   color[] quantizedFrame;
   float lastQuant;
   final BasicParameter amount = new BasicParameter("AMT", 0);
   
-  QuantizeEffect(GLucose glucose) {
-    super(glucose);
-    quantizedFrame = new color[glucose.lx.total];
+  QuantizeEffect(LX lx) {
+    super(lx);
+    quantizedFrame = new color[lx.total];
     lastQuant = 0;
   } 
   
@@ -1482,14 +1404,14 @@ class QuantizeEffect extends SCEffect {
   }
 }
 
-class BlurEffect extends SCEffect {
+class BlurEffect extends LXEffect {
   
   final BasicParameter amount = new BasicParameter("AMT", 0);
   final int[] frame;
   final LinearEnvelope env = new LinearEnvelope(0, 1, 100);
   
-  BlurEffect(GLucose glucose) {
-    super(glucose);
+  BlurEffect(LX lx) {
+    super(lx);
     addParameter(amount);
     addModulator(env);
     frame = new int[lx.total];