Korg NanoKontrol2 reset to default cc, when opening cubase13

I have managed to rectify this issue. Here is the step-by-step process of resolving this issue.

  1. Open Cubase and Disable the Default nanoKONTROL 2 Script:
  • Navigate to the MIDI Remote Assistant.
  • Disable the default ‘nanoKONTROL2’ script.
  1. Locate MIDI Remote Scripts Folder:
  • Navigate to the folder where MIDI remote scripts are saved: C:\Users\#####\Documents\Steinberg\Cubase\MIDI Remote\Driver Scripts
  1. Copy Script to Local Folder:
  • As scripts in the ‘public’ folder cannot be modified, copy the script you want to modify to the ‘Local’ folder.
  • Copy the company folder straight to the local folder.
    C:\Users\#####\Documents\Steinberg\Cubase\MIDI Remote\Driver Scripts\Local
  • Delete the controller you don’t want.
  1. Open Script in Notepad++ / Notepad:
  • Open Notepad++.
  • Navigate to the script file KORG_nanoKONTROL2.js.
  1. Edit the Script:
  • Find the function switchDeviceToCcModeWithExternalLed(context).
  • Comment out the entire variable initData
//	var initData = [
//		[0xF0, 0x7E, 0x00, 0x06, 0x02, 0x42, 0x13, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0xF7],
//		[0xF0, 0x42, 0x40, 0x00, 0x01, 0x13, 0x00, 0x5F, 0x42, 0x00, 0xF7],
//		[0xF0, 0x7E, 0x00, 0x06, 0x02, 0x42, 0x13, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0xF7],

//		[0xF0, 0x42, 0x40, 0x00, 0x01, 0x13, 0x00, 0x7F, 0x7F, 0x02, 0x03, 0x05, 0x40, 0x00, 0x00, 0x00,
//			0x01, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x7F, 0x00,
//			0x01, 0x00, 0x20, 0x00, 0x7F, 0x00, 0x00, 0x01, 0x00, 0x30, 0x00, 0x7F, 0x00, 0x00, 0x01, 0x00,
//			0x40, 0x00, 0x7F, 0x00, 0x10, 0x00, 0x01, 0x00, 0x01, 0x00, 0x7F, 0x00, 0x01, 0x00, 0x00, 0x11,
//			0x00, 0x7F, 0x00, 0x01, 0x00, 0x00, 0x21, 0x00, 0x7F, 0x00, 0x01, 0x00, 0x31, 0x00, 0x00, 0x7F,
//			0x00, 0x01, 0x00, 0x41, 0x00, 0x00, 0x7F, 0x00, 0x10, 0x01, 0x00, 0x02, 0x00, 0x00, 0x7F, 0x00,
//			0x01, 0x00, 0x12, 0x00, 0x7F, 0x00, 0x00, 0x01, 0x00, 0x22, 0x00, 0x7F, 0x00, 0x00, 0x01, 0x00,
//			0x32, 0x00, 0x7F, 0x00, 0x01, 0x00, 0x00, 0x42, 0x00, 0x7F, 0x00, 0x10, 0x01, 0x00, 0x00, 0x03,
//			0x00, 0x7F, 0x00, 0x01, 0x00, 0x00, 0x13, 0x00, 0x7F, 0x00, 0x01, 0x00, 0x23, 0x00, 0x00, 0x7F,
//			0x00, 0x01, 0x00, 0x33, 0x00, 0x00, 0x7F, 0x00, 0x01, 0x00, 0x43, 0x00, 0x7F, 0x00, 0x00, 0x10,
//			0x01, 0x00, 0x04, 0x00, 0x7F, 0x00, 0x00, 0x01, 0x00, 0x14, 0x00, 0x7F, 0x00, 0x00, 0x01, 0x00,
//			0x24, 0x00, 0x7F, 0x00, 0x01, 0x00, 0x00, 0x34, 0x00, 0x7F, 0x00, 0x01, 0x00, 0x00, 0x44, 0x00,
//			0x7F, 0x00, 0x10, 0x01, 0x00, 0x00, 0x05, 0x00, 0x7F, 0x00, 0x01, 0x00, 0x15, 0x00, 0x00, 0x7F,
//			0x00, 0x01, 0x00, 0x25, 0x00, 0x00, 0x7F, 0x00, 0x01, 0x00, 0x35, 0x00, 0x7F, 0x00, 0x00, 0x01,
//			0x00, 0x45, 0x00, 0x7F, 0x00, 0x00, 0x10, 0x01, 0x00, 0x06, 0x00, 0x7F, 0x00, 0x00, 0x01, 0x00,
//			0x16, 0x00, 0x7F, 0x00, 0x01, 0x00, 0x00, 0x26, 0x00, 0x7F, 0x00, 0x01, 0x00, 0x00, 0x36, 0x00,
//			0x7F, 0x00, 0x01, 0x00, 0x46, 0x00, 0x00, 0x7F, 0x00, 0x10, 0x01, 0x00, 0x07, 0x00, 0x00, 0x7F,
//			0x00, 0x01, 0x00, 0x17, 0x00, 0x00, 0x7F, 0x00, 0x01, 0x00, 0x27, 0x00, 0x7F, 0x00, 0x00, 0x01,
//			0x00, 0x37, 0x00, 0x7F, 0x00, 0x00, 0x01, 0x00, 0x47, 0x00, 0x7F, 0x00, 0x10, 0x00, 0x01, 0x00,
//			0x3A, 0x00, 0x7F, 0x00, 0x01, 0x00, 0x00, 0x3B, 0x00, 0x7F, 0x00, 0x01, 0x00, 0x00, 0x2E, 0x00,
//			0x7F, 0x00, 0x01, 0x00, 0x3C, 0x00, 0x00, 0x7F, 0x00, 0x01, 0x00, 0x3D, 0x00, 0x00, 0x7F, 0x00,
//			0x01, 0x00, 0x3E, 0x00, 0x7F, 0x00, 0x00, 0x01, 0x00, 0x2B, 0x00, 0x7F, 0x00, 0x00, 0x01, 0x00,
//			0x2C, 0x00, 0x7F, 0x00, 0x01, 0x00, 0x00, 0x2A, 0x00, 0x7F, 0x00, 0x01, 0x00, 0x00, 0x29, 0x00,
//			0x7F, 0x00, 0x01, 0x00, 0x2D, 0x00, 0x00, 0x7F, 0x00, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x7F, 0x00,
//			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//			0x00, 0xF7]
//	]
  1. Stop the initialization of the variable ‘initData’ by adding /* and */ before and after the ‘for’ loop.
/*
	for (var i = 0; i < initData.length; ++i) {
		midiOutput.sendMidi(context, initData[i]);
	}
*/	
}
  • This disables the initialization of the ‘initData’ variable which in turn stops the script from resetting the CC values to factory default.
  1. Change CC Assignments:
  • The 8 sliders in Korg nanoKontrol 2 script are assigned from CC0 to CC7 by default.
  • If you want to change the CC assignments of the sliders to say CC1, 11, 2, 3, 4, 5, 6, 7, locate the code:
faderStrip.fader.mSurfaceValue.mMidiBinding.setInputPort(midiInput).bindToControlChange(0, 0 + channelIndex)
  • Change it to:
faderStrip.fader.mSurfaceValue.mMidiBinding.setInputPort(midiInput).bindToControlChange(0, [1, 11, 2, 3, 4, 5, 6, 7][channelIndex])

These steps should guide you through modifying the script for the Korg nanoKontrol 2 in Cubase.

2 Likes