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);
sparkleDirection = false;
sparkle.trigger();
break;
+ case 39:
+ effects.boom.trigger();
+ break;
+ case 40:
+ effects.flash.trigger();
+ break;
}
}
}
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,
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];
addParameter(level);
addParameter(desat);
addParameter(sharp);
+ addParameter(hueShift);
addParameter(soft);
addParameter(mono);
addParameter(invert);
- addParameter(hueShift);
}
public void doApply(int[] colors) {
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);
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;
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();
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
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
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
objectIndices[i] = (i < rawObjectIndices.length) ? rawObjectIndices[i] : NO_OBJECT;
}
}
-}
\ No newline at end of file
+}