Macro to select MIDI track output routing


Does anyone know how to create a macro to route MIDI Track output to a specific Instrument Track?

The following is a brief description of my goal.

When I compose classical music I initially work out the melody, chords, and bassline on a piano VI. As the project develops I like to hear what different passages will sound like if played by strings vs brass vs winds, and so I route the MIDI track output (initially routed to piano) to one of these orchestral sections. However this involves a lot of mouse-clicking/selecting and makes rapid A/B comparisons impossible.

So, what I’m hoping to do is to create a macro that can be assigned to a button on a MIDI controller such that I can instantly route, for example, the chords of my composition to an Instrument Track setup with a short string patch or a long brass patch, etc.

Is this possible in Cubase 11?

Can you give some more details about this. From your description of what you are doing it seems like you’d only need to change the destination of your MIDI Track from A to B which is pretty simple to do - so I’m guessing there is some additional complexity that needs to be dealt with.

Hi raino,

Let me illustrate with screenshots…

During the initial composing phase, I route my MIDI track (Melody) to a piano VI (EZKeys):

When I’m close to finishing the composing phase and start orchestrating, I like to hear how this melody (initially assigned to piano) will sound if played by strings, brass, winds (with different articulations), so I route the output of the Melody track to several different Instrument Tracks containing these VIs/articulations:

But doing this requires constantly going to the Output Routing and either scrolling through all the VI Inputs or searching for the one I want, and this is disruptive to the creative process:

And so, what I’d like to do is to create a macro that will route the Melody track to a specific Instrument Track via a single MIDI controller button. For example:

Button 1: Route Melody to Strings - long
Button 2: Route Melody to Strings - short
Button 3: Route Melody to Brass - long
Button 4: Route Melody to Brass - short
Button 5: Route Melody to Winds - long
Button 6: Route Melody to Winds - short

Does that make sense?


I have a question about your second pic above. It shows that you are routing the MIDI to a set of 4 Tracks - lets call that set of Tracks A. Presumably you have several different combinations of Tracks - B, C, D, etc…

Are these different combos the same across various Projects? Or for example might the B set of Tracks be different in Project X and Project Y?

Don’t have any solid suggestions now, but this seems like the kind of thing that should be possible.

Take a look at this post on routing the Chord Track. Not the same as you are looking for, but it is in the neighborhood. I suspect Virtual MIDI Cables will be part of a solution.

Sorry, I should have been more clear…I’m not routing to all 4 tracks at the same time, but rather one after the other (I should have put an “or” between each hand-drawn line).

And I think this confusion may have caused you to suggest a solution (the Chord Track post) to a different problem.

My problem is much simpler (and hopefully has a simpler solution). I just want to be able to assign different, single, Output Routings to a MIDI controller button so that, with a single button-press, I can quickly re-assign a given MIDI Track to a specific Instrument Track (strings or brass or winds).

What I’m trying to do is akin to the way you can quickly cycle through different synth patches by clicking on the little arrows in a synth GUI’s browser.

Ideally the solution would work for any given MIDI Track that’s highlighted (so that I can use the same button assignments for the Melody, Chords, and Bassline MIDI Tracks).

I hope that clears things up!


I don’t think Output Routing is available as any key command or as a target for Project Logical Editor actions in Cubase.

So your best alternative would probably be to use an external program that can execute a macro with the following actions:

  • a mouse click with x,y coordinates for the Output Routing box in Track Inspector
  • input the exact Track Name (since you have a constant template this shouldn’t be a problem)
  • press Enter to confirm selection

This should allow you to select any MIDI track and change its output routing.


@paka has the right idea.

if you’re using Windows and have a little time, Autohotkey is a great free option. The time you spend learning it, even the basics may be well worth it to create other macros to help with your workflow.

this one would be a very short CTRL-F6 to open the output assignment, press down arrow to next assignment in the list and hitting enter.

mouseclick, left, x-coordinate,y-coordinate (left for left click(by default it’s 1 click, you could even skip the coordinates if you want to keep your cursor over the output assignment field)
send {down}
send {enter}

Instead of {down}, you COULD replace that with the literal string of the actual instrument, bbcso brass and it CTRL-F6 would change the output assignment to that instrument only.

Just a very simple example of what you can with Autohotkey should you look into.

1 Like

paka, owenc, thank you for your suggestions.

1 Like

Sorry to @BaseCu for barging in, but I have a similar question, for a similar purpose.

I have my Halion Orchestra set up. I have all MIDI ins of all tracks set to the same MIDI controller. Now, the idea is that I could setup PLE presets to Record Enable/Disable selections of tracks. Example:

  • Have record enabled just on Pianoteq track, I hear piano.
  • Then use PLE to record enable Flute I, Clarinet I, Violins I. I hear those playing in unison.

The problem is: expression maps, and CC. CC just needs a flick and updates itself so it’s not that big of a problem. But expression maps, even though they have been assigned a default legato articulation in latch mode, most winds seem to get stuck in a WT trill. So, everytime I fire the PLE preset, I then need to manually send a keyswitch change for legato, and hope that all those instrument tracks have it on the same key. This also happens if I relocate the Project cursor to the start. (I am describing a blank state here, no data on tracks.)

Is this behavior normal for 11? Or is there a chance that I should rebuild the template by re-importing tracks