Bitfocus AS
logo
logo
Bitfocus AS
logo
logo
Sign upSign in

Loading...

Bitfocus

Subscribe to our newsletter

The latest news, articles, and resources, sent to your inbox.

FacebookInstagramGitHubYouTubeLinkedIn

Products

  • Buttons
  • Companion

Integrations

  • Supported Devices
  • Developer Community
  • Connection Development

Support

  • Support Overview
  • Documentation
  • Video Tutorials
  • Community Forum

Sales

  • Resellers & Integrators
  • Buttons Pricing

Updates

  • Case Studies
  • Events & Trade Shows
  • Press Releases
  • Product Updates
  • Webinars

Legal

  • Legal Overview
  • Privacy Policy
  • Buttons EULA
  • Terms & Cookie Policy

Company

  • About us
  • Press kit
  • Careers

© 2026 Bitfocus AS. All rights reserved.

  1. Connections
  2. Figure 53 - QLab with feedback

Figure 53

QLab with feedback

Communityv2.15.0Updated 5 hours agoPlayback
DocumentationReport an issueView on GitHub

Documentation

Help for the QLabFB module

What does QLab do? QLab makes it simple to create intricate designs of light, sound, and video for live performance. When you are done designing, switch to “show mode” and run your show just by pressing “GO”.

The software is available at QLab.app. You can try QLab for 2 channel audio and 1 screen video without needing a license.

Due to the nature and volume of information feedback and variables are only available in TCP mode. This may cause a noticible increase in network traffic.

This is being updated and maintained for QLab5. QLab 4.7 compatibility is checked and will be continued when possible. While QLab3 is detected, some features may not work.

Notice!

QLab versions 5.2 and onward will require version 2.1.0 or newer of this module! See below for OSC passcode warnings.


Contributions for development and maintenance of this open source module are always welcome https://github.com/sponsors/istnv


Configuration

SettingDescription
Target Host/IPEnter the hostname or IP address of the QLab computer. You can enter 127.0.0.1 if Companion is running on the same computer.
Target PortEnter the port number where QLab is listening for OSC messages. This defaults to 53000. Has no effect on QLab4 (or QLab3)
Use TCP?Check to enable TCP mode. This is required for variables and feedback.
Use Tenths?If checked, the variable r_left will display 0.1 seconds when less than 5 seconds. If unchecked, the time left will be adjusted by 1 second for a more accurate count-down.
Expose Cue Name Variables?The cue name variables for all cue numbers and IDs are not normally visible in the list of variables window. Enabling this will show them which could clutter the list with hundreds of variables.
OSC PasscodeEnter a passcode if needed for the QLab workspace. QLab 5 requires a passcode to work reliably from Companion.
WorkspaceDropdown selection to select a specific Workspace. You can enter 'default' or leave blank to control front-most workspace (if more than one is open) in QLab4. QLab5 commands go to all open workspaces. You can change the IP Control Port too allow multiple workspaces open at once.
Specific Cue ListDropdown selection to limit control to a specific cuelist.

Actions

ActionDescription
GoTell the current cue list of the given workspace to GO.
StopStop playback but allow effects to continue rendering. e.g., playback stops, but reverbs decay naturally.
PanicTell the workspace to panic. A panic is a brief gradual fade out leading into a hard stop. A double panic will trigger an immediate hard stop.
Panic In TimeTell the workspace to panic over time specified.
ResetReset the workspace. Resetting stops all cues, returns the playhead to the top of the current cue list, and restores any temporary changes made to cues (such as retargeting via a Target cue or adjustments using a "live" OSC method.)
NextMove the selection to the next cue (or cue sequence)
PreviousMove the selection to the previous cue (or cue sequence)
PausePause all currently running cues in the workspace.
ResumeUn-pause all paused cues in the workspace.
PreviewPreview the selected cue without moving the Playhead.
Audition GO'Audition' the current cue QLab5 Only
Audition Preview'Audition' Preview the selected cue without moving the Playhead. QLab5 Only
Toggle PausePause/Unpause selected cue
Pause Toggle (Cue/ID)Toggle pause mode for the selected cue. Unlike the built-in togglePause command, this one uses the state of the current cue
GoTo (Cue/ID)Move the playhead to (Cue/ID). Does not start the cue.
Select (Cue/ID)Select (Cue/ID).
Start (Cue/ID)Start (Cue/ID). Does not move the playhead. If the specified cue is playing, this command has no effect.
Stop (Cue/ID)Stops (Cue/ID) if Playing. Does not move the playhead.
Panic (Cue/ID)Panic (Cue/ID) if Playing. Does not move the playhead.
Panic (Cue/ID) In TimePanic (Cue/ID) over time specified if Playing. Does not move the playhead.
Show ModeEnable for Show Mode, Disable for Edit Mode.
Audition WindowShow or Hide the Audition Window.
Override WindowShow or Hide the Override Controls Window.
Master OverrideToggle or Set Master overrides. Enabling an override will open/show the Override Control window <br/><ul><li> QLab 4 and 5: Midi, MSC, SysEx, Timecode </li><li> QLab 4 only: OSC, Art-Net </li><li> QLab 5 only: Dmx, External/Local Network </li></ul>
Set Minimum GoSets the time for double-GO protection
Increase PrewaitIncreases the prewait time by given time for the selected cue.
Decrease PrewaitDecreases the prewait time by given time for the selected cue.
Increase postwaitIncreases the postwait time by given time for the selected cue.
Decrease postwaitDecreases the postwait time by given time for the selected cue.
Increase durationIncreases the duration time by given time for the selected cue.
Decrease durationDecreases the duration time by given time for the selected cue.
Increase Start TimeIncreases the Start Time by given time for the selected cue.
Decrease Start TimeDecreases the Start Time by given time for the selected cue.
Increase End TimeIncreases the End Time by given time for the selected cue.
Decrease End TimeDecreases the End Time by given time for the selected cue.
Set/Unset Infinite LoopSet / Unset the Infinite Loop property of the selected cue.
Set/Unset Hold last frameSet / Unset the Hold last frame property of the selected cue.
Set/Unset ArmSet / Unset the Arm property of the selected cue.
Set/Unset FlagSet / Unset the Flagged property of the selected cue.
Set/Unset AutoloadSet / Unset the Autoload property of the selected cue.
Set Continue ModeSets the continue mode of the selected cue.
Set Cue ColorSets the color of the selected cue.
Custom OSC CommandSend a custom OSC command to QLab. Useful for commands not yet implemented.<br/>If you use this, consider submitting a feature request to have the command added as a built-in action
Copy Unique Cue IDCopies the Unique ID of the cue at the Playhead to actions and feedbacks.

The next action or feedback inserted will have the Unique ID already filled in.

There are presets included for most of these actions.
Show Mode, Audition Window, Arm, Flag, and Autoload actions also have a Toggle option to invert the current setting of the cue.
For additional actions please raise a feature request at github

New Action Format

Some commands have been updated to a consolidated/scoped mode. Instead of three different 'stop' commands (global/cue number/cue id) the new commands have an option to choose where to apply the command. More commands will be added when time permits.

Commands implemented: Go, , Start, Stop, Arm

Variables available (TCP mode only)

VariableDescription
$(INSTANCENAME:q_ver)Version of QLab attached
$(INSTANCENSME:ws_id)Unique ID of the Default (first) workspace (May not be the 'frontmost' in QLab)
$(INSTANCENAME:n_id)UniqueID of the current Playhead Cue
$(INSTANCENAME:n_name)Name of the current Playhead Cue or [none]
$(INSTANCENAME:n_num)Number of the current Playhead Cue
$(INSTANCENAME:n_type)Cue Type of the current Playhead Cue
$(INSTANCENAME:n_cont)Continue mode of the Playhead Cue: <ul><li>NoC: No continue</li><li>Con: Continue</li><li>Fol: Follow</li>
$(INSTANCENAME:n_notes)First 20 characters of the Note on the Playhead Cue
$(INSTANCENAME:n_stat)Playhead Cue Status: "✕" if broken, "⏽" if loaded, "⏵" if running, "⏸" if paused, otherwise "·"
QLab5 adds a status for Auditioning "❲⏵❳"
$(INSTANCENAME:r_id)UniqueID of the current Running Cue
$(INSTANCENAME:r_name)Name of the current Running Cue or [none]
$(INSTANCENAME:r_num)Number of the current Running Cue
$(INSTANCENAME:r_notes)Note on the running cue
$(INSTANCENAME:r_stat)Running Cue Status: "✕" if broken, "⏽" if loaded, "⏵" if running, "⏸" if paused, otherwise "·"
QLab5 adds a status for Auditioning "❲⏵❳"
$(INSTANCENAME:r_hhmmss)Remaining time for Running Cue as "HH:MM:SS"
$(INSTANCENAME:r_hh)Hours left for Running Cue
$(INSTANCENAME:r_mm)Minutes left for Running Cue
$(INSTANCENAME:r_ss)Seconds left for Running Cue
$(INSTANCENAME:r_left)Shortest display time left for Running Cue. Shows .1 increments if tenths option set.
$(INSTANCENAME:r_secs)Seconds left for Running Cue. Can be manipuated with Companion functions
$(INSTANCENAME:e_secs)Seconds elapsed for Running Cue. Can be manipuated with Companion functions
$(INSTANCENAME:e_total)Total run time (seconds) for Running Cue. Can be manipuated with Companion functions
$(INSTANCENAME:s_count)Number of cues currently selected
$(INSTANCENAME:s_id)Unique ID of the selected cue (or the first ID if more than one cue is selected)
$(INSTANCENAME:s_ids)List of Unique IDs of all cues selected, separated by ':'
$(INSTANCENAME:c_color)Current cue Color as HEX RRGGBB
$(INSTANCENAME:min_go)Current value of double-go protection (in seconds)
$(INSTANCENAME:q_{num}_name)Name of cue number {num}. See below for certain restrictions.
$(INSTANCENAME:id_{ID}_name)Name of cue ID {ID}. See below for certain restrictions.
$(INSTANCENAME:q_{num}_elapsed)Elapsed time in seconds cue number {num}. See below for certain restrictions.
$(INSTANCENAME:id_{ID}_elapsed)Elapsed time in seconds of cue ID {ID}. See below for certain restrictions.
$(INSTANCENAME:q_{num}_id)Unique ID of cue number {num}. See below for certain restrictions.
$(INSTANCENAME:id_{ID}_num)Cue number cue ID {ID}. May be blank. See below for certain restrictions.

To use these, replace INSTANCENAME with the name of your module instance which starts as qlabfb unless you change it.

Feedback available (TCP mode only)

FeedbackDescription
Playhead Cue Color as BackgroundSets the button backgound to QLab color of the current playhead cue
Running Cue Color as BackgroundSets the button background to QLab color of the currently running cue
Cue Number Color as BackgroundSets the button background to QLab color of a specified cue
Colors for GO statusSet the button color for the GO button state: active or disabled via the double-go timer
Indicate Workspace ModeSet the button to indicate the QLab workspace mode: Audition (window on), Show Mode, Edit Mode
Indicate Audition Monitors OpenSet the button to indicate ALL Audition monitors are Open
Indicate Override Window OnSet the button to indicate Override Window is Visible
Indicate Master OverrideSet the button to indicate if the selected Override is Active (Turned off)
Show if ANY cue is runingSet the button to show when any cue is running
Show Cue # is RunningSet the button to show when a specific cue is running
Show Cue ID is RunningSet the button to show when a specific cue ID is running
Show Cue is ArmedSet the button to show when a specific cue is Armed
Show Cue is FlaggedSet the button to show when a specific cue is Flagged
Show Cue is SelectedSet the button to show when a specific cue is Selected

