ETC Eos CSV Import (QLab 4)
Updated: Jun 28
Export CSV cue sheet from ETC Eos family console, and import to QLab.
This script will have you select a CSV file. No need for a separate spreadsheet editing application.
Exporting CSV from ETC Eos
In ETC Eos, go to file… export… csv… then select a location to export
Then click “Deselect All”
And then click “Cues” so only cues will be exported. You can leave the other settings as they are. Then click OK.
Copy the text to the right, and paste it into a script cue in your QLab workspace. I recommend assigning it a hotkey, or I like to give each script cue a unique cue number using letters, and then trigger it from Bitfocus Companion.
--original by Jack Baxter, then by Chase Elison, Modified by Taylor Glad, then parsing modifications by Taylor Glad after some examples from Mic Pool. Updated 6/17/21
--Script will prompt you for a csv file. You don't need Microsoft Excel.
set TheFile to choose file of type "csv" with prompt "Please select your exported CSV Cue List from EOS" set theFileContents to read TheFile set thetids to AppleScript's text item delimiters set AppleScript's text item delimiters to "," set thenumberofrows to count of paragraphs of theFileContents set cueCount to 0 tell application id "com.figure53.QLab.4" to tell front workspace --set namePrefix to the text returned of (display dialog "What prefix would you like for the cues? (e.g. Q1, Light Cue 1, LQ1...)" default answer "EOS" with title "ETC Eos CSV to OSC" with icon 1) set namePrefix to "EOS" make type "cue list" -- or make a group cue instead of a cue list. You'll have to "un-comment" 2 lines below as well --make type "group" --set LXGroupQ to last item of (selected as list) --set the mode of LXGroupQ to fire_first_enter_group --set the q name of LXGroupQ to "Light Cues" --set the q number of LXGroupQ to "" --collapse LXGroupQ set q name of last cue list to "New Light Cues" set current cue list to last cue list whose q name is "New Light Cues" set NoHangOrFollow to true repeat with makeCues from 3 to (thenumberofrows - 2) --starts in 3 to skip the first 2 rows being used for labels set theRow to (paragraph makeCues) of theFileContents if (text item 2 of theRow as string) is "Cue" and NoHangOrFollow then if (text item 3 of theRow as integer) is not 1 then set visualQPrefix to (text item 3 of theRow as integer as string) & "/" else set visualQPrefix to "" end if if (text item 4 of theRow as string as real) mod 1 is 0 then set qNumStr to (text item 4 of theRow as integer) as string else set qNumStr to (text item 4 of theRow as string) end if if (text item 7 of theRow as string) is not "" then set lblTxt to " - " & (text item 7 of theRow as string) as string else set lblTxt to "" as string end if set qName to namePrefix & " " & visualQPrefix & qNumStr & lblTxt set qCmd to ("/eos/cue/" & (text item 3 of theRow as integer as string) & "/" & qNumStr & "/fire") as string make type "network" set theCue to last item of (selected as list) set q name of theCue to qName set the q number of theCue to "" -- or set to "L" & qNumStr if you want set the osc message type of theCue to custom set the custom message of theCue to qCmd set the patch of theCue to 7 set NoHangOrFollow to ((text item 24 of theRow as string) is not "F" and (text item 24 of theRow as string) is not "H") --set newQID to uniqueID of newQ --move cue id newQID of parent of newQ to end of LXGroupQ set cueCount to cueCount + 1 end if -- end if the Target Type is "Cue" on spreadsheet, and the previous cue does not have a follow/hang end repeat display dialog (cueCount as string) & " cues imported" with title "ETC Eos CSV to OSC" with icon 1 end tell set AppleScript's text item delimiters to thetids