X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=_UIImplementation.pde;h=0ea8073ddb57d6701a6a0a1b55df6fc88c89bbe8;hb=8f4e6c99775f2724edf3cec488860eb68b06491c;hp=a12c189219ba646d563f459608a508d7519a4209;hpb=30bf6510d87dbce8e36b03564807c1a5f4718f9d;p=SugarCubes.git diff --git a/_UIImplementation.pde b/_UIImplementation.pde index a12c189..0ea8073 100644 --- a/_UIImplementation.pde +++ b/_UIImplementation.pde @@ -13,9 +13,9 @@ 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; @@ -34,11 +34,11 @@ class UIPatternDeck extends UIWindow { 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()) { @@ -96,8 +96,8 @@ class UIBlendMode extends UIWindow { 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(); } }); @@ -138,10 +138,15 @@ class UICrossfader extends UIWindow { 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(); } @@ -467,10 +472,14 @@ class UIDebugText extends UIContext { } 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 LXParameterListener() { public void onParameterChanged(LXParameter parameter) { lx.setSpeed(parameter.getValuef() * 2); } @@ -483,16 +492,21 @@ class UIMidi extends UIWindow { private final UIToggleSet deckMode; private final UIButton logMode; - UIMidi(List midiControllers, 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 scrollItems = new ArrayList(); - for (SCMidiInput mc : midiControllers) { + 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)).setOptions(new String[] { "A", "B" }).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() { @@ -500,9 +514,15 @@ class UIMidi extends UIWindow { scrollList.redraw(); } }; - for (SCMidiInput mc : midiControllers) { + for (SCMidiInput mc : midiEngine.getControllers()) { mc.addListener(listener); } + + midiEngine.addListener(new MidiEngineListener() { + public void onFocusedDeck(int deckIndex) { + deckMode.setValue(deckIndex == 0 ? "A" : "B"); + } + }); } @@ -510,8 +530,8 @@ class UIMidi extends UIWindow { 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); } }