RE: [QLab] Digest for qlab@googlegroups.com - 2 updates in 1 topic

32 views
Skip to first unread message

Deirdre Parnell

unread,
Nov 18, 2025, 9:40:45 PM (5 days ago) Nov 18
to ql...@googlegroups.com, Deirdre Parnell

Hello all,

 

Just having grave concerns about upgrading V4.7 To V5.

 

1-main show MacbookPro-currently is MacOS Big Sur 11.7.10 (this is running the show at the moment on Qlab version 4.7)

2-back up Macbook Air-currently is Sequoia 15.6.1 (this is not opening on Qlab V 4.7)

3-creation device Macbook Air-currently on Sequoia 15.6.1(this is not opening Qlab v 4.7)

 

Support53 have been really great to me, they advised  me to upgrade to V5.  Except my drivers in the Sequoias will need to be reinstalled or update,  I do  not know what to do or how to do this.

 

Also, my existing Licence will now only serve two devices and I.am told I will need to purchase second Licence for my third device. Or swap one Licence between devices.  This I do to want to do. So will have to opt for a second Licence.

 

I am still unclear where to find the audio, video and MIDI drivers and how to update the drivers to make my Qlab compatible.  The existing shows crash on me trying to launch the workspace.

 

Am concerned about embarking upon the upgrade process

 

Has anyone else had this experience?

Can anyone help me with thinking of the drivers pronlem?

Cheers

Deirdre

 

 

 

From: ql...@googlegroups.com <ql...@googlegroups.com>
Sent: Wednesday, 19 November 2025 9:17 AM
To: Digest recipients <ql...@googlegroups.com>
Subject: [QLab] Digest for ql...@googlegroups.com - 2 updates in 1 topic

 

·      Export Lighting Cues - 2 Updates

Paul <paulthom...@gmail.com>: Nov 17 02:41PM -0800

Yes, you can export the lighting commands fairly easily. But it is more
difficult to get that data into a format EOS can import. You will need to
figure out the various parameters (apart from intensity) you are using
(colours, focus or whatever) and their equlivant EOS numbers. You also need
to export the cues and the levels in separate files as you need to import
these separately into EOS.
So the question becomes is it quicker to re-plot from scratch in EOS; just
depends on the scale of the show file.
 
The script below will export Lighting cue command from Qlab into 2 CSV
files which can be imported into EOS. It only handles red, green,blue and
intensity parameters (you can add others) and doesn't attempt to deal with
cues which reference another cue ("pallets") so if you've used those it
will almost certainly break. It will ignore any lighting cues which have a
non-numeric cue number as EOS only handles numeric cue numbers (so you
might want to adjust your workspace before using).
 
Also EOS csv import is not very robust and if you get the data wrong it
crashes. I have done minimal testing on this (just a few cues) and it works
but please back up your Workspace and make sure you understand what the
script does before running it.
 
-- Export lighting cues and levels to CSV for import into EOS
 
 
*tell* *application* *id* "com.figure53.QLab.5" *to* *tell* *front*
*workspace*
 
*set* nl *to* linefeed
 
-- define the mapping to EOS parameter numbers
 
-- if you are using more parameters other than RGB you will need to find
the number from EOS and add them here
 
-- note some parameter numbers can be 1000s (X-Focus) and this scheme may
be impractical in those cases.
 
*set* paramNames *to* *my* blankArray(14)
 
-- here we just assume only RGB fixtrues are in use
 
*set* *item* 1 *of* paramNames *to* "Intens"
 
*set* *item* 12 *of* paramNames *to* "red"
 
*set* *item* 13 *of* paramNames *to* "green"
 
*set* *item* 14 *of* paramNames *to* "blue"
 
---- initalise the first two rows for cues csv data
 
*set* ecuerows *to* {"START_TARGETS"}
 
