qlab_CompanionScoreKeeping is a Bitfocus Companion page for simple two-team scorekeeping designed to integrate with QLab.
It allows an operator to increment and decrement scores for Stage Left and Stage Right teams using Companion buttons, while QLab Text Cues display the scores on screen.
Scores are stored in Companion variables and sent to QLab using an AppleScript cue, allowing the on-screen display to update instantly.
This setup works as follows:
Bitfocus Companion
↓
Companion Variables
↓
QLab Text Cue Names
↓
Qlab Applescript Cue
↓
Qlab Text Cue Contents
↓
Project Scores On Video Stage
The Companion page controls score changes while QLab handles the visual display of the score.
- QLab (macOS)
- Bitfocus Companion
- A QLab workspace connected to Companion
- The files included in this repository
In Bitfocus Companion, create the following custom variables:
| Variable | Purpose |
|---|---|
stageLeftScore |
Stores the score for the Stage Left team |
stageRightScore |
Stores the score for the Stage Right team |
scoreIncrement |
Amount added or subtracted when score buttons are pressed |
These variables are used by the Companion buttons included in the repository page.
Create a new Cue List in your QLab workspace that will contain the cues used for score display.
Create an AppleScript Cue and paste in the contents of the file:
Set the cue number to:
ScoreUpdate
This cue updates the QLab Text Cues using the values received from Companion.
Create a Timeline Cue with the cue number:
ScoreShow
Inside this timeline, create two Text Cues:
| Cue Number | Purpose |
|---|---|
ScoreSL |
Displays the Stage Left score |
ScoreSR |
Displays the Stage Right score |
Both text cues must start with an opacity of 0%.
This ensures the scores are hidden until the show cue runs.
Inside the ScoreShow timeline you must add Fade Cues that fade both text cues:
Opacity: 0% → 100%
Duration: 1 second (recommended)
These fade cues are required for the score display system to work correctly, as they control when the scores appear on screen.
The appearance of the score text can be customized however you like.
Recommended styling:
- Large font
- White text
- Drop shadow
- Positioned opposite each other at the bottom of the screen
This styling is optional and does not affect functionality.
Create another Timeline Cue with the cue number:
ScoreHide
Inside this timeline add the following cues for both ScoreSL and ScoreSR:
- Fade Cue
- Stop Cue
The fade cues should have the following settings:
Opacity: 100% → 0%
Duration: 1 second
This timeline hides the score display and stops the text cues.
Once the QLab cues and variables are configured:
- Import the Companion Page included in this repository.
- Confirm the variable names match:
stageLeftScore
stageRightScore
scoreIncrement
- Ensure Companion is connected to your QLab workspace.
Once setup is complete:
- Use the Companion buttons to adjust team scores.
- Companion updates the score variables.
- Companion triggers the
ScoreUpdatecue in QLab. - The Text Cues update automatically on screen.
To control visibility:
| Cue | Function |
|---|---|
ScoreShow |
Fade the score display onto the screen |
ScoreHide |
Fade the score display off the screen |
You can easily adapt this system for different shows:
- Change fonts, colours, and positioning in QLab
- Adjust fade durations
- Add animations or backgrounds
- Extend to support more teams or rounds
This project is licensed under the MIT License.
- Unity Beach, Brean, UK