ETC Eos CSV Import

 
 

Explanation

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

  1. In ETC Eos, go to file… export… csv… then select a location to export

  2. Then click “Deselect All”

  3. And then click “Cues” so only cues will be exported. You can leave the other settings as they are. Then click OK.

Script

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.

Download QLab Workspace Here

--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 7/10/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