*set* *end* *of* ecuerows *to*
"TARGET_TYPE,TARGET_TYPE_AS_TEXT,TARGET_LIST_NUMBER,TARGET_ID,TARGET_DCID,PART_NUMBER,LABEL,TIME_DATA,UP_DELAY,DOWN_TIME,DOWN_DELAY,FOCUS_TIME,FOCUS_DELAY,COLOR_TIME,COLOR_DELAY,BEAM_TIME,BEAM_DELAY,DURATION,ALERT_TIME,MARK,BLOCK,ASSERT,ALL_FADE,PREHEAT,FOLLOW,LINK,LOOP,CURVE,RATE,EXTERNAL_LINKS,EFFECTS,MODE,CUE_NOTES,SCENE_TEXT,SCENE_END,WIDTH,HEIGHT"
 
-- add the cue list target (at top and bottom)
 
*set* elistrow *to* *my* blankArray(37)
 
*set* *item* 1 *of* elistrow *to* 15 -- cue list target
 
*set* *item* 2 *of* elistrow *to* "Cue_List"
 
*set* *item* 4 *of* elistrow *to* 1 -- cue list 1
 
*set* AppleScript's text item delimiters *to* ","
 
*set* *end* *of* ecuerows *to* (elistrow *as* *text*)
 
-- define a default eos cue row
 
*set* decr *to* *my* blankArray(37)
 
*set* *item* 1 *of* decr *to* 1 -- cue target
 
*set* *item* 2 *of* decr *to* "Cue"
 
*set* *item* 3 *of* decr *to* 1 -- cue list 1
 
----- initalise the headers for levels CSV data
 
*set* elrows *to* {"START_LEVELS"}
 
*set* *end* *of* elrows *to*
"TARGET_TYPE,TARGET_TYPE_AS_TEXT,TARGET_LIST_NUMBER,TARGET_ID,TARGET_PART_NUMBER,CHANNEL,PARAMETER_TYPE,PARAMETER_TYPE_AS_TEXT,LEVEL,LEVEL_REFERENCE_TYPE,LEVEL_REFERENCE_TYPE_AS_TEXT,LEVEL_REFERENCE_LIST_NUMBER,LEVEL_REFERENCE_ID,FADE_TIME,DELAY_TIME,MARK_CUE,TRACK_TYPE,EFFECT"
 
-- define a default row for the levels data
 
*set* dr *to* *my* blankArray(17)
 
-- set common standard columns of EOS CSV output
 
*set* *item* 1 *of* dr *to* 1 -- target type
 
*set* *item* 2 *of* dr *to* "Cue"
 
*set* *item* 3 *of* dr *to* 1 -- cue list 1
 
-- loop through the lighting cues in this workspace
 
*repeat* *with* lxcue *in* (*cues* *whose* q type *is* "light")
 
-- get the cue number and check it is numeric (non-numeric cue numbers are
ignored)
 
*try*
 
*set* cueNum *to* q number *of* lxcue *as* *number*
 
*on* *error* errMesg
 
*display notification* errMesg with title "Non-numeric cue num " & cueNum
 
*end* *try*
 
-- catch the case where cue numbers are not numbers, otherwise this will
break
 
-- TODO you many want to remove 'LX' prefix if used here
 
*if* (*class* *of* cueNum *is* *integer*) *or* (*class* *of* cueNum *is*
*real*) *then*
 
-- put the cue data (cue num, cue name, duration) into its row
 
*set* ecrow *to* decr
 
*set* *item* 4 *of* ecrow *to* cueNum
 
*set* *item* 7 *of* ecrow *to* (q display name *of* lxcue *as* *string*)
 
-- this is the Up Time duration ...
 
*set* *item* 8 *of* ecrow *to* (duration *of* lxcue)
 
-- ... EOS supports lots of timings, so the duration is in the CSV file
again
 
*set* *item* 18 *of* ecrow *to* (duration *of* lxcue)
 
*set* AppleScript's text item delimiters *to* ","
 
*set* *end* *of* ecuerows *to* (ecrow *as* *text*)
 
