top of page
  • Writer's pictureTaylor Glad

ETC Eos CSV Import (QLab 4)

Updated: Jun 28, 2023

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.



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


471 views0 comments

Recent Posts

See All
bottom of page