Setup

Get the bridge running

The bridge is one Python file. It catches Traktor's broadcast metadata and MIDI clock, then republishes both as a WebSocket feed the renderer subscribes to.

01

Install Python deps

Python 3.9 or newer. Put both downloads in the same folder, then:

terminal
pip install -r requirements.txt
python vbuddy_bridge.py --list-midi

On macOS python-rtmidi may needxcode-select --install first.

02

Virtual MIDI port

macOS: open Audio MIDI Setup → Window → Show MIDI Studio → double-click IAC Driver → tick "Device is online".

Windows: install loopMIDI and create a port.

Re-run --list-midi; the port should now appear.

03

Traktor: MIDI clock

Preferences → Controller Manager → Add… → Generic MIDI.

  • Set Out-Port to your IAC / loopMIDI port.
  • Preferences → MIDI Clock → enable "Send MIDI Clock".
  • Start the master clock in Traktor (metronome panel).
04

Traktor: hotcues

Still in Controller Manager with the Generic MIDI device selected, Add Out… → Track Deck → Hotcue 1 State, repeated for hotcues 1–8.

DeckHotcues 1–8MIDI notes
AC1 → G136 – 43
BG#1 → D#244 – 51

Using different notes? Pass --cue-base <note>.

05

Traktor: broadcasting

Preferences → Broadcasting. This is how track names reach the bridge.

Address
127.0.0.1
Port
8000
Mount Path
/live
Password
anything
Format
Ogg Vorbis — lowest bitrate is fine

Activate broadcasting from the deck's broadcast button — Traktor only pushes metadata while the stream is live.

06

Run and connect

terminal
python vbuddy_bridge.py --midi "IAC Driver Bus 1"

Then open the visualizer and connect to ws://localhost:8765.

Rendering on a second machine?

render machine
# on the DJ laptop, note its LAN address
ipconfig getifaddr en0        # macOS
ipconfig                      # Windows

# in the renderer on the other machine, connect to
ws://192.168.1.42:8765
07

Prefer Resolume or VDMX?

The same bridge forwards everything over OSC, so you can drive a pro VJ host instead of the built-in renderer.

terminal
python vbuddy_bridge.py --midi "IAC Driver Bus 1" --osc 127.0.0.1:7000

Addresses: /vbuddy/bpm, /vbuddy/beat, /vbuddy/track, /vbuddy/cue.

Something not firing?

No MIDI ports listed
Enable the IAC Driver or create a loopMIDI port, then restart the script.
BPM stays at 0.00
Traktor's master clock isn't running — start it in the clock panel.
No track names
Broadcasting isn't active, or the port doesn't match --meta-port.
Cues do nothing
Check --cue-base matches the notes mapped in Controller Manager.
Remote renderer can't connect
Allow port 8765 through the DJ laptop's firewall.