Hi,
I'm wondering if there is a way to engage the LSB value when changing moving head light positions? I'm trying to move between two fixed positions where the fixtures would be focused on say the lead singer in the middle of stage, then move to a fixed position up in the air, having a nice sweeping motion between the two, but the fine pan & tilt channels are never engaged when selecting between the two positions.
Hope I've explained clear enough :S
Smooth Movement between Moving Head Positions
-
- Posts: 1331
- Joined: Mon Apr 13, 2015 7:05 am
- Location: Bratislava, Slovakia
- Real Name: Jano Svitok
- Contact:
How do you make the movements? Fade between two scenes or using EFX?
Fade between scenes fade coarse and fine channels separately, which is a bug deep inside QLC+ guts.
EFX should use fine channels correctly unless relative is checked. Relative EFX use only coarse channels.
So, until it is fixed in the code this is a hack that may work:
Let [P1,T1] is the starting position of the head; [P2;T2] is the final position.
Create EFX for the head (nost probably you'll need to create separate EFX for each head)
Set pattern to "Line2"; direction "Forward", Run order "Single shot", rotation = 0, start offset = 0, relative unchecked,
X offset = (P2+P1)/2 (average)
Y offset = (T2+T1)/2
Width = |P2-P1|/2 (half of the difference)
Height = |T2-T1|/2
(Note: Line2 goes from one end to another, and then again the same path. It is meant for fixtures that have 360 deg rotation, like
roller scanners, or some newer heads. Line pattern goes from the middle of the line to one end, then to the other and then back to the middle.
If you want to use Line, you need to set Start Offset to 90 so that the movement starts from the end instead of from the middle.)
You may put these EFXs in a chaser to achieve smooth movement across several positions.
If you need more heads, then for each step put all efx in a collection and then those collections in a chaser.
... I know this is crazy, but still, you can use it now without waiting for new code!
Edit: you can obviously use other patterns like circle that can create even more interesting effect, but you'd need to figure the math yourself!
(hint: https://en.wikipedia.org/wiki/Circular_segment, https://en.wikipedia.org/wiki/Chord_%28geometry%29)
Fade between scenes fade coarse and fine channels separately, which is a bug deep inside QLC+ guts.
EFX should use fine channels correctly unless relative is checked. Relative EFX use only coarse channels.
So, until it is fixed in the code this is a hack that may work:
Let [P1,T1] is the starting position of the head; [P2;T2] is the final position.
Create EFX for the head (nost probably you'll need to create separate EFX for each head)
Set pattern to "Line2"; direction "Forward", Run order "Single shot", rotation = 0, start offset = 0, relative unchecked,
X offset = (P2+P1)/2 (average)
Y offset = (T2+T1)/2
Width = |P2-P1|/2 (half of the difference)
Height = |T2-T1|/2
(Note: Line2 goes from one end to another, and then again the same path. It is meant for fixtures that have 360 deg rotation, like
roller scanners, or some newer heads. Line pattern goes from the middle of the line to one end, then to the other and then back to the middle.
If you want to use Line, you need to set Start Offset to 90 so that the movement starts from the end instead of from the middle.)
You may put these EFXs in a chaser to achieve smooth movement across several positions.
If you need more heads, then for each step put all efx in a collection and then those collections in a chaser.
... I know this is crazy, but still, you can use it now without waiting for new code!
Edit: you can obviously use other patterns like circle that can create even more interesting effect, but you'd need to figure the math yourself!
(hint: https://en.wikipedia.org/wiki/Circular_segment, https://en.wikipedia.org/wiki/Chord_%28geometry%29)
-
- Posts: 1331
- Joined: Mon Apr 13, 2015 7:05 am
- Location: Bratislava, Slovakia
- Real Name: Jano Svitok
- Contact:
Vass, I'm not sure what do you mean by that.
If that means you want to fix this problem, here you go:
1. add to QLCChannel notion of [optional] parent/child channel.
2. create something similar to FadeChannel, for example FadeChannel16
3. adjust Scene::write so that it uses new FadeChannel16 whenever both channels are activated.
4. add #1 to Fixture Definition Editor
Note that there are fixtures with 16 bit dimmers/r/g/b channels and more, not just pan/tilt.
If you need any help with this, just ask.
If that means you want to fix this problem, here you go:
1. add to QLCChannel notion of [optional] parent/child channel.
2. create something similar to FadeChannel, for example FadeChannel16
3. adjust Scene::write so that it uses new FadeChannel16 whenever both channels are activated.
4. add #1 to Fixture Definition Editor
Note that there are fixtures with 16 bit dimmers/r/g/b channels and more, not just pan/tilt.
If you need any help with this, just ask.
-
- Posts: 4
- Joined: Sun May 03, 2015 3:44 am
- Real Name: Evan Scown
There's already a switch in QLCChannel for MSB & LSB, starting line 147. So might case of making use of that switch to help identify if the channel is 8 bit or a member of a 16 bit group.janosvitok wrote:Vass, I'm not sure what do you mean by that.
If that means you want to fix this problem, here you go:
1. add to QLCChannel notion of [optional] parent/child channel.
2. create something similar to FadeChannel, for example FadeChannel16
3. adjust Scene::write so that it uses new FadeChannel16 whenever both channels are activated.
4. add #1 to Fixture Definition Editor
Note that there are fixtures with 16 bit dimmers/r/g/b channels and more, not just pan/tilt.
If you need any help with this, just ask.
-
- Posts: 1331
- Joined: Mon Apr 13, 2015 7:05 am
- Location: Bratislava, Slovakia
- Real Name: Jano Svitok
- Contact:
Right, but for smooth fading you need to control both channels (LSB.MSB) simultaneously. For that, you need to know what channels belong together. It's not enough to know that a channel is LSB or MSB.vass wrote:There's already a switch in QLCChannel for MSB & LSB, starting line 147. So might case of making use of that switch to help identify if the channel is 8 bit or a member of a 16 bit group.
For most cases it's easy because there are only two pan channels and two tilt channels. But there are fixtures with 3 or 4 pan channels (http://www.highlite.nl/silver.download/ ... _GB_V1.pdf)
The same with GOBO channels.
What I'm saying is: I have thought about this several times, I know how to implement it, I'd like to implement it, but I lack time to do it.
I wrote the answer because I thought it was more useful than just writing "it's not implemented", since I assumed you are a user that is not able to do it yourself.
Once again: the problem is that even when you include both (LSB, MSB) channels in a scene, they are faded INDEPENDENTLY. For example, when you start from PAN COARSE=100, PAN FINE=0 fade to PAN COARSE=108, PAN FINE=0 in 65 steps will go: 100:0 ... 100:0, 101:0 ... 101:0, 102... 108:0, 102:0 while in fact, it should go: 100:0, 100:16, 100:32, 100:48... 100: 250, 101:0, 101:16,... 107:250, 108:0
janosvitok wrote:How do you make the movements? Fade between two scenes or using EFX?
-
- Posts: 4
- Joined: Sun May 03, 2015 3:44 am
- Real Name: Evan Scown
Ahh, I'd never considered that... I think I will start working on this. Seems like a fun problem.janosvitok wrote:Right, but for smooth fading you need to control both channels (LSB.MSB) simultaneously. For that, you need to know what channels belong together. It's not enough to know that a channel is LSB or MSB.
For most cases it's easy because there are only two pan channels and two tilt channels. But there are fixtures with 3 or 4 pan channels (http://www.highlite.nl/silver.download/ ... _GB_V1.pdf)
The same with GOBO channels.
-
- Posts: 1331
- Joined: Mon Apr 13, 2015 7:05 am
- Location: Bratislava, Slovakia
- Real Name: Jano Svitok
- Contact:
I've pushed something I started long ago. You may take inspiration from it. I quickly tried to adjust it to today's code, but the code changed too much in the mean time.
https://github.com/janosvitok/qlcplus/c ... 88a732a3a6
https://github.com/janosvitok/qlcplus/c ... 88a732a3a6