X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=_MIDI.pde;h=40f1c15892890a5b8566d758f746d70f662d90f8;hb=65450eb37e927a75899c1ab50c7eca15790477b1;hp=b0b8fc4ca9bd46e650c168881601edbf5478162e;hpb=7697e5c66da5c072999806ab87791c287c2c4811;p=SugarCubes.git diff --git a/_MIDI.pde b/_MIDI.pde index b0b8fc4..40f1c15 100644 --- a/_MIDI.pde +++ b/_MIDI.pde @@ -370,11 +370,39 @@ public class APC40MidiInput extends GenericDeviceMidiInput { } protected void handleControllerChange(rwmidi.Controller cc) { + int channel = cc.getChannel(); int number = cc.getCC(); + float value = cc.getValue() / 127.; switch (number) { + + case 7: + switch (channel) { + case 0: + EFF_colorFucker.sharp.setValue(value); + break; + case 1: + EFF_colorFucker.soft.setValue(value); + break; + case 5: + EFF_blur.amount.setValue(value); + break; + case 6: + EFF_quantize.amount.setValue(value); + break; + case 7: + EFF_colorFucker.desat.setValue(value); + break; + } + break; + + // Master bright + case 14: + EFF_colorFucker.level.setValue(value); + break; + // Crossfader case 15: - lx.engine.getDeck(1).getCrossfader().setValue(cc.getValue() / 127.); + lx.engine.getDeck(1).getCrossfader().setValue(value); break; } @@ -387,7 +415,7 @@ public class APC40MidiInput extends GenericDeviceMidiInput { if (parameterIndex >= 0) { List parameters = midiEngine.getFocusedPattern().getParameters(); if (parameterIndex < parameters.size()) { - parameters.get(parameterIndex).setValue(cc.getValue() / 127.); + parameters.get(parameterIndex).setValue(value); } } @@ -395,7 +423,7 @@ public class APC40MidiInput extends GenericDeviceMidiInput { int effectIndex = number - 20; List parameters = glucose.getSelectedEffect().getParameters(); if (effectIndex < parameters.size()) { - parameters.get(effectIndex).setValue(cc.getValue() / 127.); + parameters.get(effectIndex).setValue(value); } } } @@ -407,9 +435,18 @@ public class APC40MidiInput extends GenericDeviceMidiInput { } protected void handleNoteOn(Note note) { - int nPitch = note.getPitch(), nChan = note.getChannel(); + int nPitch = note.getPitch(); + int nChan = note.getChannel(); switch (nPitch) { - + + case 49: // SOLO/CUE + switch (nChan) { + case 5: + EFF_colorFucker.invert.setValue(1); + break; + } + break; + case 82: // scene 1 EFF_boom.trigger(); break; @@ -479,8 +516,19 @@ public class APC40MidiInput extends GenericDeviceMidiInput { } protected void handleNoteOff(Note note) { - int nPitch = note.getPitch(), nChan = note.getChannel(); + int nPitch = note.getPitch(); + int nChan = note.getChannel(); + switch (nPitch) { + + case 49: // SOLO/CUE + switch (nChan) { + case 5: + EFF_colorFucker.invert.setValue(0); + break; + } + break; + case 90: // SEND C long tapDelta = millis() - tap1; if (lbtwn(tapDelta,5000,300*1000)) { // hackish tapping mechanism