OSC

This module connects to QLab on port 53000 by default.

From QLab preferences OSC controls tab make sure you have the "Use OSC controls" checkbox ticked. QLab

QLab 5 configuration is under the Network / OSC Access page on the Workspace Settings window. QLab5

Note

QLab 5 creates new workspaces with a random OSC passcode which changes the module startup procedure. As a security measure, QLab will ignore any commands if an incorrect passcode is sent too many times in a row. This module has been designed to be robust and automatically recover from most network errors. To prevent QLab from locking out, this restart/retry function will stop when detecting an incorrect passcode. You will need to enter and save the correct passcode to restart the module.

Running cue examples

QLab can run many cues at the same time while Stream Deck has a limited number of buttons visible at once. So which one cue is the most useful to show on a button? This module looks for the most recently run (GO) cue and favors run all at once Group cues over other types of cues.

  • Using a video show... 5 slide cues overlap to build a final image. After 5 'GO's all 5 cues are 'Running' resulting in a 5 picture overlay. The last 'GO' cue in the sequence will be the 'Running' cue.
  • Now add 2 more screens with more images. Each transition (1 image for each screen) is now placed in a run all Group cue for list management. After the 5 group cues are run, QLab will show 20 cues active, 5 slides for each screen plus the 5 group cues. The last 'GO' Group cue will be the 'Running' cue.
  • If the last 'GO' Group cue is enter then run each, the most recent 'GO' cue in the group will be the 'Running' cue.

Cue Numbers / IDs

QLab allows almost any characters in a Cue Number. Some characters don't play well with OSC or Companion. Using '$', '(', or ')' in your Cue Number won't work if you want to use the q_{num}_name variable or the q_bg feedback.
Transport actions, variables, and feedbacks have an ID version that uses the QLab Unique Cue ID as the target instead of the Cue Number. QLab does not show this internal ID so there is a special action Copy Unique Cue ID that will temporarily insert the ID of the playhead/selected cue into the ID style actions.
The examples and descriptions use {num} as a place marker for the Cue or ID to use.
Do not enter the braces {}: To refer to Cue #10 you would enter q_10_name.

Details

Manufacturer
Figure 53
Product
QLab with feedback
Latest Version
v2.15.0
Authors
John A Knight Jr
Per Røine
Contributors
istnv(170)
JeffreyDavidsz(25)
Julusian(13)
krocheck(11)
RoyalNautilus(5)

Open Issues and Requests

robertskiba#221 Add Bonjour discovery for QLab computersFRNCH95#217 [BUG] /cue/active/valuesForKeys requests stack into a runaway flood, causing dropped/timed-out GO commandspaskateknikko#212 feat(feedback): add selected cue's audio output patch feedbackMachintrucm#211 [Feature]: Elapsed time variable for cue PrewaitAN2x4#201 [BUG] Custom OSC command doesn't handle OSC strings with multiple arguments

To file a new issue, you need to sign up for a user on GitHub.

Go to GitHub issues →

In other news

Buttons v1.8 Main with text

Buttons v1.8

October 2, 2026

Buttons v1.8 IBC award win

Bitfocus wins IBC2026 Best of Show Award for latest Buttons enhancements

September 21, 2026

Buttons v1.8 grey background

Biggest functionality boost yet makes Buttons the perfect platform for broadcast and media management

September 10, 2026

Vivid Buttons on screen

Bitfocus Buttons makes complex OB production feel simple

August 10, 2026

View all news →

More from Figure 53

GoButton with feedback

Figure 53

Community
View Connection

QView

Figure 53

Community
View Connection