Save lighting current state and restore

165 views
Skip to first unread message

Andrew Newton

unread,
Jan 29, 2023, 4:10:20 PM1/29/23
to QLab
Hi all.
What is the best way to save whatever state my lighting is currently in, then run the next cue, then restore the levels from saved state?
I just can't work it out.
I can do it all manually, but there must be a better way, I have dozens of cues I need to do this on.
Thanks in advance for any guidance.
Andrew.

Chris Ashworth

unread,
Jan 30, 2023, 6:19:43 AM1/30/23
to ql...@googlegroups.com
Hi Andrew,

If I’m understanding your question, I think one basic way to do this is to save your light dashboard state into a new cue, and then re-run that cue if you want to go back to that state.

Can you describe in more detail the goals of your workflow here?  What is the saved state that you are returning to after each cue?

Best,
Chris

Andrew Newton

unread,
Jan 30, 2023, 6:44:36 AM1/30/23
to QLab
Thanks Chris for the response, much appreciated. I have been using QLab for a few years (and love it), but this one particular issue crops up again and again, and I just know there must be a cleverer way to do it :-)

My show needs (for example) a lightning flash at certain times by strobing particular fixtures for half a second.
I could have cues like:
  1. Scene lightning
  2. Lightning flash
  3. Scene lighting
and this is exactly what I am doing at the moment.
My issue is, if I modify cue 1 at all, I need to also modify cue 3 or there will be a difference before and after the flash.

What I really want to do it
  1. Scene lighting
  2. Save state
  3. Lightning
  4. Restore state
That way, if I change cue 1 it doesn't matter.

Imagine this x20 in the show, and you can see why it's winding me up :-)

I am absolutely sure I saw some scripting code a long time ago that addressed this function, but can't find it now, sadly my scripting skills are lacking, my ability is limited to 'borrowing' the hard work of others.

Any thoughts?

Sam Kusnetz

unread,
Jan 30, 2023, 9:09:42 AM1/30/23
to ql...@googlegroups.com
Hello Andrew

The solution here is to understand the difference between Light cues which “collate” and those which don’t, and also to understand the difference between “new cue with all” and “new cue with changes.

On Jan 30, 2023 at 6:44:36 AM, 'Andrew Newton' via QLab <ql...@googlegroups.com> wrote:
My issue is, if I modify cue 1 at all, I need to also modify cue 3 or there will be a difference before and after the flash.

What I really want to do it
1. Scene lighting
2. Save state
3. Lightning
4. Restore state

That way, if I change cue 1 it doesn't matter.

No scripting is required to create this series of cues! Here’s how to do it:

Step 1: use the Light Dashboard to create the look for "1. Scene lighting." Once you get it how you want it, click “new cue with all” in the Light Dashboard. This creates a cue that contains commands for every parameter of every instrument in your show. This cue is, effectively, a blocking cue, because running it positively tells every light what to do.

Step 2: use the Light Dashboard to create the look for "2. Save state.” Now, either click “new cue with all” to make another blocking cue, or click “new cue with changes” to record a cue that contains ONLY the levels you changed in the Dashboard. If you create a “new cue with changes,” you can later go back and adjust the levels in cue 1, and those changes will track through cue 2. It’s a matter of preference here. Once you’ve made this cue, look in the Levels tab of the inspector and make sure to check the box labeled “collate,” which will allow you to run this cue without running cue 1, and still see the full stage look as though you had run cue 1.

Step 3: use the Light Dashboard to create the look for “3. Lightning” and then click “new cue with changes” to create a new cue. When you run this new cue, it will add the lighting on top of whatever else is up.

Step 4: use the Light Dashboard to create an inverse cue for “3. Lighting”… that is to say, whatever levels were brought up in cue 3, bring them back down. Then record a new cue with changes.

Step 5: set cue 3 to auto-follow or auto-continue with a post-wait time of your choosing.

That’s it. Now you can run cue 1 to start the scene, cue 2 to get to the “saved state,” cue 3 to see lightning, and it will follow or continue to cue 4 which takes the lightning out, leaving the stage looking like it did before.

To put more lighting in the show later, just copy/paste cues 3 and 4.

I hope this helped! Please feel free to ask more questions!

Best
Sam

Sam Kusnetz (he/him) | Figure 53


Andrew Newton

unread,
Jan 30, 2023, 10:35:03 AM1/30/23
to QLab
Hi Sam, thanks for the response.

Unless I am completely misunderstanding, in your solution cue 4 is undoing cue 3, but, there isn’t an un-do as such, you have to know what the levels were before you start, so my ’save state’ step is meant to save the current state to variables, whatever that might be.

Assume I just have one single multi-function LED fixture. Cue 1 sets this to Red for example, but I want to be able to change this on-the-fly. I want cue 2, 3 and 4 to run in a timeline, cue 2 reads the fixtures current parameters and stores them in some sort of variable array. Cue 3 then changes the fixture to strobing bright white for half a second. Cue 4 restores the fixtures parameters colour stored in the variable, so the state was after cue 1 will be restored by cue 4 and I don’t need to go back and reset a load of stuff in cue 4, it’ll just automatically know where I was when I started. 

Below is what I am trying to achieve slightly reworded for clarity, and these are the actual cues I am trying to create, not the process I am following to create them. In reality  cue 2, 3 & 4 would be grouped:

CUE 1 - Scene lighting - sets the ambience for the whole scene