*set* elrow *to* dr
 
-- get the lighting command text of the lighting cue (of the form ch =
level eg 8 = 45 each channel parameter on its own line)
 
*set* lxlines *to* *paragraphs* *of* (command text *of* lxcue *as* *string*)
 
*repeat* *with* cl *in* lxlines
 
*set* w *to* *words* *of* cl
 
*try*
 
*set* ch *to* *item* 1 *of* w
 
-- Qlab lighting commands sometimes include a parameter (eg red) but if
just intensity, it is omitted.
 
-- NOTE: if you have used references to other cues, this is not deall with
here and will break! or give unpredicatable results
 
*if* (*item* 2 *of* w) *is* "=" *then*
 
-- intensity
 
*set* lev *to* *item* 3 *of* w
 
*set* pnum *to* 1
 
*set* pdesc *to* "Intens"
 
*else*
 
-- non-intensity parameter
 
*set* pdesc *to* *item* 2 *of* w
 
*set* lev *to* *item* 4 *of* w
 
*end* *if*
 
-- grab the Eos parameter number (for rgb, pan, tilt etc) from the
paramNames list using custom function
 
*set* pnum *to* *my* indexOf(paramNames, pdesc)
 
-- update the essential columns in the eos row
 
-- col 4 is cue num, col 6 is channel, col7 is eos parameter num, col 8 is
param desc, col 9 is the level
 
-- 6 is ch, 7 is param num, 8 param desc, 9 is level
 
*set* *item* 4 *of* elrow *to* cueNum
 
*set* *item* 6 *of* elrow *to* ch
 
*set* *item* 7 *of* elrow *to* pnum
 
*set* *item* 8 *of* elrow *to* pdesc
 
*set* *item* 9 *of* elrow *to* lev
 
*set* AppleScript's text item delimiters *to* ","
 
-- append this data to the cumlative eos row data
 
*set* *end* *of* elrows *to* (elrow *as* *text*) *as* *string*
 
*end* *try*
 
*end* *repeat*
 
*else*
 
*display notification* "skiping cue as non numeric cue number"
 
*end* *if*
 
*end* *repeat*
 
*set* AppleScript's text item delimiters *to* ","
 
*set* *end* *of* ecuerows *to* (elistrow *as* *text*)
 
--set AppleScript's text item delimiters to linefeed
 
*set* *end* *of* ecuerows *to* "END_TARGETS"
 
*set* *end* *of* elrows *to* "END_LEVELS"
 
-- get the Worksapce name to use in file name
 
*set* AppleScript's text item delimiters *to* "."
 
*set* workspaceName *to* *first* *text item* *of* ((q number) *as* *string*)
 
*set* basename *to* workspaceName & "_export4Eos"
 
*set* AppleScript's text item delimiters *to* linefeed
 
*display dialog* "Export Lighting to EOS as CSV" & linefeed & basename &
linefeed & (ecuerows *as* *text*) with title "Export to file"
 
*end* *tell*
 
 
-- now export the lines to files for cues and levels
 
 
*set* cues_filepath *to* POSIX path *of* (*path to* *desktop*) & basename &
"_cues.csv"
 
*set* levels_filepath *to* POSIX path *of* (*path to* *desktop*) & basename
& "_levels.csv"
 
*try*
 
*set* myfile *to* *open for access* cues_filepath *with* write permission
 
*write* (ecuerows *as* *text*) & linefeed to myfile
 
--write (elrows as text) & linefeed to myfile starting at eof
 
*on* *error* e
 
*display dialog* e
 
*end* *try*
 
*try*
 
*set* myfile *to* *open for access* levels_filepath *with* write permission
 
*write* (elrows *as* *text*) & linefeed to myfile starting at *eof*
 
*display dialog* "Lighting data exported as CSV for EOS to " & nl &
cues_filepath & nl & levels_filepath with title "Export finished"
 
*on* *error* e
 
*display dialog* e
 
