Skip to content

jariz/traktor-remote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Traktor Remote Control

Traktor has a hidden RPC server used internally for automation testing. It can control almost everything - decks, mixer, effects, browser, transport. This project enables it.

macOS only for now.

What can you do with it?

Once enabled, Traktor listens on port 8080 and you can:

  • Load tracks to decks
  • Control playback (play, pause, cue, sync)
  • Adjust volume, EQ, filters
  • Control effects and crossfader
  • Navigate the browser
  • Read/write hundreds of internal properties

See RPC.md for the full API.

Prerequisites

Re-sign Traktor with these entitlements (one-time setup).
Open a terminal (e.g. Terminal.app) and execute:

cat > /tmp/debug.entitlements << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.get-task-allow</key>
    <true/>
    <key>com.apple.security.cs.disable-library-validation</key>
    <true/>
</dict>
</plist>
EOF

sudo codesign -s - -f --entitlements /tmp/debug.entitlements "/Applications/Native Instruments/Traktor Pro 4/Traktor Pro 4.app"

You'll need to redo this after Traktor updates.

Download

Grab the latest binaries from Releases:

  • TraktorRemoteControl-arm64.zip - Dylib (recommended)
  • traktor-remote-arm64.zip - CLI tool

Usage

Option 1: Dylib (recommended)

DYLD_INSERT_LIBRARIES=/path/to/libTraktorRemoteControl.dylib "/Applications/Native Instruments/Traktor Pro 4/Traktor Pro 4.app/Contents/MacOS/Traktor Pro 4"

You should see something like:

2026-02-03 23:55:55.785 Traktor Pro 4[73355:1425966] [TraktorRemote] Patched feature_is_on at 0x102eeb210 - Robot server enabled on port 8080

Option 2: CLI

/path/to/traktor-remote

You should see something like:

╔══════════════════════════════════╗
║   Traktor Remote Control - CLI   ║
╚══════════════════════════════════╝

[*] Searching for Traktor...
[+] Found: /Applications/Native Instruments/Traktor Pro 4/Traktor Pro 4.app/Contents/MacOS/Traktor Pro 4
[*] Launching Traktor...
[+] PID: 78126
[*] Suspending process...
[*] Getting task port...
[+] Task port: 8195
[*] Enumerating memory regions...
[+] Found 24 regions (2 executable)
[*] Scanning for feature_is_on pattern...
[+] Found feature_is_on at: 0x10103f210
[+] Patch successful!
[*] Resuming process...
[+] Robot server should be enabled on port 8080

[*] Traktor is running. Press Ctrl+C to quit.

Verification

Both methods enable the RPC server on port 8080. Test with:

curl -s http://127.0.0.1:8080 -d '<?xml version="1.0"?><methodCall><methodName>Get Property Double</methodName><params><param><value><string>app.traktor.masterclock.tempo</string></value></param></params></methodCall>'

If you get an XML response, you're all set.

Related

  • traktor-overlay - WebSocket server + browser overlay that shows the currently playing track. Uses this project's RPC server to read deck state from Traktor.

Building from source (optional)

swift build -c release

Binaries will be in .build/release/.

About

Control Traktor Pro remotely: decks, mixer, effects, browser.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors