Bug fixes and new mapping for sub
authorMark Slee <mcslee@Mark-Slees-MacBook-Pro.local>
Fri, 25 Oct 2013 06:30:49 +0000 (23:30 -0700)
committerMark Slee <mcslee@Mark-Slees-MacBook-Pro.local>
Fri, 25 Oct 2013 06:30:49 +0000 (23:30 -0700)
MarkSlee.pde
_MIDI.pde
_Mappings.pde

index 58b0ea66f1f876c033396951149ce9062b30643f..928f7abd0d11449a9c886d9a8920a54cd2ef74dc 100644 (file)
@@ -21,6 +21,12 @@ class MidiMusic extends SCPattern {
     addModulator(sparkle).setValue(1);
   }
   
+  void onReset() {
+    for (LightUp light : lights) {
+      light.noteOff(null);
+    }
+  }
+  
   class Sweep extends LXLayer {
     
     final LinearEnvelope position = new LinearEnvelope(0, 1, 1000);
@@ -145,6 +151,12 @@ class MidiMusic extends SCPattern {
             sparkleDirection = false;
             sparkle.trigger();       
             break;
+          case 39:
+            effects.boom.trigger();
+            break;
+          case 40:
+            effects.flash.trigger();
+            break;
         }
       }
     }
@@ -1282,7 +1294,7 @@ class Traktor extends SCPattern {
       colors[p.index] = lx.hsb(
         (360 + lx.getBaseHuef() + .8*abs(p.x-model.cx)) % 360,
         100,
-        constrain(9 * (bass[pos]*model.cy - abs(p.y - model.cy)), 0, 100)
+        constrain(9 * (bass[pos]*model.cy - abs(p.y - model.cy + 5)), 0, 100)
       );
       colors[p.index] = blendColor(colors[p.index], lx.hsb(
         (400 + lx.getBaseHuef() + .5*abs(p.x-model.cx)) % 360,
@@ -1298,11 +1310,12 @@ class ColorFuckerEffect extends SCEffect {
   
   final BasicParameter level = new BasicParameter("BRT", 1);
   final BasicParameter desat = new BasicParameter("DSAT", 0);
+  final BasicParameter hueShift = new BasicParameter("HSHFT", 0);
   final BasicParameter sharp = new BasicParameter("SHARP", 0);
   final BasicParameter soft = new BasicParameter("SOFT", 0);
   final BasicParameter mono = new BasicParameter("MONO", 0);
   final BasicParameter invert = new BasicParameter("INVERT", 0);
-  final BasicParameter hueShift = new BasicParameter("HSHFT", 0);
+
   
   float[] hsb = new float[3];
   
@@ -1311,10 +1324,10 @@ class ColorFuckerEffect extends SCEffect {
     addParameter(level);
     addParameter(desat);
     addParameter(sharp);
+    addParameter(hueShift);
     addParameter(soft);
     addParameter(mono);
     addParameter(invert);
-    addParameter(hueShift);
   }
   
   public void doApply(int[] colors) {
index 99c60d2bb5efb5a535532df39ee102be1a2e9461..a3363205f8914160418a9f15e34f38b44ef56dcc 100644 (file)
--- a/_MIDI.pde
+++ b/_MIDI.pde
@@ -411,7 +411,7 @@ public class APC40MidiInput extends GenericDeviceMidiInput {
     case 7:
      switch (channel) {
        case 0:
-         effects.colorFucker.hueShift.setValue(value);
+         // effects.colorFucker.hueShift.setValue(value);
          return true;
        case 1:
          effects.colorFucker.desat.setValue(value);
@@ -437,6 +437,19 @@ public class APC40MidiInput extends GenericDeviceMidiInput {
     case 15:
       lx.engine.getDeck(GLucose.RIGHT_DECK).getFader().setValue(value);
       return true;
+      
+    // Cue level
+    case 47:
+      float val = effects.colorFucker.hueShift.getValuef();
+      int cv = cc.getValue();
+      if (cv < 64) {
+        cv = 64 + cv;
+      } else {
+        cv = cv - 64;
+      }
+      val += (cv - 64) / 300.;
+      effects.colorFucker.hueShift.setValue((val+1) % 1);
+      return true;
     }
     
     int parameterIndex = -1;
@@ -893,6 +906,12 @@ class ArturiaMinilabMidiInput extends GenericDeviceMidiInput {
       case 18:  parameterIndex = 5; break;
       case 19:  parameterIndex = 6; break;
       case 16:  parameterIndex = 7; break;
+      
+      case 75:
+        float val = effects.colorFucker.hueShift.getValuef();
+        val += (cc.getValue() - 64) / 256.;
+        effects.colorFucker.hueShift.setValue((val+1) % 1);
+        break;
     }
     if (parameterIndex >= 0) {
       List<LXParameter> parameters = midiEngine.getFocusedPattern().getParameters();
index 4649b62d9c8226bc593117f36e76c41df595d591..52c62457c6298ed889b4b759e15478374727d55a 100644 (file)
@@ -102,7 +102,7 @@ scubes.add(new StaggeredTower(//tower 3
       27,               // x
        0   ,   // y
        64,   // z
-     0,  4, new Cube.Wiring[]{ WFR, WRL, WFR, WRL})  );  
+     0,  4, new Cube.Wiring[]{ WFR, WRL, WRL, WFR})  );  
 scubes.add(new StaggeredTower(//tower 4
     54,               // x
        7,   // y
@@ -124,7 +124,7 @@ scubes.add(new StaggeredTower(// tower 7
       119,               // x
        0   ,   // y
       56.5,   // z
-     0,  4, new Cube.Wiring[]{ WRL, WFR, WRL, WFR})  ); 
+     0,  4, new Cube.Wiring[]{ WRL, WFR, WFR, WRL})  ); 
      
 scubes.add(new StaggeredTower(//tower 8
       136.5,               // x
@@ -151,12 +151,12 @@ scubes.add(new StaggeredTower(// tower 12 CENTER TOWER AT 45degrees
       73,               // x
        0   ,   // y
          58,   // z
-     -45,  4, new Cube.Wiring[]{ WFL, WRR, WFL, WRR})  );  
+     -45,  4, new Cube.Wiring[]{ WFR, WRL, WFR, WRL})  );  
 scubes.add(new StaggeredTower(// Single cube on top of tower 3
       22,               // x
        81.5  ,   // y
          39,   // z
-     -45,  1, new Cube.Wiring[]{ WFR})  );  
+     -45,  1, new Cube.Wiring[]{ WRL})  );  
 scubes.add(new StaggeredTower(// Single cube on top of tower 4
       42,               // x
        112   ,   // y
@@ -403,4 +403,4 @@ class ChannelMapping {
       objectIndices[i] = (i < rawObjectIndices.length) ? rawObjectIndices[i] : NO_OBJECT;
     }
   }
-}
\ No newline at end of file
+}