*end* *try*
 
 
*on* indexOf(myList, myitem)
 
*repeat* *with* n *from* 1 *to* length *of* myList
 
*if* *item* n *of* myList *is* myitem *then*
 
*return* n
 
*end* *if*
 
*end* *repeat*
 
*return* 0
 
*end* indexOf
 
 
*on* blankArray(numEl)
 
-- generate an array with num of elements
 
*set* A *to* {}
 
*repeat* *with* n *from* 1 *to* numEl
 
*set* *end* *of* A *to* ""
 
*end* *repeat*
 
*return* A
 
*end* blankArray
 
On Saturday, 15 November 2025 at 17:39:33 UTC Alexander R. Taylor wrote:
 

Alexander (Mailing List) Taylor <ataylo...@orcsd.org>: Nov 18 12:58PM

Thank you very much for sharing this. I'm looking forward to tweaking this and transferring the 78 cues we have now.
 
Thanks again,
Alexander
 
 
On Nov 17, 2025, at 5:41 PM, Paul <
paulthom...@gmail.com> wrote:
 
Caution - This email is from outside ORCSD. Do not click links or open attachments unless you recognize the sender and know the content is safe.
________________________________
Yes, you can export the lighting commands fairly easily. But it is more difficult to get that data into a format EOS can import. You will need to figure out the various parameters (apart from intensity) you are using (colours, focus or whatever) and their equlivant EOS numbers. You also need to export the cues and the levels in separate files as you need to import these separately into EOS.
So the question becomes is it quicker to re-plot from scratch in EOS; just depends on the scale of the show file.
 
The script below will export Lighting cue command from Qlab into 2 CSV files which can be imported into EOS. It only handles red, green,blue and intensity parameters (you can add others) and doesn't attempt to deal with cues which reference another cue ("pallets") so if you've used those it will almost certainly break. It will ignore any lighting cues which have a non-numeric cue number as EOS only handles numeric cue numbers (so you might want to adjust your workspace before using).
 
Also EOS csv import is not very robust and if you get the data wrong it crashes. I have done minimal testing on this (just a few cues) and it works but please back up your Workspace and make sure you understand what the script does before running it.
 
-- Export lighting cues and levels to CSV for import into EOS
 
tell application id "com.figure53.QLab.5" to tell front workspace
set nl to linefeed
 
 
-- define the mapping to EOS parameter numbers
-- if you are using more parameters other than RGB you will need to find the number from EOS and add them here
-- note some parameter numbers can be 1000s (X-Focus) and this scheme may be impractical in those cases.
set paramNames to my blankArray(14)
-- here we just assume only RGB fixtrues are in use
set item 1 of paramNames to "Intens"
set item 12 of paramNames to "red"
set item 13 of paramNames to "green"
set item 14 of paramNames to "blue"
 
 
---- initalise the first two rows for cues csv data
set ecuerows to {"START_TARGETS"}
set end of ecuerows to "TARGET_TYPE,TARGET_TYPE_AS_TEXT,TARGET_LIST_NUMBER,TARGET_ID,TARGET_DCID,PART_NUMBER,LABEL,TIME_DATA,UP_DELAY,DOWN_TIME,DOWN_DELAY,FOCUS_TIME,FOCUS_DELAY,COLOR_TIME,COLOR_DELAY,BEAM_TIME,BEAM_DELAY,DURATION,ALERT_TIME,MARK,BLOCK,ASSERT,ALL_FADE,PREHEAT,FOLLOW,LINK,LOOP,CURVE,RATE,EXTERNAL_LINKS,EFFECTS,MODE,CUE_NOTES,SCENE_TEXT,SCENE_END,WIDTH,HEIGHT"
-- add the cue list target (at top and bottom)
set elistrow to my blankArray(37)
set item 1 of elistrow to 15 -- cue list target
set item 2 of elistrow to "Cue_List"
set item 4 of elistrow to 1 -- cue list 1
set AppleScript's text item delimiters to ","
set end of ecuerows to (elistrow as text)
 
 
-- define a default eos cue row
set decr to my blankArray(37)
set item 1 of decr to 1 -- cue target
set item 2 of decr to "Cue"
set item 3 of decr to 1 -- cue list 1
 
 
----- initalise the headers for levels CSV data
set elrows to {"START_LEVELS"}
set end of elrows to "TARGET_TYPE,TARGET_TYPE_AS_TEXT,TARGET_LIST_NUMBER,TARGET_ID,TARGET_PART_NUMBER,CHANNEL,PARAMETER_TYPE,PARAMETER_TYPE_AS_TEXT,LEVEL,LEVEL_REFERENCE_TYPE,LEVEL_REFERENCE_TYPE_AS_TEXT,LEVEL_REFERENCE_LIST_NUMBER,LEVEL_REFERENCE_ID,FADE_TIME,DELAY_TIME,MARK_CUE,TRACK_TYPE,EFFECT"
 
 
-- define a default row for the levels data
set dr to my blankArray(17)
-- set common standard columns of EOS CSV output
set item 1 of dr to 1 -- target type
set item 2 of dr to "Cue"
set item 3 of dr to 1 -- cue list 1
 
 
 
