Inserting a VSTi track in Cubase using STREAM DECK

I have wished for my STREAM DECk device to be able to insert a VSTi track in Cubase for a long time now and i have finally found a solution to this challenge.

I have written a script in STREAM DECK that inserts a VSTi Instrument track in Cubase and tought I might share it here.

Downloads can be found at bottom of document

Insert VSTi track into Cubase 13 (for WINDOWS) with STREAM DECK

Goal:

Below is a step-by-step description of how to create a new VSTi track with the instrument of your choice (at the bottom of all existing tracks) in Cubase 13.0.10 (or earlier versions of Cubase) for Microsoft Windows 11 (or 10) with one press of a button on a STREAM DECK device. The newly created track will be record enabled, so that you can play with the instrument immediately.

(Downloads available at bottom of document)

Challenge:

In Cubase you can assign a key to command to many functions of the program. However, there are still many input fields and menus that require the use of the mouse. The navigation buttons (arrow keys or tab key) also do not work there.

This means that certain (compound) commands cannot be “scripted” with just key commands.

Scripting “Mouse Clicks” has the disadvantage that it demands that the desired functionality (when Clicking with the mouse) must be available at the location where the mouse pointer is located (otherwise nothing happens).

To reduce the risk of a misplaced mouse click, we have limited the number of mouse movements and clicks to just 1!

NOTE: If in Cubase, the “Edit instrument” input field in the inspector of aVSTi track can be linked to a key command, the procedure below will no longer be necessary.

This is however not yet the case up to and including Cubase version 13.0.10, so the “Edit Instrument” field in the inspector (Cubase 13), which we will use below, can only be evoked by clicking on it with the mouse. However, this prevents us from being able to write a “Multi Action” script in STREAM DECK, because STREAM DECK does not support mouse event scripting.

Solution:

Since STREAM DECK does not support mouse event scripting, we will have to use another program to do that for us.

In the following solution we will be using the Open Source (free) external program called AUTOHOTKEY (autohotkey. com) that will execute the mouse click at the right spot in Cubase.

In AUTOHOTKEY this mouse click action is made into an external program.

In AUTOHOTKEY we will create a script that will be converted (compiled) into an EXE file (which is the external program).

That external program will be executed as one of the steps of a Multi Action script in STREAM DECK.

NOTE: If you do NOT have a STREAM DECK device, you could also write scripts (1 per VSTi instrument) in AUTOHOTKEY that do the same as the scripts in STREAM DECK. Because memorizing many different shortcuts (1 for eachVSTi) without visual feedback (as exists with STREAM DECK) is not easy, I think this last (cheap) option (without a STREAM DECK device) might only be suitable for highly gifted people.

Preparations:

  1. First you will have to customize the layout of the Cubase User Interface (UI) to your own taste and create your own WORKSPACE.

Link a key command to your workspace (e.g. ALT+NUM1)

In any case, make sure that the layout is such that the Inspector is the leftmost part of the UI.
To do this, turn on the “LEFT ZONE” in the “Setup Windows Layout” (gear symbol on the far right in the top corner)

NOTE: Although recalling a Workspace ensures that the scaling (especially width) of the various windows is reset to that of the workspace setting, Cubase also saves some layout settings separately in every project file (including in a template file).

This means that when you load a project (whether new from a template, someone else’s or an old project of yours), many changes to the layout are also loaded back into the project.

Loading a project can therefor change your current layout.

In order for this method to work in STREAM DECK, it is important that you re-create the layout of any freshly opened project, in the exact same way as the project that you used when determining the mouse coordinates (see below) of the “Edit Instrument” field in de inspector.

Creating only a workspace is therefore a good start, but not sufficient to guarantee that a layout is completely identical.

When starting a project from scratch however, the ideal solution that tackles it all, is to (once) create a template with all the layouts correctly set up and start every new project from there.

When you open someone else’s project on the other hand and want to use STREAM DECK to add some new VSTi tracks to that project, you will have to manually set or unset some checkboxes in the “Setup Windows Layout” section, in order to re-create the intended layout.

This concerns in particular items such as:

  • Status line
  • Info line
  • Overview

that are not included in a workspace (but are included in a project) and can change the coordinates of the “Edit Instrument” field, when loading a project.

TIP / SUMMARY: In addition to a WORKSPACE, also create a TEMPLATE of an empty project (with the desired layout), so that you always have a good starting point for new projects in which STREAM DECK can trigger the creation of new VSTi instruments tracks.

  1. Add a VST instrument track and select as VSTi “No VST Instrument”
    NB. Also set the desired MIDI input (e.g. All MIDI inputs).
    => From now on, when you add an instrument track (with the assigned key command - e.g. “V”), you will get an empty VSTi track with the desired MIDI inputs connected to “No VST instrument”, by pressing V Enter.

  2. Right-click on an empty part of the inspector and check “Expand Section Exclusively” (Only works if there is a track that is selected).
    This ensures that only 1 Section is unfolded at a time. This is necessary because there is no explicit command to force a section to unfold. There is only a “toggle” (open / close) of the sections. By toggling an other section, that section will be opened or closed. If we then toggle the desired Routing Section , it is guaranteed to be opened, thanks to the “Expand Section Exclusively” setting.
    When this section is opened, we can click (with the mouse) on the “Edit Instrument” field in this section, upon which the “Find instrument” dialog box is automatically opened and a VSTi instrument can be selected.

  3. Now we will create 8 key commands in Cubase:

    1. In Inspector → “Open / Close Track version Section” ((e.g. CTRL+Shift+ALT+V)
    1. In Inspector → “Open / Close Routing Section” ((e.g. CTRL+Shift+ALT+R)
      NOTE: Now you have ensured that you can always open the routing section of the Inspector in the same place on your screen AND that you are sure that it is OPEN. => By pressing Shift+CTRL+ALT+V followed by CTRL+Shift+R on the keyboard, the Routing section is always the ONLY opened (thanks to step 3).
    1. Close All Plugin Windows ((e.g. CTRL+Shift+ALT+C)
    1. Select Track: Next((e.g. CTRL+Shift+ALT+N)
    1. Disable Record Of All Tracks (e.g. CTRL+Shift+ALT+U)
    1. Add Track: Instrument (e.g. “V”)
    1. Workspace 1 (ALT+NUM1) (or 2 or 3 etc…)
    1. Record Enable (e.g. R)
  1. Download and install the free Open Source program AUTOHOTKEY (autohotkey. com => This supports MouseEvent Scripting .

  2. Find out the coordinate of the “Edit Instrument” field in the Routing section of the inspector (the field that says “No VST Instrument”) and write it down somewhere (see notes below).

Included in AUTOHOTKEY, there is a utility program called “WindowsSPY”, with which you can read the mouse coordinate! This app can be started from the AUTOHOTKEY Dashboard.

IMPORTANT NOTE 1:
We will be using the WINDOW mouse coordinates and not the SCREEN coordinates! So write down the mouse coordinates that appear behind the word WINDOW whilst hovering over the field saying “No VST instrument” in Cubase.

IMPORTANT NOTE 2.
Choose a coordinate that is on the far right of the “No VST instrument” field.

This is necessary to allow the CHANNEL WINDOW to be expanded while still having the selected mouse coordinate fall INSIDE the “No VST instrument” field.

  1. In AUTOHOTKEY we will write a script that always moves the mouse towards this coordinate.

TIP: You can download the free editor “SciTE4AutoHotKey” which even supports code highlighting for AUTOHOTKEY scripts. From this editor you can compile directly to an EXE file with CTRL+F7. However, you can also compile an EXE file from the AUTOHOTKEY Dashboard.
You can also type the code in Notepad and save it as an .ahk file (e.g. insertVSTi.ahk).

The AUTOHOTKEY script consists (only) of the following 4 lines:

CoordMode “Mouse”, “Window”
BlockInput true
MouseClick “Left”, 185, 345, 1, 0
BlockInput false

You will have to replace the coordinate (the numbers 185, 345) with the coordinate you wrote down in step 6.

  1. Run (= double-click on “insertVSTi.exe” in the explorer) the “insertVSTi.exe” program, while Cubase is open (does not have to be full-screen) to check whether the mouse has correctly clicked within the “No VST instrument” field. If this is the case, a small screen should appear at the location of the mouse cursor, asking you to enter the name of the desired VST instrument. If it doesn’t work, you might have to correct the mouse coordinate.

  2. Now (when the mouse has been clicked in the “No VST Instrument” filed) you can enter the name of a VSTi and press ENTER → A new VSTi track with the instrument will be added.

  3. Press R to turn on “Record Enable” on the VSTi instrument track.
    Now you can play the instrument directly!

If all of the above works well, we can now start writing the STREAM DECK Multi Action (see below).

Creating the STREAM DECK script:

Now write a Multi Action script in STREAM DECK similar to the following:

(Unfortunately this editor does not support tables, so I have devided the columns with “|” characters)

This script can also be downloaded

STREAM DECK Multi Action script

Step | Type command | Command | Description

1 | System:Hotkey | ALT+NUM 1 | Load Workspace 1
2 | System:Hotkey | CTRL+Shift+ALT+C | Close All Plugin Windows
3 | MultiAction:Delay | 400 ms | Wait for 400 ms
4 | System:Hotkey | CTRL+Shift+ALT+N | Select Next Track (useless) or First if none was selected before (useful)
5 | System:Hotkey | END | Select last track
6 | System:Hotkey | CTRL+Shift+ALT+U | Disable record of All Tracks
7 | System:Hotkey | V | Evoke the selection of a VSTi instrument before adding a new VSTi instrument Track. Selecting “No VST instrument” (see preparations) will insert an empty VSTi Track here.
8 | System:Hotkey | RETURN | Confirm adding the VSTi track
9 | System:Hotkey | RETURN | Select the newly created VSTi track and by doing so → exit any open editors → now the Track Section of the inspector is opened guaranteed.
10 | System:Hotkey | Shift+CTRL+ALT+V | Open Track version section → This will certainly close the Routing Section.
11 | System:Hotkey | CTRL+Shift+R Open Routing Section (is what we want)
12 | System:Open file: “insertVSTi.exe” | This EXE file clicks with the mouse in the “Edit Instrument” field.
13 | MultiAction:Delay | 250 ms | Wait for 250 ms
14 | System:Text | name of VSTi | Enter the name of the VSTi in double quotes eg. “HALion”
Note: enable the checkbox: “Press Enter after message”
15 | System:Hotkey | R | Turn on Record Enable on the VSTi track

Tips when creating VSTi buttons in STREAM DECK

  1. Add the above Multi Action Script to a STREAM DECk button.

  2. To create a nice Icon for your VST instrument, launch the UI of the VST instrument in Cubase and use the snippet (partial screen capture) feature of Windows.
    Note: In Windows 11, the Snippet tool is hidden under the key combination WINDOWS+SHIFT+S.

  3. With the Snippet tool you can draw a frame around theVSTi UI.

  4. This frame is then saved as a JPG picture in your Pictures folder. (No choices here) (C:\user<your_account_name>\Pictures\Screenshots).

  5. Test the STREAM DECK button thoroughly in all kinds of situations.

  6. Also test if it works in a windowed version (not full-screen) of Cubase (should work, provided WINDOW coordinates were used)

  7. Copy this button to a next button in STREAM DECK and change the name of the VSTi instrument in step 14 of the STREAM DECK script into that of the next instrument.
    IMPORTANT: Check the exact naming of the VSTi in Cubase!

  8. Change the name / text of your button.

  9. Do this for all VSTi that you want to place in STREAM DECK.

TIP: Use multiple pages if you run out of buttons on your STREAM DECK device.


Trouble Shooting

If it does not work after loading a project, check the following:

In Setup Windows Layout (gear on the right in the top bar), always enable the following checkbox:

  1. Left Zone

Enable/disable the following checkboxes depending on the setting you had when determining the mouse coordinate:

  1. Info Line
  2. Status Line
  3. Overview
  4. If necessary, uncheck the checkbox for “Channel”.
    (Depends on your screen resolution whether this is necessary)

In any other case, you might want to check your template and your workspace settings.


Kind regards,
Huib Schippers (Trilithon)

Downloads below:

The file Cubase VSTi insert.zip contains a STREAM DECK profile with a single Multi Action button.

The file insertVSTi.zip contains the AutoHotKey script (4 lines) and the compiled EXE file that works for my screen resolution (5120x2160)

Cubase VSTi insert.zip (46,5 KB)
insertVSTi.zip (469,8 KB)

Jesus christ that’s a lot of work , i just ADD Instrument track key command on the steam deck and choose :joy: :upside_down_face:

1 Like

Hi, just checked my own script used in a custom application of mine, here’s how I implement this, in this example to load a “Juno” vst. I’m writing this, because maybe you can avoid the Workspace detail:

εικόνα

2 Likes

Just for sanity’s sake Stream deck can do this, it just needs a bit of prep and once done it’s a time saver.

Set up in stream deck using Track presets…
Cubase… Save default track preset’s for each of your favourite Vst’s, including inserts/Vol meter level etc. Then use Streamdecks macro system.

StreamDeck—Multi Action button

Macro key …Alt+Y
Macro key …tab
Macro key …tab
Macro key …tab
Text (Name matching according to your saved preset)
Macro key …tab
Macro key …Down arrow
Macro key …Return

Copy past and rinse on the next Streamdeck button, and so on for all other Vst’s you use regularly.
This works on my system and isn’t that much effort to set up as long as you don’t want hundreds of Vst’s set up.
Your milage may vary as my system setup may be different to yours.
Best regards.

Too much effort, I had also done it some time ago with Autohotkey but no longer use it. Unfortunately Cubase is missing an option to assign the loading of a certain instrument to a key… would be a great new feature for Cubase 14 :wink:

1 Like

That’s a good suggestion for a feature request, go for it.

Perhaps I overdid a little when explaining every step, making this method seem a lot of work.

The extra effort i did with all the extra closing and opening of sections make it perhaps a little more foggy, but it is a sturdy solution that works in every situation with me now…

Using the Track Preset method is lot much more sensitive for changes in Cubase IMO and therefor very miss or hit…

I think my post is also a very good illustration for the Cubase crew of how much we are waiting for easy acces (by linking a key command) to this one “Edit Instrument” field.

1 Like

Yes, it seems a lot of work and if it works for you why not.
Stream deck should make life easy for folk. Someone new or looking to get a Stream deck would see such a task as being hugely complex. My intention was to show these things can be done by folk like me, that do not have knowledge of scripting techniques, and use stream deck.
Anyway best regards,
Sin

What does the Alt+Y open for you? I’m in Mac and that doesn’t open anything, and I try to use “New track from preset” but pressing TAB never leads you to the SearchBox, so I cannot write text… :S Is a bit absurd… You could do it in Cubase 12 but not in Cubase 13. I don’t know why. I lost all my automated vst loading of Cubase 12

Wish I could help further but…
I grabbed the Sideshow Cubase pack when they released their CB13 update and I have been using and editing that and the Side show CB 13 has a script for doing that task now.
I wish I could help further, but as you said CB13 broke that method, this is the first time I have heard about this and have not used or looked into it since.

Best regards,

Unfortunately for now, the only way I can think of, is to write a script in AHK for example, to “click” into the searchBox (this involves adjusting the x-y coords of the window and set the script to search for the correct window), instead of using tab.

Yeah, I mean, there are third party programs to do that, but man… It is maybe just a line of code to bring it back to what it was like in cubase 12… or not… but why getting rid of it? It just not making any sense.

Agreed, strangly they call it progress :upside_down_face:
I dropped the money on the Sideshow CB pack because it includes a whole load of functions and Icons.
However, I do agree the option to program your own stuff makes a lot of sense and only cost a few minutes if things are kept simple, as I say I wish I could help further.

Regards

Agreed, and it didn’t return in Cubase 14 either, bummer…