On Oct 18, 2025, at 9:24 PM, Caleb Wildman <cwild...@gmail.com> wrote:
Hey all,
I'm going to be using QLab lighting to control some LED pixel tape for a Christmas light display this year. I'm looking to make a chase that goes through the whole thing, but this includes making a cue for every single pixel. Does anyone have a script that can easily create the hundreds of cues that I need quickly? I've tried making one myself (I'm no expert at scripting) but keep running into the issue of being able to increase the instrument number by one with every cue.Thanks for any help!
--
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.
To view this discussion visit https://groups.google.com/d/msgid/qlab/b943cc3e-7a01-41a3-a940-1eb895bb2d21n%40googlegroups.com.
-- make lighting chase - rough demo
-- [This will always be very slow as it uses mulitple nested loops to deal with parameters and fixtures]
-- adjust these parameters to suit
set fadeTime to 0
set steptime to 0.2
-- this is the name of the lighting fixture you are applying the effect to (see lighting patch)
set fixtureName to "Pix"
set startFixNum to 1
set endFixNum to 5
tell application id "com.figure53.QLab.5" to tell front workspace
--set nl to linefeed
-- define some parameters and values; for Pixel Tape LED colour states
set redled to {"red=100", "green=0", "blue=0"}
set greenled to {"red=0", "green=100", "blue=0"}
set blueled to {"red=0", "green=0", "blue=100"}
set whiteled to {"red=100", "green=100", "blue=100"}
-- define the background and foreground state
set bgState to greenled
set onState to redled
-- generate a rough description of the chase from the parameter changes
set AppleScript's text item delimiters to space
set cueDesc to (onState as text)
-- make a group to put all the light cues into
-- (keeps things together / tidy and also makes it easier to change timings later if required)
make type "Group"
set groupCue to last item of (selected as list)
set mode of groupCue to start_first
set stepNum to 1
-- multiple nested loops are always going to be slow in script (- maybe an external alternative or built in effects required!)
repeat with curfix from startFixNum to endFixNum
make type "Light"
set lxcue to last item of (selected as list)
set lxcmd to {}
repeat with fnum from startFixNum to endFixNum
set fixture to fixtureName & fnum
if fnum is equal to curfix then
-- current fixture should have the foreground stage applied for all parameters
repeat with pv in onState
-- this is not very obvious, better to use Record for clarify but probably be too slow
set end of lxcmd to fixture & "." & pv
end repeat
else
-- set the background stage for this fixture for all parameters
repeat with pv in bgState
set end of lxcmd to fixture & "." & pv
end repeat
end if
end repeat
-- set the lighting command for the cue
set AppleScript's text item delimiters to linefeed
set command text of lxcue to (lxcmd as text)
-- set the various timings of the lighting cue
set duration of lxcue to fadeTime
set pre wait of lxcue to steptime
set continue mode of lxcue to auto_follow
-- give the cue a meaningful name and move it into the group
set q name of lxcue to "chase (" & cueDesc & ") step " & stepNum -- fix & fixnum & " " & param & " at " & value
move cue id (uniqueID of lxcue) of parent of lxcue to end of groupCue
set stepNum to stepNum + 1
end repeat
-- remove the auto follow of the last light cue if you want a one-off sequence
--set continue mode of lxcue to do_not_continue
-- otherwise use a start cue to restart the group to give continious chase
make type "Start"
set startcue to last item of (selected as list)
set cue target of startcue to groupCue
move cue id (uniqueID of startcue) of parent of startcue to end of groupCue
set q name of startcue to "start/loop chase " & cueDesc
set q name of groupCue to "Lighting chase " & cueDesc
-- make a Stop cue targetting the group to stop the chase; assmuming you will program some other lighting state to follow this
make type "Stop"
set stopCue to last item of (selected as list)
set cue target of stopCue to groupCue
set q name of stopCue to "Stop " & cueDesc & " chase"
move cue id (uniqueID of stopCue) of parent of stopCue to after groupCue
end tell
On 20 Oct 2025, at 12:31, Mark Lohrey <mloh...@gmail.com> wrote:
I have never used QLAB for lighting, preferring to use MagicQ or QLC+ (lots of Qs!) as they offer great flexibility. I would be interested in what can be achieved with QLAB. I am sure you realise but those pixel strips can chew up universes pretty quickly. In a recent school production where I was using pixel tape for effects I think I was using about 6.
To view this discussion visit https://groups.google.com/d/msgid/qlab/7b90a864-8afa-4762-a704-3e3269ecf6a4n%40googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/qlab/245028f9-149b-42cd-acd0-f72a966dfe8bn%40googlegroups.com.