A small collection of AppleScripts for QLab 5 that I use to make show-building faster.
All scripts are plain text — read them before you run them.
Sorts the cues inside the selected Group cue alphabetically by cue name (A–Z, then digits/symbols).
Use case: I keep playlists inside Group cues and want them sorted alphabetically by name regardless of cue number, without having to drag cues around by hand.
Behavior:
- Requires exactly one selected cue, and it must be a Group.
- Sorts only the immediate children of that group. Nested group cues are sorted like other immediate children, but their internal contents are untouched.
- Sort is case-insensitive. Names starting with a letter come before names starting with a digit or symbol.
- Cue numbers are ignored — only the cue name matters.
For each selected Audio cue, measures the audio file's integrated loudness with r128x-cli and sets the cue's main fader so the cue plays back at a target LUFS.
Use case: Mixed bag of source files at all kinds of levels? Select them all, run the script, walk away. Each cue's fader is set so it plays at your reference level (default -14 LUFS).
Behavior:
- Skips anything in the selection that isn't an Audio cue.
- Writes the measured LUFS and the applied dB adjustment into each cue's notes (so you can audit later).
- Two values at the top of the script are user-configurable:
theReferenceLevel— your target integrated LUFS (default-14).thefaderLevel— the dB the main fader should sit at for cues already at the reference (default0).
Requires r128x-cli installed at /usr/local/bin/r128x-cli. If yours lives elsewhere (e.g. /opt/homebrew/bin/r128x-cli on Apple Silicon), update the path in the script.
git clone https://github.com/alfarolabs/qlab-scripts.gitYou can keep the files anywhere — they're just plain .applescript source.
Pick whichever fits your workflow:
This is the fastest for repeated use. The script lives inside your workspace and you trigger it like any other cue.
- In QLab, create a Script cue.
- Open the script
.applescriptfile in Script Editor (or any text editor) and copy its contents. - Paste into the Script cue's editor in QLab.
- Click Compile. Save the workspace.
- Trigger the Script cue (GO, hotkey, MIDI, OSC, hardware key, etc.) whenever you want to run it.
Useful for one-offs or testing.
- Double-click the
.applescriptfile → it opens in Script Editor. - Make sure your QLab workspace is open.
- Click Run (▶) in Script Editor.
If you want it accessible globally:
- In Script Editor, open the file.
- System Settings → Control Center → Scripts Menu (enable it).
- Save the script into
~/Library/Scripts/so it shows up in the system Scripts menu.
For sort-group-alphabetically, I recommend assigning a hotkey to its Script cue inside the QLab workspace (in the cue's Triggers tab). One key, instant sort.
For normalize-lufs, the script shows a confirmation dialog before doing anything destructive, so a hotkey is safe too.
- Tested on QLab 5.5.10 on macOS (Apple Silicon).
- Should work on any QLab 5.x release; the AppleScript dictionary used here is stable.
- Will not work on QLab 4 (the dictionary differs; e.g.
setLevelis QLab 5).
- Always test on a duplicate of an important workspace first.
- AppleScript actions in QLab 5 are undoable (⌘Z), but better safe than sorry.
MIT — do whatever you want, no warranty.