Command Reference
Complete documentation of all available PTHKD actions
This page lists all available commands organized by namespace, with their parameters and usage examples.
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.
Configuration File Location
All PTHKD hotkeys are configured in a single TOML file located at:
~/Library/Application Support/pthkd/config.toml
Getting Started: On first launch, PTHKD will automatically create a default configuration file at this location. Edit this file using any text editor to add or modify your hotkeys. After making changes, use the os.reload_config command to apply your changes without restarting the daemon.
Configuration Structure: Each hotkey is defined in a [[hotkey]] section. All commands below should be used as the action parameter within these sections. See the configuration guide for basic TOML syntax and structure.
OS Namespace macOS System
System-level macOS automation and control commands.
Reload the configuration file without restarting the daemon.
| Parameters | Type | Description |
|---|---|---|
| No parameters | ||
[[hotkey]] keys = ["cmd", "option", "r"] action = "os.reload_config"
Display a test notification to verify hotkey is working.
| Parameters | Type | Description |
|---|---|---|
| No parameters | ||
[[hotkey]] keys = ["cmd", "shift", "t"] action = "os.test_notification"
Display current application name and window title for debugging filters.
| Parameters | Type | Description |
|---|---|---|
| No parameters | ||
[[hotkey]] keys = ["cmd", "shift", "i"] action = "os.test_app_info"
Bring Pro Tools to the foreground.
| Parameters | Type | Description |
|---|---|---|
| No parameters | ||
[[hotkey]] keys = ["cmd", "option", "p"] action = "os.focus_protools"
Launch an application by name.
| Parameter | Type | Description |
|---|---|---|
| app | string | Application name to launch |
[[hotkey]] keys = ["ctrl", "shift", "l"] action = "os.launch_application" [hotkey.params] app = "Pro Tools"
Execute a shell script from file path.
| Parameter | Type | Description |
|---|---|---|
| script_path | string | Path to shell script to execute |
[[hotkey]] keys = ["ctrl", "option", "s"] action = "os.shell_script" [hotkey.params] script_path = "/path/to/script.sh"
Click a UI button in a specific window.
| Parameter | Type | Description |
|---|---|---|
| app | string | Application name |
| window | string | Window title (fuzzy match) |
| button | string | Button label to click |
[[hotkey]] keys = ["ctrl", "shift", "c"] action = "os.click_window_button" [hotkey.params] app = "Pro Tools" window = "Edit" button = "OK"
Display list of all running applications (debug).
| Parameters | Type | Description |
|---|---|---|
| No parameters | ||
List all window titles in current application (debug).
| Parameters | Type | Description |
|---|---|---|
| No parameters | ||
Pro Tools: Edit Actions Pro Tools
Editing, selection, and clip manipulation commands.
Create crossfades using preset with optional automation and selection adjustment.
| Parameter | Type | Description |
|---|---|---|
| preset | string | Name of crossfade preset |
| crossfade_automation | bool | Crossfade automation with fades |
| fill_selection | bool | Fill entire selection with crossfade |
| adjust_selection_frames | float | Adjust selection by N frames (can be negative) |
| snap_to_grid | bool | Snap selection to grid |
[[hotkey]] keys = ["cmd", "control", "f"] action = "pt.edit_crossfade" target_application = "Pro Tools" app_window = "Edit" [hotkey.params] preset = "TF Default" crossfade_automation = true fill_selection = true adjust_selection_frames = 1.0 snap_to_grid = true
Trim clip boundaries to match current timeline selection.
| Parameters | Type | Description |
|---|---|---|
| No parameters | ||
[[hotkey]] keys = ["cmd", "shift", "a"] action = "pt.edit_adjust_clip_to_match_selection" target_application = "Pro Tools"
Delete audio in shuffle mode (closes gaps).
| Parameters | Type | Description |
|---|---|---|
| No parameters | ||
[[hotkey]] keys = ["cmd", "shift", "delete"] action = "pt.edit_conform_delete" target_application = "Pro Tools"
Insert silence in shuffle mode (creates space).
| Parameters | Type | Description |
|---|---|---|
| No parameters | ||
[[hotkey]] keys = ["cmd", "shift", "i"] action = "pt.edit_conform_insert" target_application = "Pro Tools"
Toggle between GridAbsolute and Slip edit modes.
| Parameters | Type | Description |
|---|---|---|
| No parameters | ||
[[hotkey]] keys = ["f4"] action = "pt.edit_toggle_mode" target_application = "Pro Tools"
Toggle between Selector and GrabberTime tools.
| Parameters | Type | Description |
|---|---|---|
| No parameters | ||
[[hotkey]] keys = ["f3"] action = "pt.edit_toggle_tool" target_application = "Pro Tools"
Remove all clip processing (fades, gain, effects).
| Parameters | Type | Description |
|---|---|---|
| No parameters | ||
[[hotkey]] keys = ["cmd", "shift", "r"] action = "pt.edit_reset_clip" target_application = "Pro Tools"
Paste audio and automatically create fades.
| Parameter | Type | Description |
|---|---|---|
| fade_preset | string | Fade preset to apply |
| adjust_selection_frames | float | Adjust selection by N frames |
| snap_to_grid | bool | Snap to grid |
[[hotkey]] keys = ["cmd", "shift", "v"] action = "pt.edit_bg_paste_selection" target_application = "Pro Tools" [hotkey.params] fade_preset = "TF Default" adjust_selection_frames = 1.0 snap_to_grid = true
Clear audio from selection with fade handling.
| Parameter | Type | Description |
|---|---|---|
| adjust_selection_frames | float | Adjust selection by N frames |
| snap_to_grid | bool | Snap to grid |
[[hotkey]] keys = ["cmd", "shift", "x"] action = "pt.edit_bg_clear_selection" target_application = "Pro Tools" [hotkey.params] adjust_selection_frames = 1.0 snap_to_grid = true
Pro Tools: Track Actions Pro Tools
Track soloing, view management, and lane selection.
Solo only the currently selected tracks (clears other solos).
| Parameters | Type | Description |
|---|---|---|
| No parameters | ||
[[hotkey]] keys = ["cmd", "shift", "s"] action = "pt.tracks_solo_selected" target_application = "Pro Tools"
Clear all track solos.
| Parameters | Type | Description |
|---|---|---|
| No parameters | ||
[[hotkey]] keys = ["cmd", "shift", "c"] action = "pt.tracks_solo_clear" target_application = "Pro Tools"
Add selected tracks to existing solos without clearing others.
| Parameters | Type | Description |
|---|---|---|
| No parameters | ||
[[hotkey]] keys = ["cmd", "shift", "a"] action = "pt.tracks_add_selected_to_solos" target_application = "Pro Tools"
Remove selected tracks from solos.
| Parameters | Type | Description |
|---|---|---|
| No parameters | ||
[[hotkey]] keys = ["cmd", "shift", "r"] action = "pt.tracks_remove_selected_from_solos" target_application = "Pro Tools"
Multi-press selector for cycling through track views (waveform, volume, pan, etc.).
| Parameter | Type | Description |
|---|---|---|
| timeout_ms | int | Time window (ms) for multiple presses |
[[hotkey]] keys = ["ctrl", "v"] action = "pt.tracks_view_selector" target_application = "Pro Tools" [hotkey.params] timeout_ms = 200
Multi-press selector for cycling through track lanes.
| Parameter | Type | Description |
|---|---|---|
| timeout_ms | int | Time window (ms) for multiple presses |
[[hotkey]] keys = ["ctrl", "l"] action = "pt.tracks_lane_selector" target_application = "Pro Tools" [hotkey.params] timeout_ms = 200
Pro Tools: Marker Actions Pro Tools
Marker navigation and quick marker management.
Navigate to next or previous marker on a specific ruler.
| Parameter | Type | Description |
|---|---|---|
| reverse | bool | Go to previous marker instead of next (optional) |
| ruler | string | Ruler name (e.g., "Markers 1", optional) |
[[hotkey]] keys = ["pad_0", "pad_plus"] action = "pt.markers_go_to_next_marker" target_application = "Pro Tools" [[hotkey]] keys = ["pad_0", "pad_minus"] action = "pt.markers_go_to_next_marker" target_application = "Pro Tools" [hotkey.params] reverse = true [[hotkey]] keys = ["pad_1", "pad_plus"] action = "pt.markers_go_to_next_marker" target_application = "Pro Tools" [hotkey.params] ruler = "Markers 1"
Jump to a quick marker location (0-9).
| Parameter | Type | Description |
|---|---|---|
| number | int | Quick marker number (0-9) |
[[hotkey]] keys = ["ctrl", "1"] action = "pt.markers_go_to_quick_marker" target_application = "Pro Tools" [hotkey.params] number = 1
Update a quick marker with current location, name, and color.
| Parameter | Type | Description |
|---|---|---|
| number | int | Quick marker number (0-9) |
| name | string | Marker name (optional) |
| color | string | Marker color (optional) |
[[hotkey]] keys = ["ctrl", "shift", "1"] action = "pt.markers_update_quick_marker" target_application = "Pro Tools" [hotkey.params] number = 1 name = "Scene Start" color = "red"
Pro Tools: Plugin Actions Pro Tools
AudioSuite plugin automation and control.
Open AudioSuite plugin and click a button automatically.
| Parameter | Type | Description |
|---|---|---|
| plugin | string | Plugin name |
| button | string | Button to click (e.g., "Render") |
| close | bool | Close plugin after action (optional) |
| save | bool | Save settings before closing (optional) |
[[hotkey]] keys = ["ctrl", "shift", "n"] action = "pt.plugins_audiosuite" target_application = "Pro Tools" [hotkey.params] plugin = "Normalize" button = "Render" close = true
Multi-press selector for cycling through plugins. Press same hotkey multiple times to cycle.
| Parameter | Type | Description |
|---|---|---|
| plugins | array | Array of plugin names to cycle through |
| timeout | int | Time window (ms) for multiple presses |
| button | string | Button to click (optional) |
| close | bool | Close after action (optional) |
[[hotkey]] keys = ["ctrl", "pad_1"] action = "pt.plugins_multitap_selector" target_application = "Pro Tools" [hotkey.params] timeout = 200 plugins = ["Altiverb 8", "ValhallaVintageVerb", "ValhallaSuperMassive"]
Send audio to iZotope RX for processing and receive back.
| Parameter | Type | Description |
|---|---|---|
| version | int | RX version number (e.g., 11) |
[[hotkey]] keys = ["ctrl", "shift", "r"] action = "pt.plugins_send_receive_rx" target_application = "Pro Tools" [hotkey.params] version = 11
Pro Tools: Session Actions Pro Tools
Session management, export, and versioning.
Export selected tracks and timeline range to new session.
| Parameter | Type | Description |
|---|---|---|
| copy_audio_files | bool | Copy audio files to new session (optional) |
| close | bool | Close export dialog after (optional) |
[[hotkey]] keys = ["ctrl", "shift", "e"] action = "pt.session_export_selection" target_application = "Pro Tools" [hotkey.params] copy_audio_files = true close = false
Save session with incremented version number.
| Parameter | Type | Description |
|---|---|---|
| name_id | string | Name identifier for version (optional) |
[[hotkey]] keys = ["ctrl", "shift", "s"] action = "pt.session_version_up" target_application = "Pro Tools" [hotkey.params] name_id = "mix"
Save session with new name and/or location.
| Parameter | Type | Description |
|---|---|---|
| name | string | New session name (optional) |
| location | string | New save location path (optional) |
[[hotkey]] keys = ["ctrl", "option", "s"] action = "pt.session_save_as" target_application = "Pro Tools" [hotkey.params] name = "MySession_Final"
Soundminer Namespace Soundminer
Soundminer integration and file spotting commands.
Send files from Soundminer to DAW with customizable options.
| Parameter | Type | Description |
|---|---|---|
| daw | string | Target DAW: "Pro Tools", "Reaper", "iZotope RX 11" |
| command | string | "Spot To DAW", "Bring into DAW", "Send Files to DAW" |
| reference_original | bool | Use original files vs converted (optional) |
| original_sample_rate | bool | Maintain original sample rate (optional) |
| spot_as_region | bool | Create as region in DAW (optional) |
| launch | bool | Auto-launch DAW if not running (optional) |
[[hotkey]] keys = ["ctrl", "s"] action = "sm.send_to_daw" target_application = ["Soundminer", "Pro Tools"] trigger_on_release = true [hotkey.params] command = "Spot To DAW" daw = "Pro Tools" reference_original = false original_sample_rate = false spot_as_region = true launch = false
Open Soundminer spotting folder selection dialog.
| Parameters | Type | Description |
|---|---|---|
| No parameters | ||
[[hotkey]] keys = ["ctrl", "shift", "f"] action = "sm.select_spotting_folder" target_application = "Soundminer"