This project is designed to take a list of cues from a spreadsheet (in CSV format) and populate a QLab cue list with them using OSC. QLab from CSV is not associated with Figure 53.
Xcode
for compiling the project.QLab 3
(tested with3.1.6
).- Whilst it is theoretically possible to run qlab-for-ruby over a network, it is recommended to run the QLab instance on the same machine.
- Compile the source code using Xcode and run it.
- In the "Server" drop-down box, select the machine which you want to connect to.
- In the "Workspace" drop-down box, select the QLab workspace on that machine.
- Click "Connect"
- Select any "Cue List" (not yet functional)
- In QLab, navigate to the cue list you want to append to (clear any previously generated cues).
- Click "Browse" and locate the CSV input file (see below, "CSV Syntax")
- Click "Append"
All cues will then be appended to the cue list.
The CSV file should be UTF-8 encoded and have the following columns (the order doesn't matter):
QLab
- The unique cue number for the cue in QLab. Required.LX
- The cue number to trigger on an Eos desk.Sound
/Video
- The cue number of the cue to start in QLab (starts cue number prefixed byS
orV
respectively).Comment
- Comment to add to the description of the cue.Page
- Page number to add to the description of the cue.
There should be a header row with the column names (as above) at the top of the file.
The LX
/Sound
/Video
accepts instructions which conform to the following rules:
- The value can be empty (this means nothing is done).
- The instruction can be to fire a single cue, identified by a number which can contain letters, numbers, underscores and decimal points (such as
1.32a_v2
). - Multiple cues can be fired in a single instruction by joining cue numbers with a comma (e.g.,
1,2
fires1
and2
at the same time). - Whitespace (spaces, tabs etc.) in lists are ignored (e.g.,
1, 2
is identical to1,2
). - Cues can be delayed by appending
/dX
(where X is the number of seconds to pre-wait) to a cue number (e.g.,1/d5
fires1
after 5 seconds).
For example, 1, 2/d3.2
fires 1
immediately then 2
after 3.2 seconds.
As a regular expression:
^(\s*[\w.]+(/d[\d.]+)?\s*(,\s*[\w.]+(/d[\d.]+)?\s*)*)?$
An example of a valid file is sample_cues.csv
in this repository.