X-Git-Url: https://git.piment-noir.org/?p=SugarCubes.git;a=blobdiff_plain;f=MIDI.pde;h=56ba9b5970aed9f0f7a0bab22becf295e2ea5e2b;hp=2716494663ca33abb33be0908f86f618b22e06b1;hb=e0b9d8726c661f54f47340449037ac7f6b410de6;hpb=cc9e8c8be45767207e09c434bad100b0156877e6 diff --git a/MIDI.pde b/MIDI.pde index 2716494..56ba9b5 100644 --- a/MIDI.pde +++ b/MIDI.pde @@ -15,7 +15,7 @@ * set your SCPattern class to respond to the controllers that you * care about. */ - +import processing.event.*; interface MidiEngineListener { public void onFocusedDeck(int deckIndex); } @@ -115,7 +115,7 @@ public interface SCMidiInputListener { public void onEnabled(SCMidiInput controller, boolean enabled); } -public abstract class SCMidiInput extends AbstractScrollItem { +public abstract class SCMidiInput extends UIItemList.AbstractItem { protected boolean enabled = false; private final String name; @@ -264,7 +264,7 @@ public class VirtualKeyMidiInput extends SCMidiInput { } else { mapKeys(); } - //registerKeyEvent(this); + registerMethod("keyEvent",this); } private void mapAPC() { @@ -321,19 +321,19 @@ public class VirtualKeyMidiInput extends SCMidiInput { if (!enabled) { return; } - /* char c = 0;//0Character.toLowerCase(e.getKeyChar()); + char c = 0;//0Character.toLowerCase(e.getKeyChar()); NoteMeta nm = keyToNote.get(c); if (nm != null) { - switch (e.getID()) { - case KeyEvent.KEY_PRESSED: + switch (e.getKeyCode()) { + case KeyEvent.PRESS: noteOnReceived(new Note(Note.NOTE_ON, nm.channel, nm.number + octaveShift*12, 127)); break; - case KeyEvent.KEY_RELEASED: + case KeyEvent.RELEASE: noteOffReceived(new Note(Note.NOTE_OFF, nm.channel, nm.number + octaveShift*12, 0)); break; } } - if ((mode == KEYS) && (e.getID() == KeyEvent.KEY_PRESSED)) { + if ((mode == KEYS) && (e.getKeyCode() == KeyEvent.PRESS)) { switch (c) { case 'z': octaveShift = constrain(octaveShift-1, -4, 4); @@ -342,7 +342,7 @@ public class VirtualKeyMidiInput extends SCMidiInput { octaveShift = constrain(octaveShift+1, -4, 4); break; } - }*/ + } } } @@ -445,7 +445,7 @@ public class APC40MidiInput extends GenericDeviceMidiInput { // Crossfader case 15: - lx.engine.getDeck(GLucose.RIGHT_DECK).getFader().setNormalized(value); + lx.engine.getDeck(RIGHT_DECK).getFader().setNormalized(value); return true; // Cue level @@ -478,7 +478,8 @@ public class APC40MidiInput extends GenericDeviceMidiInput { if (number >= 20 && number <= 23) { int effectIndex = number - 20; - List parameters = glucose.getSelectedEffect().getParameters(); + // TODO(mclsee): fix selected effect + List parameters = getSelectedEffect().getParameters(); if (effectIndex < parameters.size()) { setNormalized(parameters.get(effectIndex), value); return true; @@ -537,7 +538,7 @@ public class APC40MidiInput extends GenericDeviceMidiInput { case 91: // play if (shiftOn) { - midiEngine.setFocusedDeck(GLucose.LEFT_DECK); + midiEngine.setFocusedDeck(LEFT_DECK); } else { uiCrossfader.setDisplayMode("A"); } @@ -549,7 +550,7 @@ public class APC40MidiInput extends GenericDeviceMidiInput { case 93: // rec if (shiftOn) { - midiEngine.setFocusedDeck(GLucose.RIGHT_DECK); + midiEngine.setFocusedDeck(RIGHT_DECK); } else { uiCrossfader.setDisplayMode("B"); } @@ -557,7 +558,7 @@ public class APC40MidiInput extends GenericDeviceMidiInput { case 94: // up bank if (shiftOn) { - glucose.incrementSelectedEffectBy(-1); + selectedEffect.setValue(selectedEffect.getValuei() - 1); } else { getTargetDeck().goPrev(); } @@ -565,7 +566,7 @@ public class APC40MidiInput extends GenericDeviceMidiInput { case 95: // down bank if (shiftOn) { - glucose.incrementSelectedEffectBy(1); + selectedEffect.setValue(selectedEffect.getValuei() + 1); } else { getTargetDeck().goNext(); } @@ -588,7 +589,7 @@ public class APC40MidiInput extends GenericDeviceMidiInput { return true; case 62: // Detail View / red 5 - releaseEffect = glucose.getSelectedEffect(); + releaseEffect = getSelectedEffect(); if (releaseEffect.isMomentary()) { releaseEffect.enable(); } else { @@ -597,7 +598,7 @@ public class APC40MidiInput extends GenericDeviceMidiInput { return true; case 63: // rec quantize / red 6 - glucose.getSelectedEffect().disable(); + getSelectedEffect().disable(); return true; } @@ -689,11 +690,11 @@ class KorgNanoKontrolMidiInput extends GenericDeviceMidiInput { 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 @@ -737,8 +738,8 @@ class APC40MidiOutput implements LXParameterListener, GridOutput { } }); } - glucose.addEffectListener(new GLucose.EffectListener() { - public void effectSelected(LXEffect effect) { + selectedEffect.addListener(new LXParameterListener() { + public void onParameterChanged(LXParameter parameter) { resetEffectParameters(); } }); @@ -842,7 +843,7 @@ class APC40MidiOutput implements LXParameterListener, GridOutput { } private void resetEffectParameters() { - LXEffect newEffect = glucose.getSelectedEffect(); + LXEffect newEffect = getSelectedEffect(); if (newEffect == focusedEffect) { return; }