Skip to content

Custom device code for PreSonus studio one for the use of Novation's LaunchKey Mini MK3 and device surface XML cheat sheet

License

Notifications You must be signed in to change notification settings

SillyKeith/StudioOne-LaunchKey-Mini-MK3

 
 

Repository files navigation

About

This repo is a modified device control for LaunchKey Mini Mk3 to be used with PreSonus Studio One. This is heavily borrowed from the PreSonus ATOM controller and resembles many of the actions and controls that ATOM offers. The development of this code is not affiliated with PreSonus or Novation and had be crafted during my own spare time. A lot of the process was through trial and error while referencing other devices code and guessing/assuming what does what. There is no official documentation from PreSonus for an api; or at least publicly available. There is also little to no community support or effort with this kind of development so a lot of functions from this code relies heavily on hackable workarounds yet I had tried to keep it as simple and clean as possible.

(Changed the include references to use Studio One v5 SDK so this would load in v6. Without this, it would crash V6 and throw errors.)

Legend

Symbol Meaning
shift-button Any table following this will execute such commands / actions while the shift button is being held down
shift-button Any table following this will execute such commands / actions while the scene button is being held down. The scene button will pulse green to indicate that the scene modifier is active

Installation

Clone this repo and place files into [studio one path]/devices/Novation/Launchkey MK3. Next open StudioOne and open options then ensure external devices is selected.

Click add and add the following

installation-basic

installation-extended

Basic mode

Selecting the standard Midi Port for LaunchKey MK3 Basic allows for the use of the touch controls as separate functions depending on channel selected. You will have to use different channels to those defined below if you wish to use the pitch or modulation with your instruments.

Channel Touch Control Command
15 Modulation Master Fader
15 Pitch Move transport Cursor left or right
16 Pitch Navigate next or previous event
16 Modulation Navigate up or down (swipe down will navigate up and vise-versa)
16 Pitch Double Tap Deselect All

shift-button

Channel Touch Control Command
16 Pitch Extend selected events left or right
16 Modulation Extend track selection

scene-hold-button

Channel Touch Control Command
16 Pitch Zoom Horizontal
16 Modulation Zoom Vertical

Extended Mode

Selecting Midi Port 2 (Both In and Out) for LaunchKey Mini MK3 Extended will give advanced controls for the DAW. Using ARP mode will act as normal as this is internally controlled. Holding ARP and using the corresponding knobs will also act natively. Fixed Chord, Octave and Transpose controls are also natively controlled.

Global Commands

Button Action
play-button Toggles between play and stop
record-button Toggle Recording

shift-button

Button Action
play-button Toggles Loop (the button will light 50% if loop is enabled)
record-button Toggles Track Arm & Monitor for selected track (the button will light 50% if the selected track is armed)
arp-button If loop is enabled then return time cursor to loop start otherwise set cursor to zero

scene-hold-button

Button Action
play-button Activates Loop Edit Mode see Loop Editor
record-button Undo
stop-solo-mute-button Toggles window from Editor to Console to Transport Panel

Extended Device Modes

Holding down shift will light up the pads to a mode selection (this is a native LaunchKey control). Selecting a different mode allows for different controls. The three pad modes are Session, Drum and Custom. Custom mode is set using the Novation component software.

The Session mode has separate scenes that's mostly relative to a session sense. Session Mode Scenes consists of Edit, Setup, Bank Menu and HUI.

The Drum mode is more geared towards playing an instrument. The pads will light up differently depending on the instrument and event type etc.

Drum Mode

Drum mode acts as a standard drum pad. Like the ATOM controller, drum mode will represent the pad colors to those on Impact XT.

Button Action
scene-button Toggle Note Repeat (the button will light blue when activated)
stop-solo-mute-button Toggle Full Velocity on the pads (the button will pulse purple if activated)

shift-button

Button Action
fixedchord-button Changes the pad lighting mode (the button will light up reflecting the lighting mode; Off, Dimmed and Bright)

Note Repeat (Active) scene button will light blue to notify if active

Knob Note Repeat Action
1 Rate
3 Gate

With Note Repeat active and holding down the scene button shows the following toggles

Pad On Color Off Color Action
7 + + Quantize
8 + + Aftertouch

Custom Mode

Use Novation's component software to assign your own custom midi controls to this mode

Session Mode

Session mode consists of 4 different scenes. Each scene consists of different controls that's relevant for the scene. Each scene mode lights up a color on the scene button that corresponds to the scene selected.

To change scenes, simply press the scene button except for Loop Edit which is activated by pressing scene + play buttons together.

scene-button


Edit Scene

Edit Scene

This scene will display a mode relevant to the capabilities of the selected track or clip. When this scene is active then the editor view will automatically display and focus.

  1. Step edit mode will act as a step sequencer. The pads will color to the key track color while making on values and accent values a different variation to said color. Holding down Scene then selecting a pad will place an accent for that step. This mode will automatically show when the selected event or track is a pattern event

  2. Keyboard mode changes the pad's to emulate a keyboard.

  3. Standard edit mode will give generic commands on pads 7, 8, 11 and 16

Pad Color Command
7 + Velocity Increase
8 + Velocity Decrease
11 + Duplicate
16 + Delete

shift-button

Button Action
stop-solo-mute-button Toggle Show Instrument For Selected track

In step edit mode, holding down the scene button will add accents to the pad steps

Tip: If using basic device then change the channel to 16 (shift + transpose + pad 16) which will allow you to change the selected sequence by using the touch modulation (as long as the editor window is focused).


Loop Editor Scene

Loop Editor

Loop editor is activated by holding scene + play. The change scene button will skip this scene to simplify navigating modes and to provide an efficient flow. This scene can be activated from any device mode or session scene.

Pad Color Command
1 + Zoom To Loop Selection
2 + Toggle Loop Follows Selection
7 + Shift Loop Selection Left
8 + Shift Loop Selection Right
9 + Set Loop Start
10 + Transport Cursor Back
15 + Transport Cursor Forward
16 + Set Loop End

Due to the lack of documentations for any api for studio one, I'm unable to find a good way to get host variables like the Toggle Follows Selection etc. If I can find a solution then I'll be able to change the pad lighting depending on the value


Setup Scene

Setup Scene

Setup scene gives generic setup commands. User assignable commands can be assigned to the top row pads. Open the device assignment view and right click the pads to assign a command. You can then click the pad and assign it a color.

Pad On Color Off Color Command
9 + Tap Tempo
11 + Duplicate
13 + + Metronome
14 + + Metronome Pre-Record
16 + Delete
Pot / Knob Controls

Device pot control needs to be either Device, Volume, Pan or Send. Custom uses Basic port which doesn't register for Extended Mode.

Knob Value Type Action
1 Absolute Change Tempo

Bank Scene

Bank Scene

Bank scene allows selection of a specific bank for selected devices. Banks are color coded from pad 1-8


HUI Scene

HUI Scene

HUI scene is like a mixer console. Triggering SSM will change the lower toggle rows for the columned track to be either Monitor, Record Arm, Solo or Mute. A lighter color on the lower pad means the toggle is off for that track while a darker color is toggled on. The pads and knobs are organised in columns and each column is assigned to a track bank. This scene will automatically display the console view when active.

stop-solo-mute-button

Color Toggle
+ Monitor
+ Record Arm
+ Solo
+ Mute

The upper row allows for track selection which also is colored based on the track color. If the track for that bank is selected then the pad will pulse.

Pot / Knob Controls

Changing the device pot mode to either volume, pan or sends will set the knobs to that mode for the track column bank. Sends has a sub toggle that allows controlling the level of send 1 or 2 for the bank track.

Track Bank Scrolling and Bank Selection

Holding down the scene button will change the lower pads to scroll bank mode with the far right being scroll right and far left being scroll left.

scene-hold-button

Color Action
+ Step Scroll
+ Page Scroll

The lower center pads will have blue toggles which are bank switches and will switch banks as follows

Pad Bank
3 All
4 Audio Only
5 Bus Only
6 User / Remote

About

Custom device code for PreSonus studio one for the use of Novation's LaunchKey Mini MK3 and device surface XML cheat sheet

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • JavaScript 100.0%