-- loop through the lighting cues in this workspace
repeat with lxcue in (cues whose q type is "light")
 
 
-- get the cue number and check it is numeric (non-numeric cue numbers are ignored)
try
set cueNum to q number of lxcue as number
on error errMesg
display notification errMesg with title "Non-numeric cue num " & cueNum
end try
-- catch the case where cue numbers are not numbers, otherwise this will break
-- TODO you many want to remove 'LX' prefix if used here
if (class of cueNum is integer) or (class of cueNum is real) then
 
 
-- put the cue data (cue num, cue name, duration) into its row
set ecrow to decr
set item 4 of ecrow to cueNum
set item 7 of ecrow to (q display name of lxcue as string)
-- this is the Up Time duration ...
set item 8 of ecrow to (duration of lxcue)
-- ... EOS supports lots of timings, so the duration is in the CSV file again
set item 18 of ecrow to (duration of lxcue)
set AppleScript's text item delimiters to ","
set end of ecuerows to (ecrow as text)
 
 
 
set elrow to dr
-- get the lighting command text of the lighting cue (of the form ch = level eg 8 = 45 each channel parameter on its own line)
set lxlines to paragraphs of (command text of lxcue as string)
 
 
repeat with cl in lxlines
set w to words of cl
try
set ch to item 1 of w
-- Qlab lighting commands sometimes include a parameter (eg red) but if just intensity, it is omitted.
-- NOTE: if you have used references to other cues, this is not deall with here and will break! or give unpredicatable results
if (item 2 of w) is "=" then
-- intensity
set lev to item 3 of w
set pnum to 1
set pdesc to "Intens"
else
-- non-intensity parameter
set pdesc to item 2 of w
set lev to item 4 of w
end if
-- grab the Eos parameter number (for rgb, pan, tilt etc) from the paramNames list using custom function
set pnum to my indexOf(paramNames, pdesc)
 
 
-- update the essential columns in the eos row
-- col 4 is cue num, col 6 is channel, col7 is eos parameter num, col 8 is param desc, col 9 is the level
-- 6 is ch, 7 is param num, 8 param desc, 9 is level
set item 4 of elrow to cueNum
set item 6 of elrow to ch
set item 7 of elrow to pnum
set item 8 of elrow to pdesc
set item 9 of elrow to lev
set AppleScript's text item delimiters to ","
-- append this data to the cumlative eos row data
set end of elrows to (elrow as text) as string
end try
 
 
end repeat
 
