New LX fixes FlashEffect bug
[SugarCubes.git] / TestPatterns.pde
index 6a662f248fb5dfe4f1152eff98f0f35e9a6a6ee0..ed0c5ee601e231051dd796e8850a64ffdc32f32d 100644 (file)
@@ -1,6 +1,6 @@
 class BlankPattern extends SCPattern {
-  BlankPattern(GLucose glucose) {
-    super(glucose);
+  BlankPattern(LX lx) {
+    super(lx);
   }
   
   public void run(double deltaMs) {
@@ -9,87 +9,18 @@ class BlankPattern extends SCPattern {
 }
 
 abstract class TestPattern extends SCPattern {
-  public TestPattern(GLucose glucose) {
-    super(glucose);
+  public TestPattern(LX lx) {
+    super(lx);
     setEligible(false);
   }
 }
 
-class TestSpeakerMapping extends TestPattern {
-  TestSpeakerMapping(GLucose glucose) {
-    super(glucose);
-  }
-  
-  public void run(double deltaMs) {
-    int h = 0;
-    for (Speaker speaker : model.speakers) {
-      for (Strip strip : speaker.strips) {
-        float b = 100;
-        for (LXPoint p : strip.points) {
-          colors[p.index] = lx.hsb(h % 360, 100, b);
-          b = max(0, b - 10);
-        }
-        h += 70;
-      }
-    }
-  }
-
-}
-
-class TestBassMapping extends TestPattern {
-  TestBassMapping(GLucose glucose) {
-    super(glucose);
-  }
-  
-  public void run(double deltaMs) {
-    int[] strips = { 2, 1, 0, 3, 13, 12, 15, 14, 9, 8, 11, 10, 5, 4, 7, 6 };
-    int h = 0;
-    for (int si : strips) {
-      float b = 100;
-      for (LXPoint p : model.bassBox.strips.get(si).points) {
-        colors[p.index] = lx.hsb(h % 360, 100, b);
-        b = max(0, b - 10);
-      }
-      h += 70;
-    }
-  }
-}
-
-class TestFloorMapping extends TestPattern {
-  TestFloorMapping(GLucose glucose) {
-    super(glucose);
-  }
-
-  public void run(double deltaMs) {
-    int[] strutIndices = {6, 5, 4, 3, 2, 1, 0, 7};
-    int h = 0;
-    for (int si : strutIndices) {
-      float b = 100;
-      for (LXPoint p : model.bassBox.struts.get(si).points) {
-        colors[p.index] = lx.hsb(h % 360, 100, b);
-        b = max(0, b - 10);
-      }
-      h += 50;
-    }
-    int[] floorIndices = {0, 1, 2, 3};
-    h = 0;
-    for (int fi : floorIndices) {
-      float b = 100;
-      for (LXPoint p : model.boothFloor.strips.get(fi).points) {
-        colors[p.index] = lx.hsb(h, 100, b);
-        b = max(0, b - 3);
-      }
-      h += 90;
-    }
-  }
-}
-
 class TestStripPattern extends TestPattern {
   
   SinLFO d = new SinLFO(4, 40, 4000);
   
-  public TestStripPattern(GLucose glucose) {
-    super(glucose);
+  public TestStripPattern(LX lx) {
+    super(lx);
     addModulator(d).trigger();
   }
   
@@ -111,8 +42,8 @@ class TestStripPattern extends TestPattern {
  * All pixels are full-on the same color.
  */
 class TestHuePattern extends TestPattern {
-  public TestHuePattern(GLucose glucose) {
-    super(glucose);
+  public TestHuePattern(LX lx) {
+    super(lx);
   }
   
   public void run(double deltaMs) {
@@ -129,8 +60,8 @@ class TestHuePattern extends TestPattern {
  */
 class TestXPattern extends TestPattern {
   private final SinLFO xPos = new SinLFO(0, model.xMax, 4000);
-  public TestXPattern(GLucose glucose) {
-    super(glucose);
+  public TestXPattern(LX lx) {
+    super(lx);
     addModulator(xPos).trigger();
   }
   public void run(double deltaMs) {
@@ -151,8 +82,8 @@ class TestXPattern extends TestPattern {
  */
 class TestYPattern extends TestPattern {
   private final SinLFO yPos = new SinLFO(0, model.yMax, 4000);
-  public TestYPattern(GLucose glucose) {
-    super(glucose);
+  public TestYPattern(LX lx) {
+    super(lx);
     addModulator(yPos).trigger();
   }
   public void run(double deltaMs) {
@@ -169,8 +100,8 @@ class TestYPattern extends TestPattern {
  */
 class TestZPattern extends TestPattern {
   private final SinLFO zPos = new SinLFO(0, model.zMax, 4000);
-  public TestZPattern(GLucose glucose) {
-    super(glucose);
+  public TestZPattern(LX lx) {
+    super(lx);
     addModulator(zPos).trigger();
   }
   public void run(double deltaMs) {
@@ -188,8 +119,8 @@ class TestZPattern extends TestPattern {
 class TestTowerPattern extends TestPattern {
   private final SawLFO towerIndex = new SawLFO(0, model.towers.size(), 1000*model.towers.size());
   
-  public TestTowerPattern(GLucose glucose) {
-    super(glucose);
+  public TestTowerPattern(LX lx) {
+    super(lx);
     addModulator(towerIndex).trigger();
   }
 
@@ -233,8 +164,8 @@ class TestProjectionPattern extends TestPattern {
   private final SawLFO angle = new SawLFO(0, TWO_PI, 9000);
   private final SinLFO yPos = new SinLFO(-20, 40, 5000);
   
-  public TestProjectionPattern(GLucose glucose) {
-    super(glucose);
+  public TestProjectionPattern(LX lx) {
+    super(lx);
     projection = new LXProjection(model);
     addModulator(angle).trigger();
     addModulator(yPos).trigger();
@@ -273,8 +204,8 @@ class TestCubePattern extends TestPattern {
   
   private SawLFO index = new SawLFO(0, Cube.POINTS_PER_CUBE, Cube.POINTS_PER_CUBE*60);
   
-  TestCubePattern(GLucose glucose) {
-    super(glucose);
+  TestCubePattern(LX lx) {
+    super(lx);
     addModulator(index).start();
   }
   
@@ -297,7 +228,6 @@ class MappingTool extends TestPattern {
     
   private int cubeIndex = 0;
   private int stripIndex = 0;
-  private int channelIndex = 0;
 
   public final int MAPPING_MODE_ALL = 0;
   public final int MAPPING_MODE_CHANNEL = 1;
@@ -312,40 +242,14 @@ class MappingTool extends TestPattern {
   public boolean channelModeRed = true;
   public boolean channelModeGreen = false;
   public boolean channelModeBlue = false;
-  
-  private final int numChannels;
-  
-  private final PandaMapping[] pandaMappings;
-  private PandaMapping activePanda;
-  private ChannelMapping activeChannel;
-  
-  MappingTool(GLucose glucose, PandaMapping[] pandaMappings) {
-    super(glucose);
-    this.pandaMappings = pandaMappings;
-    numChannels = pandaMappings.length * PandaMapping.CHANNELS_PER_BOARD;
-    setChannel();
-  }
-
-  public int numChannels() {
-    return numChannels;
-  }
-  
-  private void setChannel() {
-    activePanda = pandaMappings[channelIndex / PandaMapping.CHANNELS_PER_BOARD];
-    activeChannel = activePanda.channelList[channelIndex % PandaMapping.CHANNELS_PER_BOARD];
+      
+  MappingTool(LX lx) {
+    super(lx);
   }
   
   private int indexOfCubeInChannel(Cube c) {
-    if (activeChannel.mode == ChannelMapping.MODE_CUBES) {
-      int i = 1;
-      for (int index : activeChannel.objectIndices) {
-        if ((index >= 0) && (c == model.getCubeByRawIndex(index))) {
-          return i;
-        }
-        ++i;
-      }
-    }
-    return 0;
+    // TODO(mcslee): port to grizzly
+    return -1;
   }
   
   private void printInfo() {
@@ -439,21 +343,6 @@ class MappingTool extends TestPattern {
     }
   }
   
-  public void setChannel(int index) {
-    channelIndex = index % numChannels;
-    setChannel();
-  }
-
-  public void incChannel() {
-    channelIndex = (channelIndex + 1) % numChannels;
-    setChannel();
-  }
-  
-  public void decChannel() {
-    channelIndex = (channelIndex + numChannels - 1) % numChannels;
-    setChannel();    
-  }
-  
   public void setStrip(int index) {
     stripIndex = index % Cube.STRIPS_PER_CUBE;
   }
@@ -468,8 +357,8 @@ class MappingTool extends TestPattern {
   
   public void keyPressed(UIMapping uiMapping) {
     switch (keyCode) {
-      case UP: if (mappingMode == MAPPING_MODE_CHANNEL) incChannel(); else incCube(); break;
-      case DOWN: if (mappingMode == MAPPING_MODE_CHANNEL) decChannel(); else decCube(); break;
+      case UP: incCube(); break;
+      case DOWN: decCube(); break;
       case LEFT: decStrip(); break;
       case RIGHT: incStrip(); break;
     }
@@ -478,7 +367,6 @@ class MappingTool extends TestPattern {
       case 'g': channelModeGreen = !channelModeGreen; break;
       case 'b': channelModeBlue = !channelModeBlue; break;
     }
-    uiMapping.setChannelID(channelIndex+1);
     uiMapping.setCubeID(cubeIndex+1);
     uiMapping.setStripID(stripIndex+1);
     uiMapping.redraw();