Macro - Copy all CCs from a track to another

Hey all! :slight_smile:

I’m trying to set up a macro that copies all CCs events without any note from a midi/VST instrument track to another one.

At the moment I figured out only part of it.
I created a preset in the logical editor that select all CCs events without any note.
I see that “paste at origin” is a very useful command so events are copied to the exact same position as far as timeline goes.

At the moment I haven’t figured out some commands I’d need in order for the macro to work:

  1. Move focus to the key editor (that’s useful because, otherwise, the “Copy” command would copy the whole midi track, including notes);
  2. Move the selection to the destination (the other midi track).
    Is it possible to have a macro wait for an entry? (Meaning have the macro wait I select which track I want to past CCs to it).

Thank you very much!

Ok, in case someone else needs that, here’s what I’ve done. Luckily nobody answered so I figured it out myself. :laughing:

First of all, this macro copies all CCs values of a selected midi part (except the notes) to another Midi/VST-instrument track.
This is very useful, for instance, when you’re working on, say a string arrangement, you got your violin 1 down, and now you want your violin 2, viola, cello and bass to follow the same midi events, so they’ll move together with the same intention, of maybe you want all those CC events as a starting point so you can tweak further.
Not coping the notes is useful too: for instance, after writing for v1, you could playing the part for v2, using the expression and nuances already programmed for v1, making playing in real time more fun. Or maybe, you programmed a filter opening up at the end of the section and want all the other parts to have exactly the same filter automation, you get the idea. :slight_smile:

Duplicating the already programmed track and remove all the notes leaving CC events doesn’t work well, it seems a bit time consuming and you risk to delete CC events with the notes.
Also, on big orchestral templates you probably don’t want to duplicate a track instead of using one that has already many parameters, settings and routing in place.
Anyway, if you find the concept useful for your self, here how to set it up:


  1. Open Key Commands and start creating a new macro, I called it “Copy all CC to another Midi track”;
  2. Add command: “Editors - Open Key Editor”;
  3. Process Logical Preset Select all CC (“Select all CC” is a custom preset that needs to be done before creating the macro, more about that later);
  4. Add command “Edit - Copy”;
  5. Add command “Project - Bring to Front”;
  6. Add command “Edit - Find Track/Channel”;
  7. Add command “Edit - Past at Origin”.

Once you’ve done this, close the “key command” window and reopen it. At this point you should be able to find the name of your macro in the upper side of the key command window. That allows you to assign a shortcut like you do for every other command.

Logical Editor Preset
About bullet point 3, the this is how you can create a Logical Editor Preset.

  1. Open the Logical Editor (not the “Project Logical Editor”;
  2. In the upper section you just need one line (you can leave the brackets) and set Filter target to “Type Is”, Condition to “Equal” and Parameter 1 to “Controller”.
  3. On the lower part no entry needed, just change the Function menu to “Select”.
  4. You can now save the preset and call it “Select all CC”.

In order for the Macro to work

  1. Just select the midi part you’d like to use as CC’sorce;
  2. Start the macro using the shorcut you assigned or to;
  3. Type the name of the destination track and hit Return.

Done. Result? In 2 seconds from when you hit the shortcut you have a copy of all CC events without notes in a destination track of your choice.