QLab Integration

Control timecode playback from QLab using OSC network cues.

What You'll Learn

  • Configure BPTimecode to receive OSC from QLab
  • Create Network cues in QLab to control timecode
  • Set up two-way communication for status updates
  • Build a complete show control workflow

⏱️ Time: ~15 minutes

Prerequisites

  • BPTimecode installed and running
  • QLab 4 or 5 (Network cue license required)
  • Both machines on the same network (or same machine)

Step 1: Configure BPTimecode

First, note your BPTimecode OSC settings. By default:

  • OSC Port: 5051
  • HTTP Port: 5050

If BPTimecode and QLab are on different machines, note the IP address of the BPTimecode machine.

# Check your machine's IP
hostname -I  # Linux
ipconfig     # Windows
ifconfig     # macOS

Step 2: Add OSC Destination in QLab

  1. Open QLab and go to Settings → Network
  2. In the Destinations section, click +
  3. Configure:
    • Name: BPTimecode
    • Type: OSC Message
    • IP/Host: IP of BPTimecode machine (or 127.0.0.1 if same machine)
    • Port: 5051
  4. Click Done
📸 QLab Network Settings

Step 3: Create Playback Control Cues

Now create Network cues to control BPTimecode:

Play Cue

  1. Create a new Network Cue (press N)
  2. Set Destination: BPTimecode
  3. Set Message Type: OSC Message
  4. Enter Message: /bptimecode/slot/1/play

Stop Cue

  1. Create a new Network Cue
  2. Set Destination: BPTimecode
  3. Enter Message: /bptimecode/slot/1/stop

Jump to Timecode

  1. Create a new Network Cue
  2. Set Destination: BPTimecode
  3. Enter Message: /bptimecode/slot/1/timecode "01:00:00:00"

💡 Tip: Using Slot Names

You can reference slots by name instead of number:

/bptimecode/slot/Main TC/play

Step 4: Common OSC Commands

Here are the most useful commands for QLab:

Action OSC Message
Play /bptimecode/slot/1/play
Pause /bptimecode/slot/1/pause
Stop /bptimecode/slot/1/stop
Reset to 00:00:00:00 /bptimecode/slot/1/reset
Jump to timecode /bptimecode/slot/1/timecode "01:30:00:00"
Trigger preset /bptimecode/slot/1/preset "Act 2"

Step 5: Example Show Workflow

Here's a typical theater workflow using BPTimecode and QLab:

1

Pre-Show

Network cue: /bptimecode/slot/1/reset

Ensures timecode starts at 00:00:00:00

2

House to Half

Network cue: /bptimecode/slot/1/play

Starts timecode when show begins

3

Intermission

Network cue: /bptimecode/slot/1/pause

Pause during intermission

4

Act 2

Network cue: /bptimecode/slot/1/play

Resume timecode for Act 2

Two-Way Communication (Advanced)

For more complex shows, you can have BPTimecode send cues back to QLab using OSC Triggers:

  1. Configure QLab to receive OSC (Settings → Network → OSC Controls)
  2. In BPTimecode, create triggers that send /cue/N/go to QLab
  3. QLab will fire cues automatically when timecode reaches specific positions
# BPTimecode trigger sending /cue/10/go to QLab at 01:30:00:00
Timecode: 01:30:00:00
Destination: 192.168.1.50:53000
Address: /cue/10/go

Troubleshooting

Cues not firing?

  • Check that BPTimecode is running with OSC enabled
  • Verify the IP address and port in QLab match BPTimecode settings
  • Check firewall settings aren't blocking port 5051
  • Try 127.0.0.1 if both apps are on the same machine

Testing OSC connectivity

Use the oscsend tool to test manually:

oscsend 127.0.0.1 5051 /bptimecode/slot/1/play