Fix up preset selection with two APCs
authorMark Slee <mcslee@Mark-Slees-MacBook-Pro.local>
Sat, 19 Oct 2013 22:05:35 +0000 (15:05 -0700)
committerMark Slee <mcslee@Mark-Slees-MacBook-Pro.local>
Sat, 19 Oct 2013 22:05:35 +0000 (15:05 -0700)
_MIDI.pde
_Presets.pde

index 2abd30de260961aff679082b277dec2aeee86156..fc06538daf342eeac6871748586bcdddc19812ab 100644 (file)
--- a/_MIDI.pde
+++ b/_MIDI.pde
@@ -585,9 +585,9 @@ public class APC40MidiInput extends GenericDeviceMidiInput {
     case 52: // CLIP STOP
       if (nChan < PresetManager.NUM_PRESETS) {
         if (shiftOn) {
-          presetManager.store(nChan);
+          presetManager.store(getTargetDeck(), nChan);
         } else {
-          presetManager.select(nChan);
+          presetManager.select(getTargetDeck(), nChan);
         }
       }
       break;
index 2f716f2f1da9b27246137dda3116136b988460b8..1d1ca42b6340bb2ca963b2e291edf95433069376 100644 (file)
@@ -67,16 +67,16 @@ class PresetManager implements LXParameter.Listener {
     }
   }
 
-  public void select(int index) {
-    presets[index].select();
+  public void select(Engine.Deck deck, int index) {
+    presets[index].select(deck);
   }
 
-  public void store(int index) {
+  public void store(Engine.Deck deck, int index) {
     presets[index].store(midiEngine.getFocusedPattern());
     for (PresetListener listener : listeners) {
       listener.onPresetStored(presets[index]);
     }
-    select(index);
+    select(deck, index);
   }
   
   public void onPresetLoaded(Preset preset, LXPattern pattern) {
@@ -179,8 +179,7 @@ class Preset {
     manager.write();
   }
   
-  public void select() {
-    Engine.Deck deck = midiEngine.getFocusedDeck();
+  public void select(Engine.Deck deck) {
     for (LXPattern pattern : deck.getPatterns()) {
       if (pattern.getClass().getName().equals(className)) {
         for (String pLabel : parameters.keySet()) {