class UIPatternDeck extends UIWindow {
- Engine.Deck deck;
+ LXDeck deck;
- public UIPatternDeck(Engine.Deck deck, String label, float x, float y, float w, float h) {
+ public UIPatternDeck(LXDeck deck, String label, float x, float y, float w, float h) {
super(label, x, y, w, h);
this.deck = deck;
int yp = titleHeight;
parameterKnobs[ki].addToContainer(this);
}
- Engine.Listener lxListener = new Engine.AbstractListener() {
- public void patternWillChange(Engine.Deck deck, LXPattern pattern, LXPattern nextPattern) {
+ LXDeck.Listener lxListener = new LXDeck.AbstractListener() {
+ public void patternWillChange(LXDeck deck, LXPattern pattern, LXPattern nextPattern) {
patternList.redraw();
}
- public void patternDidChange(Engine.Deck deck, LXPattern pattern) {
+ public void patternDidChange(LXDeck deck, LXPattern pattern) {
patternList.redraw();
int pi = 0;
for (LXParameter parameter : pattern.getParameters()) {
final UIScrollList tList;
(tList = new UIScrollList(1, titleHeight, w-2, 60)).setItems(items).addToContainer(this);
- lx.engine.getDeck(1).addListener(new Engine.AbstractListener() {
- public void blendTransitionDidChange(Engine.Deck deck, LXTransition transition) {
+ lx.engine.getDeck(GLucose.RIGHT_DECK).addListener(new LXDeck.AbstractListener() {
+ public void faderTransitionDidChange(LXDeck deck, LXTransition transition) {
tList.redraw();
}
});
public UICrossfader(float x, float y, float w, float h) {
super("CROSSFADER", x, y, w, h);
- new UIParameterSlider(4, titleHeight, w-9, 32).setParameter(lx.engine.getDeck(1).getCrossfader()).addToContainer(this);
+ new UIParameterSlider(4, titleHeight, w-9, 32).setParameter(lx.engine.getDeck(GLucose.RIGHT_DECK).getFader()).addToContainer(this);
(displayMode = new UIToggleSet(4, titleHeight + 36, w-9, 20)).setOptions(new String[] { "A", "COMP", "B" }).setValue("COMP").addToContainer(this);
}
+ public UICrossfader setDisplayMode(String value) {
+ displayMode.setValue(value);
+ return this;
+ }
+
public String getDisplayMode() {
return displayMode.getValue();
}
}
class UISpeed extends UIWindow {
+
+ final BasicParameter speed;
+
UISpeed(float x, float y, float w, float h) {
super("SPEED", x, y, w, h);
+ speed = new BasicParameter("SPEED", 0.5);
new UIParameterSlider(4, titleHeight, w-10, 20)
- .setParameter(new BasicParameter("SPEED", 0.5).addListener(new LXParameter.Listener() {
+ .setParameter(speed.addListener(new LXParameter.Listener() {
public void onParameterChanged(LXParameter parameter) {
lx.setSpeed(parameter.getValuef() * 2);
}
private final UIToggleSet deckMode;
private final UIButton logMode;
- UIMidi(List<MidiListener> midiListeners, float x, float y, float w, float h) {
+ UIMidi(final MidiEngine midiEngine, float x, float y, float w, float h) {
super("MIDI", x, y, w, h);
+
// Processing compiler doesn't seem to get that list of class objects also conform to interface
List<ScrollItem> scrollItems = new ArrayList<ScrollItem>();
- for (MidiListener ml : midiListeners) {
- scrollItems.add(ml);
+ for (SCMidiInput mc : midiEngine.getControllers()) {
+ scrollItems.add(mc);
+ }
+ final UIScrollList scrollList;
+ (scrollList = new UIScrollList(1, titleHeight, w-2, 100)).setItems(scrollItems).addToContainer(this);
+ (deckMode = new UIToggleSet(4, 130, 90, 20) {
+ protected void onToggle(String value) {
+ midiEngine.setFocusedDeck(value == "A" ? 0 : 1);
+ }
+ }).setOptions(new String[] { "A", "B" }).addToContainer(this);
+ (logMode = new UIButton(98, 130, w-103, 20)).setLabel("LOG").addToContainer(this);
+
+ SCMidiInputListener listener = new SCMidiInputListener() {
+ public void onEnabled(SCMidiInput controller, boolean enabled) {
+ scrollList.redraw();
+ }
+ };
+ for (SCMidiInput mc : midiEngine.getControllers()) {
+ mc.addListener(listener);
}
- new UIScrollList(1, titleHeight, w-2, 80).setItems(scrollItems).addToContainer(this);
- (deckMode = new UIToggleSet(4, 110, 90, 20)).setOptions(new String[] { "A", "B" }).addToContainer(this);
- (logMode = new UIButton(98, 110, w-103, 20)).setLabel("LOG").addToContainer(this);
+
+ midiEngine.addListener(new MidiEngineListener() {
+ public void onFocusedDeck(int deckIndex) {
+ deckMode.setValue(deckIndex == 0 ? "A" : "B");
+ }
+ });
+
}
public boolean logMidi() {
return logMode.isActive();
}
- public Engine.Deck getFocusedDeck() {
- return lx.engine.getDeck(deckMode.getValue() == "A" ? 0 : 1);
+ public LXDeck getFocusedDeck() {
+ return lx.engine.getDeck(deckMode.getValue() == "A" ? GLucose.LEFT_DECK : GLucose.RIGHT_DECK);
}
}