else
display notification "skiping cue as non numeric cue number"
end if
end repeat
 
 
set AppleScript's text item delimiters to ","
set end of ecuerows to (elistrow as text)
--set AppleScript's text item delimiters to linefeed
set end of ecuerows to "END_TARGETS"
set end of elrows to "END_LEVELS"
 
 
-- get the Worksapce name to use in file name
set AppleScript's text item delimiters to "."
set workspaceName to first text item of ((q number) as string)
set basename to workspaceName & "_export4Eos"
set AppleScript's text item delimiters to linefeed
display dialog "Export Lighting to EOS as CSV" & linefeed & basename & linefeed & (ecuerows as text) with title "Export to file"
end tell
 
-- now export the lines to files for cues and levels
 
set cues_filepath to POSIX path of (path to desktop) & basename & "_cues.csv"
set levels_filepath to POSIX path of (path to desktop) & basename & "_levels.csv"
try
set myfile to open for access cues_filepath with write permission
write (ecuerows as text) & linefeed to myfile
--write (elrows as text) & linefeed to myfile starting at eof
on error e
display dialog e
end try
try
set myfile to open for access levels_filepath with write permission
write (elrows as text) & linefeed to myfile starting at eof
 
 
display dialog "Lighting data exported as CSV for EOS to " & nl & cues_filepath & nl & levels_filepath with title "Export finished"
on error e
display dialog e
end try
 
on indexOf(myList, myitem)
repeat with n from 1 to length of myList
if item n of myList is myitem then
return n
end if
end repeat
return 0
end indexOf
 
on blankArray(numEl)
-- generate an array with num of elements
set A to {}
repeat with n from 1 to numEl
set end of A to ""
end repeat
return A
end blankArray
 
On Saturday, 15 November 2025 at 17:39:33 UTC Alexander R. Taylor wrote:
Hello,
 
Is there a way to export the fixture values of each lighting cue? I'm trying to import the cues into an Eos system as CSV without rewriting the whole show.
 
Thanks,
Alexander
 
Sent from my iPhone!
 
--
Contact support anytime:
sup...@figure53.com
User Group Code of Conduct:
https://qlab.app/code-of-conduct/
 
Instagram:
https://www.instagram.com/Figure53
TikTok:
https://www.tiktok.com/@QLab.app
Bluesky:
https://bsky.app/profile/qlab.app
---
You received this message because you are subscribed to the Google Groups "QLab" group.
To unsubscribe from this group and stop receiving emails from it, send an email to qlab+uns...@googlegroups.com<mailto:
qlab+unsubscribe@googlegroups.com>.
To view this discussion visit
https://groups.google.com/d/msgid/qlab/0bc98121-28b0-4c27-88c9-ba417506eb64n%40googlegroups.com<https://groups.google.com/d/msgid/qlab/0bc98121-28b0-4c27-88c9-ba417506eb64n%40googlegroups.com?utm_medium=email&utm_source=footer>.
 
The Right-To-Know Law provides that most e-mail communications to or from School District employees regarding the business of the School District are government records available to the public upon request. Therefore, this e-mail communication may be subject to public disclosure.

You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to
qlab+uns...@googlegroups.com.

 

Philip Perkins

unread,
Nov 18, 2025, 10:07:50 PM (5 days ago) Nov 18
to ql...@googlegroups.com, Deirdre Parnell
simpleminded solution?  Make backup the Main, make “creation” the backup.  If your Macbook Pro isn’t upgradeable to an OS that can run V5 I feel your pain, but you can still “create” v4 QLABS that will get turned into V5 versions when saved on the other 2 machines….

phil p
To unsubscribe from this group and stop receiving emails from it, send an email to qlab+uns...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/qlab/27cf01dc58fd%24e0b300f0%24a21902d0%24%40bigpond.com.

Deirdre Parnell

unread,
Nov 18, 2025, 10:50:28 PM (5 days ago) Nov 18
to Philip Perkins, ql...@googlegroups.com, Deirdre Parnell

Thanks Philip it is very kind of you.

Will consider your proposition to change parentage of devices.

Am still scared to upgrade and don’t know about the drivers issues

Deirdre

Reply all
Reply to author
Forward
0 new messages