Handling Focus

Ask a generic question about the usage of QLC+, not related to a particular operating system
Post Reply
TheBoogieKnight
Posts: 1
Joined: Mon Nov 27, 2017 9:59 pm
Real Name: Kris Smith

Hi everyone, it's great to be here and I hope it's ok that my first post is a range of questions on QLC!

It's kind of a complicated question but I'll try to keep it simple.

I have a range of lighting fixtures with focus control including a pair of Rogue RH1 fixtures. These fxtures can do beam and spot (as well as wash) and also have variable zoom ranges. I want to be able to have buttons to change to these different modes (probably buttons for the beam and spot gobos as well as small and large controls for zoom). They also have prisms which again require the unit to be refocussed. I could handle the focus with a matrix consisting of beam small, beam large, spot small and spot large on the X axis and Prism 1, Prism 2 and Prism 1+2 on the Y axis.

Is the any way to achieve functionality such as this in QLC? I'd prefer not to have millions of scenes for each focus scenario and have to call them individually everytime I pick a different gobo or zoom setting. Is it possible to create a script which constantly runs in the background and reads whether the fixture is in beam or spot mode, what zoom it's set to, and whether the prisms are engaged and set the focus to the correct value which I've stored in a matrix?

To complicate things further, I'll have some program that target walls and others the dance floor. Again each would need a different focus setting. Again, I'd prefer not to have to program this for every single scene I recall so I was hoping the script could just read a dummy DMX value set with movement scenes (perhaps using the address after the last used by the fixture) and again change focus accordingly.

Is there any way of doing the above in QLC? The alternative of programming this all in each independant scene just seems impossible. I do a massive range of venue and need a solution that is reasonably fast to enable.

If it can't be done in QLC, is there another solution I could use in tandem with QLC that can read the DMX values set by the program and change focus accordingly?

Thank you!
janosvitok
Posts: 1266
Joined: Mon Apr 13, 2015 7:05 am
Location: Bratislava, Slovakia
Real Name: Jano Svitok
Contact:

Can you provide some kind of formula that computes focus?
I suppose the focus depends on (case of RH1:
- distance from projection plane (wall/floor/...) in metres
- value of ZOOM (0-255/0-65535)
- value of BEAM DEFRACTION (0-255)
- whether GOBO1 or GOBO2 is used, no gobo or both
- whether PRISM1 or PRISM2 is used, no prism or both

One way to provide the information is to create table (a large one). Choose e.g. 3-4 values for ZOOM, 3-4 for BEAM DEFRACTION and 3-4 for distance.

NO GOBO|NO PRISM|BEAM DEFRACTION: 0%|ZOOM: 0%|Distance 3m|Focus: ???
NO GOBO|NO PRISM|BEAM DEFRACTION: 0%|ZOOM: 0%|Distance 7m|Focus: ???
NO GOBO|NO PRISM|BEAM DEFRACTION: 0%|ZOOM: 0%|Distance 15m|Focus: ???
NO GOBO|NO PRISM|BEAM DEFRACTION: 0%|ZOOM: 33%|Distance 3m|Focus: ???
NO GOBO|NO PRISM|BEAM DEFRACTION: 0%|ZOOM: 33%|Distance 7m|Focus: ???
NO GOBO|NO PRISM|BEAM DEFRACTION: 0%|ZOOM: 33%|Distance 15m|Focus: ???
NO GOBO|NO PRISM|BEAM DEFRACTION: 0%|ZOOM: 66%|Distance 3m|Focus: ???
NO GOBO|NO PRISM|BEAM DEFRACTION: 0%|ZOOM: 66%|Distance 7m|Focus: ???
NO GOBO|NO PRISM|BEAM DEFRACTION: 0%|ZOOM: 66%|Distance 15m|Focus: ???
NO GOBO|NO PRISM|BEAM DEFRACTION: 0%|ZOOM: 100%|Distance 3m|Focus: ???
NO GOBO|NO PRISM|BEAM DEFRACTION: 0%|ZOOM: 100%|Distance 7m|Focus: ???
NO GOBO|NO PRISM|BEAM DEFRACTION: 0%|ZOOM: 100%|Distance 15m|Focus: ???
etc. for all values of BEAM DEFRACTION, then the same with
NO GOBO|PRISM1|...
NO GOBO|PRISM2|
NO GOBO|PRISM1+2|
GOBO1|NO PRISM|
GOBO1|PRISM1|
GOBO1|PRISM2|
GOBO1|PRISM1+2|
GOBO2|NO PRISM|
GOBO2|PRISM1|
GOBO2|PRISM2|
GOBO2|PRISM1+2|
GOBO1+2|NO PRISM|
GOBO1+2|PRISM1|
GOBO1+2|PRISM2|
GOBO1+2|PRISM1+2|

I expect that from this table the function can be extracted/interpolated and implemented either inside QLC+ or using loopback plugin and channel modifiers.
You don't need to provide all data points, but the more you provide, the more exact the focus will be.
You may skip columns you don't need (e.g. if you don't use GOBO, then skip rows for GOBO1, GOBO2, GOBO1+2)
You may start with 0% and 100% only for ZOOM and BEAM DEFRACTION and two values for distance (as close as possible, and as far as practical).
The table will have: 4 (for PRISM) x 2 (BEAM) x 2(ZOOM) x2 (distance) = 32 rows.

When we can see the actual numbers, we can discuss how to implement it.

Jano
User avatar
GGGss
Posts: 2665
Joined: Mon Sep 12, 2016 7:15 pm
Location: Belgium
Real Name: Fredje Gallon

Lookup-table driven by feedback => I like this Jano ;-)
but we are lighting in 3D so X & Y should be involved also, but then again the lookup-table should be aware of this 3D-ness - ergo: a matrix lookup-table

Code: Select all

            Y+|
      Y+|     |
Y+|     |     |
  |     |     |
  |     |     0        focus
  |     0     |
  0     |     |
  |     |     |
  |     |   Y-|----------0----------     M /
  |    Y-|----------0----------       O /
Y-|----------0----------           O /
  X-                 X+          Z /
(edit: code-tags don't work in preview)
All electric machines work on smoke... when the smoke escapes... they don't work anymore
Post Reply