X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=_MIDI.pde;h=5747a1fce2c6836572f8e8c4ab52d1d65ecb0317;hb=2b068dd5d83e070da10318a9ab4017a7ce86d2ca;hp=8f7145791cdd226f46e2acc84889f1b856dba61e;hpb=42a424d76b6ed74ffae8d72215e912d66a3d4bf6;p=SugarCubes.git diff --git a/_MIDI.pde b/_MIDI.pde index 8f71457..5747a1f 100644 --- a/_MIDI.pde +++ b/_MIDI.pde @@ -677,6 +677,9 @@ class APC40MidiOutput implements LXParameter.Listener, GridOutput { midiEngine.addListener(new MidiEngineListener() { public void onFocusedDeck(int deckIndex) { resetPatternParameters(); + for (int i = 0; i < 8; ++i) { + output.sendNoteOn(i, 52, 0); + } } }); } @@ -687,7 +690,9 @@ class APC40MidiOutput implements LXParameter.Listener, GridOutput { }); LXDeck.Listener deckListener = new LXDeck.AbstractListener() { public void patternDidChange(LXDeck deck, LXPattern pattern) { - resetPatternParameters(); + if (deck == getTargetDeck()) { + resetPatternParameters(); + } } }; for (LXDeck d : lx.engine.getDecks()) { @@ -696,7 +701,7 @@ class APC40MidiOutput implements LXParameter.Listener, GridOutput { } } presetManager.addListener(new PresetListener() { - public void onPresetLoaded(LXDeck deck, Preset preset) { + public void onPresetSelected(LXDeck deck, Preset preset) { if (deck == getTargetDeck()) { for (int i = 0; i < 8; ++i) { output.sendNoteOn(i, 52, (preset.index == i) ? 1 : 0); @@ -710,12 +715,7 @@ class APC40MidiOutput implements LXParameter.Listener, GridOutput { } public void onPresetStored(LXDeck deck, Preset preset) { if (deck == getTargetDeck()) { - onPresetLoaded(deck, preset); - } - } - public void onPresetUnloaded() { - for (int i = 0; i < 8; ++i) { - output.sendNoteOn(i, 52, 0); + onPresetStored(deck, preset); } } }); @@ -748,10 +748,7 @@ class APC40MidiOutput implements LXParameter.Listener, GridOutput { } protected LXDeck getTargetDeck() { - if (targetDeck != null) { - return targetDeck; - } - return midiEngine.getFocusedDeck(); + return (targetDeck != null) ? targetDeck : midiEngine.getFocusedDeck(); } private void resetParameters() {