Lighting Pixel Tape Chase

98 views
Skip to first unread message

Caleb Wildman

unread,
Oct 18, 2025, 9:24:49 PM (12 days ago) Oct 18
to QLab
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!

Andy Dolph

unread,
Oct 18, 2025, 10:33:09 PM (12 days ago) Oct 18
to ql...@googlegroups.com, QLab
Can’t help with the script but curious with LED tape you are using if you don’t mind sharing.

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.

Caleb Wildman

unread,
Oct 19, 2025, 7:15:56 PM (12 days ago) Oct 19
to QLab
Haven't fully decided yet, but it's likely going to be this stuff

Mark Lohrey

unread,
Oct 20, 2025, 7:31:50 AM (11 days ago) Oct 20
to QLab
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.

Paul

unread,
Oct 20, 2025, 11:44:29 AM (11 days ago) Oct 20
to QLab
Ok, I'll bite! with the priviso that you don't do this as using nested loops in scripts will be very slow. There are also more effective programs than QLab for lighting, but understand if you only have limited needs it might be suitable. There are no built-in lighting effects in QLab. So here is a script which will create a simple colour chase for 5 RGB fixtures called 'Pix' in the patch (tested with some pixel tape but without a lighting license can only use 16 addresses). In theory you could use this approach to do a moving light chase but calculating the pan/tilt values required might be a lot of work.

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


Richard Grogan

unread,
Oct 20, 2025, 11:45:48 AM (11 days ago) Oct 20
to ql...@googlegroups.com, QLab
Have you thought about using an arduino to drive the tape and then use dmx relays to trigger the different effects on the arduino.
Used that to run a 5meter addressable strip for a production of The Ghost Train where I had a number of runs to simulate the train arriving, leaving and high speed run through the station.
There are a number of programs on the web you could probably utilise to get the chase.
Might be worth looking at.

Sent from my iPhone

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.

Johan

unread,
Oct 20, 2025, 5:07:38 PM (11 days ago) Oct 20
to QLab
I agree that using Qlab only to trigger a more suitable app seems like the most reasonable solution.
 
The strip you plan to use has 150 pixels with RGB.
In Qlab that would translate to 150 "Fixtures" each with three subchannels, - in all 450 channels to fiddle with.

I think a cheap solution could be to trigger a preset via a network cue to WLED for instance.
I haven't tried it but it seems doable - check out https://kno.wled.ge/

And maybe XLights can be triggered as well, I don't know but Its a free app, quite odd, but still more adequate and userfriendly for striplights than Qlab is 

Jeremy Lee

unread,
Oct 22, 2025, 7:08:46 PM (9 days ago) Oct 22
to ql...@googlegroups.com
So - maybe this will work, but maybe it wont. But assuming that the LED tape takes something like ART net, maybe you could use an OSC variable in a fade cue, send it to an OSC to ArtNet translator (in Node Red or some other environment) and have a much more flexible solution where tou could control the timing of your chase much more simply.
QLab OSC to ARtNet.jpg
Reply all
Reply to author
Forward
0 new messages