CUE 2 - Save the current lighting state to variables 

CUE 3 - Lightning flash

CUE 4 - Restore to the state saved in CUE 2.
   

The actual problem is that I have lots of cues in a show, and I want to call a ‘flash’ from anywhere, using the same fixtures I use for the scene lighting. I definitely know how to achieve the effect manually, but i'm frustrated by my own inefficiency.

I can’t try your suggestion right now, but will do tonight step-by-step, so apologies in advance if it does actually work, but I am not holding out much hope.

Again though, many thanks for the response.
A.

Chris Ashworth

unread,
Jan 30, 2023, 10:46:14 AM1/30/23
to ql...@googlegroups.com
Hi Andrew,

I won’t speak to Sam’s example because he’s more an expert than I in the actual usage of QLab, but it strikes me this speaks to a conversation we’ve had internally about introducing a concept of “layers” for lighting, so that you could manipulate values of light on a layer “above” another layer, but then reveal the underlying layers again later without having modified them when working on the “higher" layer. We have an issue tracking this idea (one which Sam proposed internally as far back as 2018) so I’ll add this email chain to that issue tracker for our further pondering.

Another concept that might be useful here in some cases is a plain old Start cue, to re-run a cue again after an effect is done to restore the state of that cue without having to rewrite it or update two cues if it changes

Cheers,
C

Sam Kusnetz

unread,
Jan 30, 2023, 10:56:55 AM1/30/23
to ql...@googlegroups.com
Hi Andrew

To achieve this, you could skip my “restore” cue 4 and instead program it like this:

Cue 1 - scene lighting
Cue 2 - program ONLY the levels necessary for the lightning effect
Cue 3 - Start cue targeting cue 1.

Much simpler than storing variables or anything else, and also a little more ideologically pure because it literally just re-runs the cue that contains the scene lighting, so it is necessarily an exact restore.

Best
Sam

Sam Kusnetz (he/him) | Figure 53

--
Contact support anytime: sup...@figure53.com
Follow QLab on Twitter: https://twitter.com/QLabApp
User Group Code of Conduct: https://qlab.app/code-of-conduct/
---
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 on the web visit https://groups.google.com/d/msgid/qlab/CADv1a4_soibSyANWpLb%3Dp3Qi5BeGyJ9saSELQMF5Sq9M4rZ4YQ%40mail.gmail.com.

Andrew Newton

unread,
Jan 30, 2023, 11:04:28 AM1/30/23
to QLab
Thanks Chris, yes the idea of layering scenes does sound intriguing. If I understand you correctly it would be the top-most layer that would take precedence, and you could switch a layer on and off, revealing the underlying layer, like a painting program. You could also have the concept of transparent layers, so if a particular parameter isn't set in an upper layer, it is inherited "shows through" from below. I'm guessing this would be tricky to code, but wow :-).
Incidentally, my example of a 'flash' also applies to a blackout, I hate doing a blackout cue because I know I need to subsequently remember if I change the pre-blackout state, I then need to change the post blackout state.
So in your layers example I could just switch on an opaque blackout layer, then when it was switched off again the previous scene would be restored. Counter-intuitive perhaps but very powerful.
My problem is more to do with my workflow than QLab, trouble is I rarely get a tech run, I have to make a series of educated guesses pre-show, then fine-tune live. Not ideal, but hopefully you see why if I could crack this one issue it would make life sooooooo much easier.

Thanks again. 
A.

Andrew Newton

unread,
Jan 30, 2023, 11:10:11 AM1/30/23
to QLab
Thanks Sam, actually that feels right, and much simpler.
So when I change the scene lighting it is 'retained' because I am re-running the same cue that I edited. I like it.
I think I was over-thinking it.
I'll try that out tonight.

Risky re-writing the code in the middle of our pantomime run, but who dares wins :-)

Many thanks.

Mike Post

unread,
Jan 30, 2023, 11:16:10 AM1/30/23
to 'Rich Walsh' via QLab
Now that's interesting...

If I'm following you, Chris, it sounds like a nice metaphor to explain a concept in lighting consoles that people find very confusing.  HTP and LTP are two "modes" that various elements of a console will allow.  HTP is Higher Take Precedence and LTP is Last Take Precedence.  With consoles that will support multiple cues running simultaneously, HTP will mean that a channel will be set to the highest level amongst all the cues.  For LTP, the last executed cue has control of the channel and sets the value.  It sounds like you are conceiving a version of LTP for your layers.

The intent behind HTP, I believe, is about maintaining non-intensity DMX channels so you can for example keep the Pan/Tilt constant and vary the intensity.  

I'm only bring this up because of the generation of people who are trained in other lighting control besides QLab in hopes I can find some common concepts to help explain things to them.

Mike Post

Andrew Newton

unread,
Jan 30, 2023, 2:46:11 PM1/30/23
to QLab
Thanks Sam, it turns out to be far simpler than I was imagining it to be.
So now, my workflow will be to set the scene lighting for each scene and squirrel them away in a separate 'Scenes' cue list.
Then, run the appropriate scene with a 'Start' cue as necessary from my 'Main' cue list, then whenever I run a 'modifier' like a lightning flash, or bringing up a spot, I'll be able to un-do the change easily by just re-running the scene cue.
And any change to the scene cue won't need replicating. This is going to save me so much time and effort.
Simples.
Thanks so much Sam and Chris for your help. 

Andrew.

Reply all
Reply to author
Forward
0 new messages