Coming from QLab
A QLab show comes across in one step: from the workspace file, or from QLab itself while it is running. The cues keep their numbers, names, colours, notes and timing, and a report says, cue by cue, what could not come across exactly.
1. From the workspace file
Cuerunner ▾ → Import QLab Workspace… → Choose Workspace
File…, and pick the .qlab5. A .qlab4 and a
.cues file work the same way. A workspace saved as a folder can be picked
by the file inside it. So can one of QLab 5's own backups, a
.qlab5backup from the backups folder beside the workspace, when
the workspace itself is lost: its audio is found from the workspace's folder, as it
would have been.
The show opens as a new show with no file of its own. Nothing is written to the QLab workspace or beside it. Save As keeps the new show where you choose, and closing without saving asks first, as it does for any show with unsaved changes. The audio device, MIDI port and other settings of this computer stay as they were: a QLab show's outputs name another machine's hardware.
Audio plays from where QLab kept it. QLab records each file relative to the workspace, so copy the workspace together with its audio folder and every cue plays straight away.
2. From a running QLab
For a show on a Mac you can reach over the network, a workspace whose last changes were never saved, or a QLab version whose files the import does not read. Cuerunner asks QLab for the show over QLab's own OSC interface, cue by cue.
- In QLab's workspace settings, let this computer in over OSC, with the workspace's passcode if it has one.
- In Import QLab Workspace…, type the Mac's address
(
127.0.0.1if QLab is on this computer) and the port, which is53000unless it has been changed. - Find Workspaces, pick one, type the passcode if it asks for one, and press Import from QLab.
The file paths QLab reports are where the audio is on that Mac, so the report lists the files as missing. Copy the show's audio folder across and use Find in Folder…, below.
3. Read the report
The report opens as soon as the show does. It lists every QLab cue type in the show, how many cues of it there were, and what each became. Below that, by cue:
| Heading | What it means |
|---|---|
| Placeholders | Cuerunner has no cue of this kind yet: video, camera, text, light, live input, MIDI file, timecode, the start/pause/load/reset/go-to/target/arm/disarm cues, and AppleScript. Each is a disarmed wait cue under the QLab cue's own number and name, so the running order keeps its shape, and its notes say what it was and carry what it held — the script, the light command, the file, the cue it targeted. Nothing is dropped. |
| Approximated | Mapped, with one thing that could not be carried exactly: a level above unity, a fade of level and pan at once, a group whose children chain in a way no Cuerunner mode does, a network patch that does not say where it sends. The line says which. |
| Retimed | Fires at the moment it fired in QLab, with its times written differently. See timing. |
Audio files says whether every file the show plays was found. For the ones that were not, Find in Folder… asks for a folder — the show's audio folder, a copy of it, a stick — and links every missing file it holds at once. It looks for each file by the path QLab knew it by, then by the last few folders of that path, then by its name, and never searches: two files with one name in different folders are never mistaken for each other. The bar across the top of the window relinks one file at a time, as it does for any show.
A show that went through Google Drive, a zip or a Windows copy often comes back with
some characters in its file names replaced: IT'S SURE A NICE VIEW HERE.mp3
arrives as IT_S SURE A NICE VIEW HERE.mp3. Where a file is not there
under its own name, Find in Folder takes the one file in that folder whose name
differs only by ' ’ : / ? " < > | * becoming _, or by how
an accent is encoded. When two files could both be it, it picks neither: the report
names them, and you relink that cue from its own bar.
What becomes what
| QLab | Cuerunner |
|---|---|
| Every cue | Number, name, colour (QLab's extra colours land in the nearest of the eight), notes, armed, pre-wait, continue mode, and QLab's own cue id. |
| Audio | Audio: the file, start and end, loops (an infinite loop is a vamp, released by a devamp), rate, master level and the pan its first two outputs make. Its slices come across as slices, on the same music: each marker where QLab put it, each slice's play count, and a slice set to loop for ever is a vamp. See slices. |
| Fade | Fade: its target, its length, level or pan, and stop target when done. The curve is an S-curve, QLab's own default. |
| Stop | Stop, on the same target. |
| Devamp | Devamp, on the same target. Devamp currently looping slice is what Cuerunner's devamp does: the vamp finishes the pass it is on and the music goes on into the next slice. Devamp looping cue is the same on a cue without slices; on one with slices the report says it moves on a slice. Start next cue when target reaches the end of the current slice has no Cuerunner equivalent and is reported; with stop target also ticked, the devamp stops its target at the end of the slice. |
| Group | Timeline is Timeline, each child at its pre-wait. Start random child is Random. Playlist is Sequence. Start first child and go to next cue is a Timeline when its children auto-continue into each other and a Sequence when they auto-follow. Start first child and enter into group is Playlist: one child per GO. |
| Wait | Wait, of the same length. |
| Memo | Memo, its name and notes kept. |
| MIDI | MIDI for note on, note off, control change, program change and SysEx, on the port the workspace's patch names; Show Control for MIDI Show Control's Go, Stop, Resume, Load and Reset. |
| Network (QLab 4: OSC) | OSC, to the host and port of the workspace's network patch, its arguments typed as QLab types them. |
| Cue list, second cue list, cart | Every QLab list is a cue list here, a tab of its own with its own GO, and keeps QLab's id, so a remote that sent /cue_id/{list}/go to QLab sends it here. Its cues are the list's running order, not a group inside it. The first list that is not a cart is the main list. A cart is a cart list, its tiles in the order the cart held them rather than at their grid places. |
Slices and vamps
A rehearsal track cut into slices in QLab plays the same here. QLab keeps a marker at the end of each slice with that slice's play count, and the piece after the last marker on its own; each count stays on the music it was set on. A slice set to loop for ever is a vamp, whatever count it shows, and the devamp aimed at the cue lets it finish its pass and moves on into the next slice. Select the cue and its markers are on the waveform, each slice with its count, ready to check or move — see slices, on the waveform.
QLab workspaces also hold slices set to play 0 times, which QLab's own documentation does not describe. Cuerunner skips them: the music goes from the slice before straight into the slice after, to the sample, and a last slice of 0 ends the cue where it begins. That reading comes from the shows themselves — a bar of 0 between two of 1, two copies of a cue that differ only by a last slice of 0 or 1, and a song whose devamps land on the bars they are named for only if the 0 after its count-in is not played — not from a QLab specification, so the report says so: listen through each sliced cue before the show. A cue with no markers and a single slice of 0 plays once.
A cue carries up to 128 slices. One QLab cut into more plays its first 127 markers and then straight through to the end, and the report says from where.
Timing
Do not continue is Advance None, auto-continue is On start and auto-follow is On end.
QLab's auto-continue fires the next cue a post-wait after this one starts acting. Cuerunner's On start fires the next cue the moment this one is fired, and reads no post-wait. So the next cue's pre-wait is written to include this cue's pre-wait and post-wait, which puts it at the same moment, and the report lists it as retimed. A group whose children auto-continue into each other becomes a timeline with each child where the chain reached it.
Next
Building a cue list covers the cue types and groups the show now has. The file formats reference has what the import reads, its limits, and what each refusal means.