Komplete Kontrol S49/61/88 Mk2 - API Script with FQC screen feedback

It’s all you can get to on the NI Controllers unless you start mapping direct into the USB driver - at which point it gets really complicated, involves additional driver installs and could vary across O/S’s. But maybe in future, for now, this is something that will just run as a vanilla script.

This is the current version I have running if you want more control:

Komplete Kontrol S Mk2 - Cubase (JS): Web Link (Right Click & Save As)
Komplete Kontrol S Mk2 - Cubase (JS): Forum Link (20.1 KB)

As before, you press the ‘Mixer’ button to enter the script once Cubase has detected it.

It’s a little buggy but there’s five main pages which you access using the left and right arrows (under the preset buttons).

Note: You may need to scroll through all the pages to populate everything first time the DAW opens.

Pages are as follows:

1. Mixer Page (mixer)
Display :
Upper: Shows Track Name
Lower: Track volume
VU meters - Reacts to track audio - (Raw attempt at matching the correct meter values, it’s ‘close’.)
Knobs - Control volume for each track
Top Buttons - Select each track
Top Buttons (Mute Held) - Mutes each track
Top Buttons (Mute Solo) - Solo’s each track

2. Quick Controls Page (fqc)

Row 1: Upper Button function (Yellow line)
Row 2: List of pages (Green) - Selected page has two arrows ‘<<’.
Row 3+4: Quick Control parameter name, and values (Blue Line)
VU meters : Disabled
Knobs: Quick controls as per row 3+4
Top Buttons: Carries out function displayed on row 1
(Last function button swaps between currently open plugins, allowing quick control across multiple devices).

3. Channel Pre’s (pre)
Row 1: Functions - LowCut On/Off, HiCut On/Off, Phase Sw, Bypass.
Row 2: List of pages and current selected
Row 3+4: Knob parameters
VU Meters: Disabled
Knobs: As per Row 3+4.

4. Channel EQ (eq)
Row 1: Functions - EQ ON/OFF & EQ TYPE x4 Bands
Row 2: List of pages and current selected
Row 3+4: EQ Freq and Gain for each band
VU Meters: Disabled
Knobs: As per Row 3+4.

5. Channel Sends (send)
Row 1: Just plain text for now (Send1, Send2 …etc).
Row 2: List of pages and current selected
Row 3: “Level”
VU Meters: Disabled
Knobs: Set level of send
Upper buttons: Enable/Disable send

Global controls (Left side):-
Arrows Left/Right (Under preset buttons)- Swap mapping pages
Shift - Hold to slows knobs to a more precise speed
Undo & Redo - As expected
Quantize - Opens quantize window
Auto - Toggles Automation Write state for track (Lights up)
Loop - As expected (Light feedback)
Metro & Tempo - Rewind & Forward
Play, Rec & Stop - As expected (Light feedback).
Hold shift + Play - Plays back from last cursor position
Hold shift+ Rec - Drops a marker point

Global controls (Joystick)
Left - Navigate Left (Can be used in editor windows etc.)
Right - Navigate Right (Can be used in editor, and also for switching categories in preset browser)
Up - Prev Track
Down - Next Track

Global controls (Joystick turn)
Click - Opens preset browser
Clockwise - Navigate down
Anti-Clockwise - Navigate up
Shift+Clockwise - Nudge Right
Shift+Anti-Clockwise - Nudge Left

I’ve mapped them in that way for the following reasons:

Joystick control concept ideas:
1. Preset browsing:-

  1. Open up HALion, Padshop, Groove Agent, Retrologue etc.
  2. Click the joystick and the preset browser opens.
  3. Quickly scroll between presets using the wheel.
  4. (If ‘filters’ is enabled in the preset browser you can use the joystick right to move between the columns):-1:

2. MIDI Editor (Lower zone) control:-
Joystick Left/Right - Moves between notes
Joystick turn - Raises/Lowers notes
Joystick turn (With shift) - Moves notes left/right

3. Variaudio Editor control:-
Joystick Left/Right - Moves between edits
Joystick turn - Raises/Lowers tuning.

Known bugs (Next to be fixed/implemented)
Changing elements outside of the screens being active can lose sync
Pages don’t always populate on startup
No ‘Q’ control on EQ page, need to think about that.
Ability to have multiple pages of functions across top buttons, user customisable.
User customise joystick behaviour (i.e. if jog functions are prefered).

See how you get on! If you get any problems let me know, as I think having the previous version can cause issues as the old pages seem to get left over when I’ve been testing it.

Of course, this uses the DAW port on the hardware, so you can still create your own ‘MIDI’ mapping on top as a separate remote script.