public void onEnabled(SCMidiInput controller, boolean enabled);
}
-public abstract class SCMidiInput extends AbstractScrollItem {
+public abstract class SCMidiInput extends UIScrollList.AbstractItem {
protected boolean enabled = false;
private final String name;
// Crossfader
case 15:
- lx.engine.getDeck(GLucose.RIGHT_DECK).getFader().setNormalized(value);
+ lx.engine.getDeck(RIGHT_DECK).getFader().setNormalized(value);
return true;
// Cue level
if (number >= 20 && number <= 23) {
int effectIndex = number - 20;
- List<LXParameter> parameters = glucose.getSelectedEffect().getParameters();
+ // TODO(mclsee): fix selected effect
+ List<LXParameter> parameters = getSelectedEffect().getParameters();
if (effectIndex < parameters.size()) {
setNormalized(parameters.get(effectIndex), value);
return true;
case 91: // play
if (shiftOn) {
- midiEngine.setFocusedDeck(GLucose.LEFT_DECK);
+ midiEngine.setFocusedDeck(LEFT_DECK);
} else {
uiCrossfader.setDisplayMode("A");
}
case 93: // rec
if (shiftOn) {
- midiEngine.setFocusedDeck(GLucose.RIGHT_DECK);
+ midiEngine.setFocusedDeck(RIGHT_DECK);
} else {
uiCrossfader.setDisplayMode("B");
}
case 94: // up bank
if (shiftOn) {
- glucose.incrementSelectedEffectBy(-1);
+ selectedEffect.setValue(selectedEffect.getValuei() - 1);
} else {
getTargetDeck().goPrev();
}
case 95: // down bank
if (shiftOn) {
- glucose.incrementSelectedEffectBy(1);
+ selectedEffect.setValue(selectedEffect.getValuei() + 1);
} else {
getTargetDeck().goNext();
}
return true;
case 62: // Detail View / red 5
- releaseEffect = glucose.getSelectedEffect();
+ releaseEffect = getSelectedEffect();
if (releaseEffect.isMomentary()) {
releaseEffect.enable();
} else {
return true;
case 63: // rec quantize / red 6
- glucose.getSelectedEffect().disable();
+ getSelectedEffect().disable();
return true;
}
switch (number) {
case 58: // Left track
- midiEngine.setFocusedDeck(GLucose.LEFT_DECK);
+ midiEngine.setFocusedDeck(LEFT_DECK);
return true;
case 59: // Right track
- midiEngine.setFocusedDeck(GLucose.RIGHT_DECK);
+ midiEngine.setFocusedDeck(RIGHT_DECK);
return true;
case 43: // Left chevron
}
}
-class APC40MidiOutput implements LXParameter.Listener, GridOutput {
+class APC40MidiOutput implements LXParameterListener, GridOutput {
private final MidiEngine midiEngine;
private final MidiOutput output;
}
});
}
- glucose.addEffectListener(new GLucose.EffectListener() {
- public void effectSelected(LXEffect effect) {
+ selectedEffect.addListener(new LXParameterListener() {
+ public void onParameterChanged(LXParameter parameter) {
resetEffectParameters();
}
});
}
private void resetEffectParameters() {
- LXEffect newEffect = glucose.getSelectedEffect();
+ LXEffect newEffect = getSelectedEffect();
if (newEffect == focusedEffect) {
return;
}
}
private void sendKnob(int i, LXParameter p) {
- sendKnob(i, (int) (p.getValuef() * 127.));
+ float pv = constrain(p.getValuef(), 0, 1);
+ if (p instanceof LXNormalizedParameter) {
+ pv = ((LXNormalizedParameter)p).getNormalizedf();
+ }
+ sendKnob(i, (int) (pv * 127.));
}
private void sendKnob(int i, int value) {