Importing Que Names and Notes From Eos to Qlab

132 views
Skip to first unread message

blindeye 1995

unread,
Jun 27, 2024, 2:17:38 AM6/27/24
to QLab
Is It possible to write a function to import que names and their notes to network Ques?
Just dont want to label Stuff twice all the time :)

With King Regards 
Max

micpool

unread,
Jun 27, 2024, 2:27:02 AM6/27/24
to QLab
Import from where?

blindeye 1995

unread,
Jun 27, 2024, 2:34:29 AM6/27/24
to QLab
From Eos ( ETC Console) to Qlab
Like The Touch OSC Does it

Greetings Max

micpool

unread,
Jun 27, 2024, 4:53:46 PM6/27/24
to QLab
Let me first make it clear that my knowledge of EOs OSC doesn't really extend much further than firing EOS cues from QLab.

However, I can see that the TouchOSC Layout you linked to in your previous post uses

/eos/out/pending/cue/text 
and 

/eos/out/active/cue/text 

to get feedback from the EOS

These OSC messages are transmitted automatically every time the pending or active cue changes.

In this screenshot (and the attached screen recording)
Screenshot 2024-06-27 at 21.30.57.png
 
I have set up EOS to send its OSC output to port 9000 where it is received by OSCULATOR
 
Osculator translates /eos/out/pending/cue/text {text}  to /cue/EOS/notes {text} and sends it to QLab on port 53000 (OSC access has a no passcode route set in QLab)

So every time the pending cue changes, the notes of cue "EOS" change to the info for the pending cue, including its name.

You can also get information for cues by sending messages to EOS

You can probably do the same thing in EOS's OSC Router app if you prefer that to OSCULATOR.



If you wanted to have a hotkey in QLab that transferred the EOS  info into the notes of the QLab network cue cue that would fire a particular cue number you  could construct a table of all the cues in a cue list by first finding how many cues there are in the list with

/eos/get/cue/<cue list number>/count


and then use

/eos/get/cue/<cue list number>/index/<index number>  repeatedly to get the info for  each cue,  by incrementing the index.

Once you had that table, you could write a script that found what number the selected QLab network cue was going to fire by parsing the network cue's OSC message. The script would then look that up in your table and put the EOS info for that cue in the notes or.q name of that network cue.

But this is far from trivial to program and involves having a  far more complex intermediate app than OSCULATOR or OSC router  between EOS and QLab.

Someone else  may have a better solution, but having had a quick look at the EOS OSC implementation (which is quite extensive) I can't see an obvious way of doing it.

Mic



Screen Recording 2024-06-27 at 21.30.18.mov

blindeye 1995

unread,
Jun 27, 2024, 5:26:15 PM6/27/24
to QLab
let me explain what i mean.
Network Cues  names and Cue Notes Should be the Same On Both Devices.

For Example Eos cue 1 Name= Entrance Note= Wait 15 Sec After Door Closes.
I would like a Function to import names ( Labels in Eos) and Their Corresponding Notes to be Importet Automaticly
For Example I Create Like 120 Cues in Eos Label Them All Differently and each Their own Notes. And Then After light The Sound Will Be Choosen and automatet in the Show after Programming and Labeling The Light Cues ( This is Just the way that my artist Work).
So I Would Like to have a funtion that i say all network cues corresponding to a cue Import names and notes Automaticly that no matter where i look i have the same information on both screens ( light desk and Qlab) and if i have to update something i could just rerun the Function ( With a hotbutton for Example) and dont have to check everything Twice. My Artist isnt very Happy About that he has to wait around while i label things twice. It dosnt realy help that i am just learning Bash Scripting and i am Just in the beginning. So I can Look at an Apple Script and Think Looks like a Script for me but dont ask me what its doing. at Least at the Moment.

With King Regards 
Max 

micpool

unread,
Jun 27, 2024, 6:06:24 PM6/27/24
to QLab
Perhaps, I missed something but I thought you wanted similar information to that displayed on the touchpad layout you linked to available in QLab

I can’t see where that is displaying EOS notes, probably because there is no facility within EOS for notes to be sent via OSC.

If all the information is being entered into EOS first and you seem to be the person programming both, would it be more sensible to just make the QLab cue numbers  the same as the EOS cues, run the show from EOS and use EOS’s ability to, send QLab start cues automatically?

