- DPat CurPat = null, NextPat = null;
- boolean _XSym = false, _YSym = false,
- _ZSym = false, _RSym = false;
- String Text1 = "", Text2 = "";
-
- float Sliders[] = new float[] {0,0,0,0,0,0,0,0};
- String SliderText[] = new String[] {"Trails", "Dim", "Saturate", "SpinHue", "Hue", "NoiseHue", "Spark", "Wiggle"};
-
- int mapRow (int a) { return btwn(a,53,57) ? a-53 : a; }
- int unmapRow (int a) { return btwn(a,0 , 4) ? a+53 : a; }
-
- void SetLight (int row, int col, int clr){ if (APCOut != null) APCOut.sendNoteOn(col, unmapRow(row), clr); }
- void SetKnob (int cc , int chan,int val){ if (APCOut != null) APCOut.sendController(cc , chan , val); }
-
- float _Trails () { return Sliders[0]; }
- float _Dim () { return Sliders[1]; }
- float _Saturate () { return Sliders[2]; }
- float _SpinHue () { return Sliders[3]; }
- float _ModHue () { return Sliders[4]; }
- float _NoiseHue () { return Sliders[5]; }
- float _Spark () { return Sliders[6]; }
- float _Wiggle () { return Sliders[7]; }
-
- void Init () {
- if (bInit) return; bInit=true;
- for (MidiOutputDevice output : RWMidi.getOutputDevices()) {
- if (APCOut == null && output.toString().contains("APC")) APCOut = output.createOutput();
- }
-
- for (MidiInputDevice input : RWMidi.getInputDevices ()) {
- if (input.toString().contains("APC")) input.createInput (this);
- }
- }
-
- void SetText()
- {
- Text1 = ""; Text2 = "";
- Text1 += " XSym: " + (_XSym ? "ON" : "OFF") + " ";
- Text1 += " YSym: " + (_YSym ? "ON" : "OFF") + " ";
- Text1 += " ZSym: " + (_ZSym ? "ON" : "OFF") + " ";
- Text1 += " RSym: " + (_RSym ? "ON" : "OFF") + " ";
- for (int i=0; i<CurPat.picks.size(); i++) {
- Pick P = (Pick)CurPat.picks.get(i); Text1 += P.tag + ": " + P.Desc[P.Cur()] + " ";
- }
-
- Text2 = "SLIDERS: ";
- for (int i=0; i<8; i++) if (SliderText[i] != "") {
- Text2 += SliderText[i] + ": " + int(100*Sliders[i]) + " "; }
-
- uiDebugText.setText(Text1, Text2);
- }
-
- void controllerChangeReceived(rwmidi.Controller cc) {
- if (cc.getCC() == 7 && btwn(cc.getChannel(),0,7)) { Sliders[cc.getChannel()] = 1.*cc.getValue()/127.; }
-
- else if (cc.getCC() == 15 && cc.getChannel() == 0) {
- lx.engine.getDeck(1).getCrossfader().setValue( 1.*cc.getValue()/127.);
- }