Command Reference
Complete documentation of all available PTHKD actions
Every hotkey is a JSON object with a trigger (key or MIDI), optional filters, and a command. This page documents the structure and every available command.
Beta Software Disclaimer
PTHKD is beta software provided "AS IS" without warranty of any kind. Use at your own risk. This software is in active development and may contain bugs, cause unexpected behavior, or interfere with other applications.
While we make every effort to ensure stability, we provide no technical support, warranties, or guarantees regarding this beta release. Users should exercise caution and test thoroughly in non-critical environments before relying on PTHKD in production workflows.
By downloading and using PTHKD, you acknowledge that this is experimental software and agree to use it at your own discretion and risk.
Default Keymap Quick Reference
The hotkeys PTHKD ships with out of the box. Click any column header to sort, or type in the box to filter. Everything here is fully customizable — these entries live in your config.json once you export it, and you can edit, remove, or add to them freely.
| Key | Modifiers | Apps | Name |
|---|---|---|---|
w | cmd, opt, shift | Global | Print Current Window |
i | cmd, opt, ctrl, shift | Global | Import Config File |
w | cmd, opt, ctrl, shift | Global | Export Config File |
a | cmd, opt, shift | Global | Print Current App |
e | cmd, shift | Global | Eject All Drives |
f17 | — | Protools | Minimize All Tracks |
s | cmd, shift | Protools | Solo Only Selected Tracks |
s | opt, shift | Protools | Clear All Track Solos |
keypad_plus | cmd, opt, ctrl | Protools | Conform Insertion |
keypad_minus | cmd, opt, ctrl | Protools | Conform Deletion |
t | cmd, opt, ctrl, shift | Protools | Trim Backgrounds |
v | cmd, opt, ctrl, shift | Protools | Paste Backgrounds |
c | cmd, opt, ctrl, shift | Protools | Copy Backgrounds |
x | cmd, opt, ctrl, shift | Protools | Remove Backgrounds |
f | — | Protools | Crossfade with Automation |
f | cmd, ctrl | Protools | Crossfade Adjust |
h | cmd, shift | Protools | Heal |
t | cmd | Protools | Trim to Match Selection |
up | cmd, opt, ctrl | Protools | Pro Tools Version Up Session |
s | cmd, opt, ctrl | Protools | Export Selection |
s | cmd, opt, ctrl, shift | Protools | Export Selection with Copy |
keypad_minus | shift | Protools | Select to Previous Marker |
keypad_plus | shift | Protools | Select to Next Marker |
keypad_7 | shift | Protools | Select to Previous Marker BG |
keypad_8 | shift | Protools | Select BG |
keypad_9 | shift | Protools | Select to Next Marker BG |
keypad_multiply | shift | Protools | Select Between Markers |
tab | ctrl | Protools | Go To Next Marker |
tab | opt, ctrl | Protools | Go To Previous Marker |
keypad_0 | shift | Protools | Go To Quickmarker 0 |
keypad_0 | ctrl, shift | Protools | Update Quickmarker 0 |
keypad_1 | shift | Protools | Go To Quickmarker 1 |
keypad_1 | ctrl, shift | Protools | Update Quickmarker 1 |
keypad_2 | shift | Protools | Go To Quickmarker 2 |
keypad_2 | ctrl, shift | Protools | Update Quickmarker 2 |
keypad_3 | shift | Protools | Go To Quickmarker 3 |
keypad_3 | ctrl, shift | Protools | Update Quickmarker 3 |
space | ctrl | Protools | Preview Audiosuite |
keypad_enter | ctrl | Protools | Render Audiosuite |
keypad_divide (MIDI 77) | ctrl | Protools | Reverse Clip |
keypad_multiply (MIDI 80) | ctrl | Protools, Rx | iZotope RX 11 Connect |
keypad_1 (MIDI 83) | ctrl | Protools | Reverb Selector |
keypad_2 (MIDI 82) | ctrl | Protools | Delay Selector |
keypad_4 (MIDI 79) | ctrl | Protools | Dynamics Selector |
keypad_6 (MIDI 75) | ctrl | Protools | Doppler Selector |
keypad_7 (MIDI 75) | ctrl | Protools | Pitch Shift Selector |
keypad_0 (MIDI 81) | ctrl | Protools | Noise Reduction Selector |
escape | — | Protools | View Toggle |
s | ctrl | Soundminer | Spot to DAW |
s | ctrl | Protools | Spot to Pro Tools |
b | cmd, opt, ctrl, shift | Protools, Soundminer | BG Spot to Pro Tools |
f1 | — | Soundminer | Send to Pro Tools |
f1 | cmd, opt, ctrl, shift | Soundminer | Send Selection to Pro Tools |
f3 | — | Soundminer | Send to RX 11 |
f12 | — | Soundminer | Copy Files |
f11 | — | Soundminer | Select Spotting Folder |
f10 | — | Soundminer | Select No DAW |
0 | cmd, opt, ctrl | Global | Launch SM TF |
9 | cmd, opt, ctrl | Global | Launch SM Skysound |
8 | cmd, opt, ctrl | Global | Launch SM Formosa |
7 | cmd, opt, ctrl | Global | Launch Embedadata |
tab | opt | Global | Toggle Protools/Soundminer |
tab | cmd, opt | Global | Toggle Protools/Reaper |
y | cmd, opt, ctrl, shift | Protools, Matchbox | Toggle New Old Timeline |
Configuration File & Structure
All PTHKD hotkeys are configured in a single JSON file located at:
~/Library/Application Support/pthkd/config.json
Getting Started: Click the ⚡ PTHKD icon in the macOS menu bar and choose Export Config to write a starter config.json containing the built-in defaults. If a config.json already exists, PTHKD writes the defaults to config_default.json instead, so your file is never overwritten. Use Open Config in Text Editor to edit it, then Reload Config File to apply changes without restarting the daemon.
File format: The config is a JSON array of hotkey objects. Each object needs a trigger (a key and/or midi) and an action (a command or a multitap). All other fields are optional.
| Field | Type | Description |
|---|---|---|
| name | string | Optional label (shown in logs; handy for organizing your file) |
| key | string | Trigger key — see Keys |
| modifiers | array | Modifier keys held with key — see Modifiers |
| midi | object | MIDI trigger — see MIDI |
| apps | array | Only fire when one of these apps is frontmost — see Filters |
| window | string | Only fire when the focused window title matches |
| command | object | The action to run (one namespace key) |
| multitap | object | Cycle through AudioSuite plugins — see Multitap |
A complete minimal file with two hotkeys looks like this:
[
{
"name": "Reload Config File",
"key": "i",
"modifiers": ["hyper"],
"command": { "config": "Reload" }
},
{
"name": "Solo Only Selected Tracks",
"key": "s",
"modifiers": ["cmd", "shift"],
"apps": ["Protools"],
"command": {
"protools": { "track": { "solo": "Selected" } }
}
}
]
The command value is a tagged object: the top-level key is the namespace (config, macos, protools, soundminer, or app) and its value selects the specific action. Any field left out uses its default.
Keys & Modifiers Trigger
The key field takes a single key name. The modifiers array lists the modifiers held alongside it.
Accepted values for the modifiers array. hyper (alias hypr) is shorthand for all four modifiers at once.
| Value | Aliases | Meaning |
|---|---|---|
| cmd | command | ⌘ Command |
| opt | option | ⌥ Option / Alt |
| ctrl | control | ⌃ Control |
| shift | — | ⇧ Shift |
| hyper | hypr | ⌘ + ⌥ + ⌃ + ⇧ together |
Use these exact names for the key field.
| Group | Names |
|---|---|
| Letters | a–z |
| Numbers | "0"–"9" (top row) |
| Function | f1–f20 |
| Keypad | keypad_0–keypad_9, keypad_plus, keypad_minus, keypad_multiply, keypad_divide, keypad_enter, keypad_decimal, keypad_equals, keypad_clear |
| Editing | return_key, tab, space, delete, forward_delete, escape, caps_lock |
| Navigation | left, right, up, down, home, end, page_up, page_down |
| Symbols | equal, minus, left_bracket, right_bracket, quote, semicolon, backslash, comma, slash, period, grave, section |
{
"key": "keypad_plus",
"modifiers": ["shift"],
"apps": ["Protools"],
"command": {
"protools": { "marker": { "goto": { "direction": "Next", "select": true } } }
}
}MIDI Triggers Trigger
Any hotkey can be triggered by a MIDI message instead of (or in addition to) a key. Add a midi object. A hotkey may specify both key and midi — either will fire it.
| Field | Type | Description |
|---|---|---|
| msg | string | "NoteOn", "NoteOff", or "CC" |
| note | int | Note (or CC) number, 0–127 |
| channel | int | MIDI channel (optional) |
| velocity | int | Velocity (optional) |
| device | string | Match a specific device name (optional) |
{
"name": "Reverse Clip",
"key": "keypad_divide",
"modifiers": ["ctrl"],
"midi": { "msg": "NoteOn", "note": 77 },
"apps": ["Protools"],
"multitap": {
"items": [
{ "name": "Reverse", "parent_menu": "Avid", "render": true, "close": true }
]
}
}Stream Deck Elgato
PTHKD ships with an Elgato Stream Deck plugin, so you can fire any command from a physical button — a great fit for sound editors who'd rather tap a key on the deck than remember a keyboard shortcut. The plugin talks to the running PTHKD app, so PTHKD must be running for the buttons to work.
PTHKD installs the plugin automatically every time it launches — there's nothing to download separately. You can also reinstall it on demand from the menu bar (⚡ → Install Stream Deck Plugin).
| Step | Detail |
|---|---|
| 1. Launch PTHKD | The plugin is installed into Stream Deck's Plugins folder on startup |
| 2. Restart Stream Deck | If the pthkd category doesn't appear in the Stream Deck app's action list, quit and reopen Stream Deck so it picks up the new plugin |
| 3. Add an action | Drag Run Command or Create Command onto a key |
Requirements: Stream Deck software 6.6 or later, macOS 12 or later, and PTHKD running.
The simplest option. Drop this action on a key and pick a command from the dropdown — the list is populated live from the named commands in your config (the same names shown in the Default Keymap). The button runs that command by name, so it always stays in sync with your config; no parameters to set. Give a hotkey a name in your config and it shows up here automatically.
For actions you haven't bound to a key. This action's inspector builds a form directly from PTHKD's live command schema — the exact same namespaces, actions, and fields documented on this page (protools, soundminer, macos, config). Pick a namespace, fill in the options, and the button sends that command to PTHKD. Perfect for a deck full of one-off buttons — e.g. a macos.click_menu button for any menu item in any supported app — without touching your keyboard hotkeys at all.
The menu bar has an Enable Hotkeys toggle (⚡ menu, checkmark shows the current state). It enables or disables PTHKD's keyboard hotkey sensing — but Stream Deck buttons keep working either way. So if you'd rather drive everything from the deck and not have PTHKD intercept your keyboard, switch Enable Hotkeys off: your normal keyboard shortcuts pass straight through to the app while the Stream Deck still fires PTHKD commands. The setting is remembered across restarts.
App & Window Filters Filter
Restrict a hotkey to specific applications with apps, and optionally to a specific window with window. If apps is omitted the hotkey is global.
Array of application identifiers. The hotkey only fires when one of them is frontmost. These same identifiers are also used as the daw value in Soundminer commands and as app in the App namespace.
| Identifier | Application |
|---|---|
| Protools | Avid Pro Tools |
| Reaper | REAPER (Soundminer Reaper Extension) |
| Soundminer | Soundminer (v6 or v7) |
| Rx | iZotope RX 11 |
| Embedadata | EmbedaData |
| Matchbox | Matchbox |
| None | No DAW (used by Soundminer commands) |
{
"name": "Crossfade with Automation",
"key": "f",
"apps": ["Protools"],
"window": "EDIT",
"command": { "protools": { "edit": { "crossfade": {} } } }
}config Namespace Daemon
Manage the config file itself. The value is a plain string. These same actions are available from the menu bar icon.
| Value | Description |
|---|---|
| "Reload" | Re-read the config file and apply changes without restarting |
| "ExportJson" | Write the current defaults to config.json (or config_default.json if it exists) |
| "Export" | Same, but write the ZON variant (config.zon) |
| "Open" | Open the config file in your default text editor |
{
"name": "Reload Config File",
"key": "i",
"modifiers": ["hyper"],
"command": { "config": "Reload" }
}macos: App Control & System macOS
The macos command is a general-purpose driver for any supported app plus a few system utilities. Set app to target an application, or omit it for a system command. This is the most powerful namespace in PTHKD: because it can click any menu item in any supported app, you're not limited to the built-in commands — you can build a hotkey (or MIDI trigger) for virtually anything the app exposes in its menus. If you can find it in a menu, you can bind it.
Focuses the target app and clicks a menu item by its menu_path — an array that walks from the menu bar down through any submenus to the item. This one command lets you map a key or MIDI note to almost any function in Pro Tools, Soundminer, REAPER, RX, Matchbox, etc. The example below is exactly how the built-in Toggle New Old Timeline hotkey is implemented — it drives Matchbox's Reconform → Jump DAW between Old / New menu item.
{
"name": "Toggle New Old Timeline",
"key": "y",
"modifiers": ["hyper"],
"apps": ["Protools", "Matchbox"],
"command": {
"macos": {
"app": "Matchbox",
"command": "click_menu",
"menu_path": ["Reconform", "Jump DAW between Old / New"]
}
}
}Tip: unsure of the exact menu wording or window title? Use the system commands below (print_current_window / debug_focused_element) to inspect the app while it's focused.
command is always required. app is required for the app commands and must be omitted for the system commands. The remaining fields apply only to specific commands.
| Field | Type | Default | Description |
|---|---|---|---|
| command | string | — | The action — see the two tables below (required) |
| app | string | — | Target app identifier (see apps). Omit for a system command |
| menu_path | array | [""] | Menu path for click_menu (e.g. ["View", "Other Displays", "Clip Effects"]) |
| window | string | "" | Window title for button/checkbox/window commands |
| button | string | "" | Button label for press_button |
| checkbox | string | "" | Checkbox label for set_checkbox |
| toggle | bool | true | Target state for set_checkbox |
| text | string | "" | AppleScript source for applescript |
App commands — require app:
| command | Description |
|---|---|
| "click_menu" | Focus the app and click the menu item at menu_path |
| "press_button" | Press button in window |
| "set_checkbox" | Set checkbox in window to toggle |
| "close_window" | Close window |
| "focus_window" | Focus window |
| "launch" | Launch the app (or focus it if already running) |
| "quit" | Quit the app |
| "applescript" | Run the AppleScript in text |
System commands — omit app:
| command | Description |
|---|---|
| "eject_all_drives" | Unmount all external drives |
| "print_current_app" | Print the frontmost app's bundle ID (for building apps filters) |
| "print_current_window" | Print the frontmost window title and focused UI element |
| "debug_focused_element" | Print details of the currently focused accessibility element |
{
"name": "Launch Embedadata",
"key": "7",
"modifiers": ["ctrl", "opt", "cmd"],
"command": { "macos": { "app": "Embedadata", "command": "launch" } }
}
{
"name": "Eject All Drives",
"key": "e",
"modifiers": ["cmd", "shift"],
"command": { "macos": { "command": "eject_all_drives" } }
}Pro Tools: Edit Pro Tools
Editing, crossfades, and clip manipulation. Nest under { "protools": { "edit": { … } } }.
Create fades over the selection from a preset, with optional automation and selection adjustment. All fields optional.
| Field | Type | Default | Description |
|---|---|---|---|
| fade_preset | string | "TF Default" | Fade preset name |
| fade_automation | bool | true | Also crossfade automation |
| fill_selection | bool | false | Trim clips to fill the selection first |
| adjust_selection | float | 0.0 | Grow/shrink the selection by N frames |
| snap_to_grid | bool | false | Snap the selection to the grid |
{
"name": "Crossfade Adjust",
"key": "f",
"modifiers": ["cmd", "ctrl"],
"apps": ["Protools"],
"command": {
"protools": {
"edit": {
"crossfade": {
"snap_to_grid": true,
"adjust_selection": 1.0,
"fill_selection": true
}
}
}
}
}Copy / paste / trim / clear the region between the two markers surrounding the cursor on a given ruler — ideal for background (BG) editing. Only command is required.
| Field | Type | Default | Description |
|---|---|---|---|
| command | string | — | "Copy", "Paste", "Trim", or "Clear" (required) |
| lane | string | "BG" | Ruler/lane whose markers define the region |
| preset | string | "BG Default" | Fade preset applied at the edges |
| adjust_selection | float | 1.0 | Overlap in frames for fades |
| snap_to_grid | bool | true | Snap the selection to the grid |
{
"name": "Paste Backgrounds",
"key": "v",
"modifiers": ["hyper"],
"apps": ["Protools"],
"command": {
"protools": { "edit": { "between_markers": { "command": "Paste" } } }
}
}Insert or delete time in shuffle mode (conform edits). Value is a string.
| Value | Description |
|---|---|
| "Insert" | Insert/open a gap at the selection |
| "Delete" | Delete the selection and close the gap |
{
"name": "Conform Insertion",
"key": "keypad_plus",
"modifiers": ["cmd", "opt", "ctrl"],
"apps": ["Protools"],
"command": { "protools": { "edit": { "conform": "Insert" } } }
}Take no parameters — pass an empty object {}.
| Command | Description |
|---|---|
| trim_to_selection | Trim clip boundaries to match the timeline selection |
| clear_heal | Heal separations across the selection |
| clip_reset | Remove clip gain, clip effects, and fades |
{
"name": "Trim to Match Selection",
"key": "t",
"modifiers": ["cmd"],
"apps": ["Protools"],
"command": { "protools": { "edit": { "trim_to_selection": {} } } }
}Pro Tools: Tracks Pro Tools
Soloing and track height. Nest under { "protools": { "track": { … } } }.
Manage track solos. Value is a string.
| Value | Description |
|---|---|
| "Selected" | Solo only the selected tracks (clears the rest) |
| "Clear" | Clear all track solos |
{
"name": "Solo Only Selected Tracks",
"key": "s",
"modifiers": ["cmd", "shift"],
"apps": ["Protools"],
"command": { "protools": { "track": { "solo": "Selected" } } }
}Set track height to micro. Value is a string.
| Value | Description |
|---|---|
| "All" | Minimize every track |
| "Selected" | Minimize only the selected tracks |
{
"name": "Minimize All Tracks",
"key": "f17",
"apps": ["Protools"],
"command": { "protools": { "track": { "minimize": "All" } } }
}Pro Tools: Markers Pro Tools
Marker navigation and quick markers. Nest under { "protools": { "marker": { … } } }.
Move to (or select to) the next/previous marker, optionally limited to a specific ruler.
| Field | Type | Default | Description |
|---|---|---|---|
| direction | string | "Next" | "Next", "Prev", or "Between" |
| select | bool | false | Extend the selection instead of just moving |
| ruler | string | — | Restrict to a named ruler (e.g. "BG"). Omit for all markers |
{
"name": "Select to Next Marker",
"key": "keypad_plus",
"modifiers": ["shift"],
"apps": ["Protools"],
"command": {
"protools": { "marker": { "goto": { "direction": "Next", "select": true } } }
}
}Go to or set a numbered "quick marker". Quick markers are stored at a high memory-location offset so they don't collide with your session markers.
| Field | Type | Default | Description |
|---|---|---|---|
| number | int | 0 | Quick marker slot |
| action | string | "GoTo" | "GoTo" or "Set" |
| color | string | "magenta" | Marker color (see below) |
| name | string | — | Marker name when setting (defaults to "QUICKMARKER N") |
| offset | int | 31000 | Memory-location number offset |
Colors: darkpurple, purple, pink, magenta, red, orange, darkyellow, yellow, lightgreen, green, lightblue, blue, darkblue, white, grey, black.
{
"name": "Update Quickmarker 0",
"key": "keypad_0",
"modifiers": ["ctrl", "shift"],
"apps": ["Protools"],
"command": {
"protools": {
"marker": { "quickmarker": { "action": "Set", "color": "green" } }
}
}
}Pro Tools: Plugins Pro Tools
AudioSuite render/preview and RX round-trip. Value is a string. For opening and cycling through AudioSuite plugins, see Multitap Selectors.
| Value | Description |
|---|---|
| "Render" | Click Render in the open AudioSuite window |
| "Preview" | Click Preview in the open AudioSuite window |
| "RXConnect" | Round-trip the selection through iZotope RX Connect |
{
"name": "Render Audiosuite",
"key": "keypad_enter",
"modifiers": ["ctrl"],
"apps": ["Protools"],
"command": { "protools": { "plugin": "Render" } }
}Pro Tools: Session & Focus Pro Tools
Session versioning, exporting, mode toggles, and app switching. These sit directly under protools.
Save, then increment the session's version number (e.g. NAME_01_TF → NAME_02_TF) and move the previous file into a zOLD/ folder. Takes no parameters — pass {}.
{
"name": "Pro Tools Version Up Session",
"key": "up",
"modifiers": ["cmd", "opt", "ctrl"],
"apps": ["Protools"],
"command": { "protools": { "version_up": {} } }
}Save a session copy of the selected tracks and timeline range. Value is a string.
| Value | Description |
|---|---|
| "SessionOnly" | Export the session copy without copying audio |
| "CopyAudio" | Also copy the audio files into the new session |
{
"name": "Export Selection with Copy",
"key": "s",
"modifiers": ["shift", "cmd", "opt", "ctrl"],
"apps": ["Protools"],
"command": { "protools": { "export_selected": "CopyAudio" } }
}Toggle a Pro Tools mode/tool, or switch focus between apps. Value is a string.
| Value | Description |
|---|---|
| "EditMode" | Toggle between Grid Absolute and Slip |
| "EditTool" | Toggle between the Selector and Grabber tools |
| "Soundminer" | Toggle focus between Pro Tools and Soundminer |
| "Reaper" | Toggle focus between Pro Tools and REAPER |
| "NewOld" | Trigger Matchbox "Jump DAW between Old / New" |
{
"name": "Toggle Protools/Soundminer",
"key": "tab",
"modifiers": ["opt"],
"command": { "protools": { "toggle": "Soundminer" } }
}Soundminer Namespace Soundminer
Spotting, DAW selection, and launching Soundminer settings profiles. Nest under { "soundminer": { … } }.
Send files from Soundminer to a DAW. All fields optional.
| Field | Type | Default | Description |
|---|---|---|---|
| daw | string | — | Target: "Protools", "Reaper", "Rx", "None" |
| command | string | "Spot To DAW" | Transfer command: "Spot To DAW", "Bring Into DAW", "Send Files to DAW" |
| reference_original | bool | false | Reference original files instead of converting |
| original_sample_rate | bool | false | Keep the original sample rate |
| spot_as_region | bool | true | Create as a region in the DAW |
| launch | bool | false | Launch the DAW first if it isn't running |
| selection | bool | false | Spot to the current BG marker selection |
{
"name": "Spot to Pro Tools",
"key": "s",
"modifiers": ["ctrl"],
"apps": ["Protools"],
"command": {
"soundminer": { "send_to_daw": { "daw": "Protools" } }
}
}Set Soundminer's active DAW via its DAW menu.
| Field | Type | Default | Description |
|---|---|---|---|
| daw | string | "None" | "Protools", "Reaper", "Rx", or "None" |
{
"name": "Select No DAW",
"key": "f10",
"apps": ["Soundminer"],
"command": { "soundminer": { "select_daw": { "daw": "None" } } }
}Swap in a saved Soundminer settings profile (prefs, facility prefs, category list) and relaunch Soundminer. Value is a string.
| Value | Description |
|---|---|
| "TF" | Launch with the "TF" profile |
| "Skysound" | Launch with the "Skysound" profile |
| "Formosa" | Launch with the "Formosa" profile |
{
"name": "Launch SM TF",
"key": "0",
"modifiers": ["ctrl", "opt", "cmd"],
"command": { "soundminer": { "launch": "TF" } }
}Open Soundminer's spotting-folder (Set Transfer) dialog. Takes no parameters — pass {}.
{
"name": "Select Spotting Folder",
"key": "f11",
"apps": ["Soundminer"],
"command": { "soundminer": { "select_spotting_folder": {} } }
}Multitap Selectors AudioSuite
Use multitap (in place of command) to cycle through a list of AudioSuite plugins by tapping the same hotkey repeatedly within ~300 ms. One tap opens the first item, two taps the second, and so on. Each entry opens the AudioSuite plugin and can optionally analyze, render, and close it.
| Field | Type | Default | Description |
|---|---|---|---|
| name | string | — | Plugin (menu item) name — required |
| parent_menu | string | — | Submenu the plugin lives in (e.g. "Reverb") |
| root_menu | string | "AudioSuite" | Top-level menu to open from |
| analyze | bool | false | Click Analyze after opening |
| render | bool | false | Click Render after opening |
| close | bool | false | Close the plugin window when done |
{
"name": "Reverb Selector",
"key": "keypad_1",
"modifiers": ["ctrl"],
"midi": { "msg": "NoteOn", "note": 83 },
"apps": ["Protools"],
"multitap": {
"items": [
{ "name": "Altiverb 8", "parent_menu": "Reverb" },
{ "name": "ValhallaVintageVerb", "parent_menu": "Reverb" },
{ "name": "ValhallaSupermassive", "parent_menu": "Reverb" }
]
}
}