Or just, add, an extra monitor to  your EOS setup and put it next to your QLab screen.

I understood what you would like to do but I think  my previous post indicated that it would only be possible with  a huge amount of work and a custom intermediary application, and even then wouldn’t include the EOS notes.

But I may be wrong!




Mic

blindeye 1995

unread,
Jun 28, 2024, 12:29:00 AM6/28/24
to QLab
Yes Thats Correct i am Programming Both. But At Different Times ( nomaly First 2 Days Light days 3+4 Sound and Automation). My Lighting Desk Have 2 Screens But Maybe i have to explain how Our Cue Structure Nomaly Works. We Do Both at the same time we control Eos From Qlab And Qlab From EOS ( my artist wants ms Precision) But Sometimes There are Parts Of The show Where you have cues on sight and on text at the same time and our lighting desk is rotatet 90 degrees to the right facing the audience and the qlab macbook is right in front of me facing the stage. in Some situations you would have to look at the Text Stage Qlab And The Screen of the light desk At the Same Time. The Idea With The Cue Number is Nice but We Use OSC for our Automation so It Would Create A Cue Trigger Loop. So Just to Make The Information Available On The Qlab Screen ( Like we do for the past two Years) Would Help Me and my coworker ( who is not really into qlab or eos Programming) save time in programming. Because When I Programm These Things Nomaly like 15 People Waiting on me Just to Label Things Twice is a little Annoying to Them.

Greetings
Max

Paul

unread,
Jul 6, 2024, 5:14:17 AM7/6/24
to QLab
The way to do this is to *export* the cues from EOS as CSV and then use a script (demo below) to import the required info (cue num, label, notes) to Qlab.
In EOS from CIA choose Export - CSV - Desktop (double click). Click Deselect All, then click cues (so you just export the cues info) then click OK and give the file a name.  You should then have something like hamlet_cues.csv on the Desktop.
Then run this script, which will prompt you for the csv file to import and create cues using the cue number, label and notes from the EOS csv export.  This is a very simple demo, which makes group cues, which you can customerise to do what you need. (I use a form of this  script all the time to import cues and make Network cues in Qlab to trigger lighting cues).
[sorry I can't figure out how to format the Applescript] note because I've been lazy in not filtering lines this script will always display some errors at the end.

-- Import a CSV file of EOS cues make cues with same cue number and label

-- set the seperator, for CSV generally comma
set sep to ","

set myfile to (choose file with prompt "Please select a CSV file containing EOS cues" of type {"csv"} default location (path to desktop))

-- read the lines of file into an array
set myArray to every paragraph of (read file myfile)

set AppleScript's text item delimiters to sep
set cueinfo to {}
set errors to {}
tell application id "com.figure53.QLab.5" to tell front workspace
-- uncomment this if you want to make the cues in a different cue list
--set current cue list to first cue list whose q name is "EOS Imported"

repeat with myline in myArray
-- split the line into an array on the comma separator
set myitems to every text item of myline

-- get the EOS specific columns
try
-- check if this is a Cue item
if (item 2 of myitems) is "Cue" then
set lxcuelist to item 3 of myitems
set lxcuenum to item 4 of myitems
set lxlabel to item 7 of myitems
set lxdur to item 18 of myitems
-- need to check these values so not to create triggers for part cues or follow on cues
set follow to item 24 of myitems
set part to item 6 of myitems
set lxnotes to item 32 of myitems
set lxscene to item 33 of myitems
if lxlabel is "" then
set lxlabel to "(no label) "
end if

-- make cue (this demo uses group cues - adjust to suit)
make type "Group"
set newCue to last item of (selected as list)
set q number of newCue to "LX" & lxcuenum
set q name of newCue to lxlabel & " [" & lxnotes & "]"
set end of cueinfo to lxcuenum & " " & lxlabel
end if
on error errorMessage
set end of errors to errorMessage
end try

end repeat
set nl to linefeed
set AppleScript's text item delimiters to nl
display dialog (cueinfo as text) & nl & (length of errors) & nl & nl & " errors" & nl & (errors as text) with title "Made " & (length of cueinfo) & " EOS trigger cues"

end tell

Reply all
Reply to author
Forward
0 new messages