MIDI Remote Controller disappearing on launch

Hi,
we’ve been having this issue since Cubase 13.0.50 on Mac and Windows and the issue persists in Cubase 14.0.20.
Any MIDI remote surface that works with a script, would disappear upon Cubase restart, regardless of vendor or controller added.
Here is how we got it to work for a controller that uses a midi remote js script.
Thanks to @christos.andreou who came up with this!

  1. Move the existing folder of the MIDI remote surface from the local folder C:\Users\USERNAME\Documents\Steinberg\Cubase\MIDI Remote\Driver Scripts\Local\VENDOR\CONTROLLER
    to somewhere temporary.

  2. Open the js file in Notepad or other text editor. You will see a line:
    const driver = api.makeDeviceDriver(“VENDOR_NAME”, “CONTROLLER_NAME”, “SCRIPT_CREATOR”);

  3. Open Cubase and create a new remote surface using Add Vendor and type in the vendor name, controller name and script creator exactly the same as in the js file.
    Select the correct MIDI ports for your controller.
    (You will not be able to change the midi ports after because they referenced by an ID in the json file)

  1. Map at least one component (rotary encoder or fader etc) using the side panel so it will allow you to save the control surface.

  2. Reopen Cubase and the control surface is automatically opened.

  3. Copy the js file and folders inside the C:\Users\USERNAME\Documents\Steinberg\Cubase\MIDI Remote\Driver Scripts\Local\VENDOR\CONTROLLER
    You will see a json file there. That is the json file created by the previous step.
    So, you will have the json file and the js file and folders of the controller.

  4. Open Cubase and it will load the control surface using the js instead of json.

If you have problems ensure that the json file has the same values as the js file
Json file
“VendorName”: “VENDOR_NAME”,
“DeviceName”: “CONTROLLER_NAME”,
“CreatedBy”: “SCRIPT_CREATOR”,

Also these should match the folder structure inside Driver Scripts\Local\VENDOR\CONTROLLER
and the names of the files should be by default:
VENDOR_CONTROLLER.json
VENDOR_CONTROLLER.js

spaces or casing do not matter, as long as they match exactly the names as described above.
The folder structure should look something like this:

With this workaround or solution, it takes about 20 seconds to initialize the control surface upon opening Cubase 14.0.20.
We are not sure if this is because of the method or this is just how it is with the controller we are using.

Thanks!

3 Likes