Assigning a new trigger

How to assign keyboard, MIDI and USB triggers to built-in and custom commands


SoundFlow distinguishes between commands and triggers. A command is like a macro that can be executed, whereas a trigger defines when that command should be executed. SoundFlow currently supports the following trigger types:

Profiles & triggers

You can use SoundFlow profiles to group triggers together. Let's say you have one set of triggers (shortcuts, MIDI triggers etc.) in your home studio, and another set of triggers at work - because you have different hardware available at those 2 locations. Then you could have a profile for each of these.
You could also use profiles for each type of workflow you are currently on. So having one profile for dialogue editing, one for composing, one for mixing etc, and thus utilizing the same shortcuts for different commands depending on the active profile.
Learn more about creating profiles here.

Showing the current triggers for a command

The triggers for the currently selected command is shown in the top right section of the SoundFlow GUI:
Here I have selected the Clip Colors package:
And the first command in that package, Set Clip Color to Dark 1:
You can already see here, that this command does not yet have any triggers associated.Let's see how it looks if I select a command that already has triggers.I now select the Automation Editing package:
And in that, the Clear Pan Automation command:
We can see that this command has Option+B assigned as a keyboard trigger. This also is reflected in the top right Command Triggers view, now that we have selected the command:
We can also see that this is a SoundFlow Default Trigger, so this trigger was not created by the user but came automatically with SoundFlow. If you want to disable this trigger to create your own, hover your mouse over the trigger and to the right you'll see the Disable button:
The bell is the Disable button:
By clicking it we have now disabled the default trigger. The Command Triggers view now reflects this by making the text grey and printing DISABLED:
In the command list, the trigger simply disappears (instead of greying it out):
Now we're ready to assign a new trigger to Clear Pan Automation.

Creating a new trigger

To add a new trigger to your command, you can either click Option+Cmd+N or click the New Trigger button:
This opens up the Add or Edit Trigger popup window:
You now have to specify the options for your new trigger:
  1. Choose Application: Choose which application(s) this shortcut/trigger should be active in. Maybe you want the trigger to fire no matter which application is currently active, or maybe you want the trigger to only work when a specific application is in focus. That's what you specify in the first column.
  2. Select Conditions: In the 2nd column you can specify some additional conditions that limit when the trigger will fire. Normally you'll just choose None. The Main Window Focused condition is designed so you can add keyboard shortcuts without modifier keys to Pro Tools, but make sure that you can still use those same keys to type regular text (eg. if you have assigned the key Y to a special command, you still want to be able to type Y when you're renaming tracks/clips or saving your session). If you are assigning a single-key non-modifier keyboard shortcut to a command in Pro Tools, select Main Window Focused for the condition.
  3. Choose Trigger: In this part of the view you'll choose which type of trigger you'll want. Once you have clicked the trigger type, eg. Keyboard, it will go into Learn mode and wait for you to press the key you want to assign. Once you have pressed the key, it will show up.
  4. Finally, when done you can press the OK button to save your new trigger.

Adding a Keyboard trigger

Let's add a keyboard trigger to our example command. I want to use this keyboard trigger only in Pro Tools, so I select Pro Tools in the first column:
I want to use Ctrl+Alt+C as the shortcut so because it has modifiers I don't need to worry about the conditions - I can just set it to None:
And finally I can click the Keyboard trigger type. It now says Capturing... so it is waiting for me to type the keyboard combination I'd like to use:
I press Ctrl+Alt+C and the display updates:
That's it, I can now press the OK button to save my new keyboard trigger.

Resolving shortcut conflicts

BUT! I made a mistake. When I close the popup window, it now looks like this - my keyboard trigger is red:
This is SoundFlow indicating that I have used a trigger that is already assigned to something else. If you have more than one command assigned to the same trigger in the same profile, SoundFlow wouldn't know which of the commands you want to execute, so it hightlights the commands in red.Click the All Commands package to see all commands, and the commands in red will be at the top of the commands list:
Oops, it turns out the Ctrl+Option+C was already used by Copy Plug-In Automation. We can now either delete or change the new trigger we created, or delete or change the old trigger for Copy Plug-In Automation. I want to change our new trigger and find a free shortcut for it instead.I make sure the Clear Pan Automation is selected so the triggers for Clear Pan Automation are showing on the right:
I hover the mouse over the trigger and the trigger editing buttons come up to the right:
These are Edit, Learn, Disable and Delete, respectively. I'll click the Edit button.This brings up the Add or Edit Trigger popup again:
I'll now click the Keyboard button:
And it goes back into capture mode:
Now I'm gonna try with Shift+Y for my keyboard shortcut for Clear Pan Automation.
Because Shift+Y would normally produce a capital Y letter in text, I need to select the Main Window Focused condition, since otherwise SoundFlow would 'swallow' all capital Y's when you were trying to type text. By limiting the trigger to only when the main window is focused, we ensure that the trigger is only fired when you're not trying to type text in a popup window.
That's it. We hit OK and back in the main window we see that the new trigger was succesfully created: