qlcplus icon indicating copy to clipboard operation
qlcplus copied to clipboard

Can't set channel to zero when it has a default value

Open FloEdelmann opened this issue 7 years ago • 14 comments
trafficstars

From https://www.qlcplus.org/forum/viewtopic.php?p=53381:

First off, I'm using version 4.12.0 GIT.

I have a fixture definition where one of the channels has a default value of 255, so that is what is sent to the fixture without any changes. When I move its fader in the simple desk, it fades down correctly until DMX value 1, but when I move it a little bit further to DMX value 0, the channel fully lights up instead of going completely off. The DMX value that is shown above the fader reads 0, but the DMX monitor shows 255, which is the value that is actually outputted (I could check that because the fixture is actually a custom project using an ESP32 with Art-Net over WiFi and I could just output the exact DMX value it receives via the serial console).

The same happens when I put a fader in the virtual console into level mode for that channel.

What I expected: When I touch the fader (and it turns red), the value I choose is exactly what is outputted to the fixture. When I reset it (using the X button below the channel), the default value is applied.

The current implementation seems to be:

  • channel value == 0 -> default value
  • channel value != 0 -> value

FloEdelmann avatar Sep 25 '18 11:09 FloEdelmann

What I expected: When I touch the fader (and it turns red), the value I choose is exactly what is outputted to the fixture. When I reset it (using the X button below the channel), the default value is applied.

Actually, I think default values should apply only the first time QLC+ is started (no matter if the fixture channels have been previously set). Once you change a channel, default value is lost forever, no matter if it is HTP or LTP, because it is actually what happens on the fixture (default value is there only on power up) One exception could be the Scene Editor. When activating a channel for the first time, it should be at default value. I am thinking of those gobo rotation channels: CW fast to slow - stop - CCW slow to fast. Their default value is probably 127 - stop. Sounds good ?

mcallegari avatar Oct 06 '18 17:10 mcallegari

Hmm, that kind of goes against the name "default value", doesn't it?

I think the default value should always apply to a channel, unless it is explicitly set to another value (either by the fader in the simple desk, or a running scene).

Only setting the default value sometimes (after QLC+ start, in the scene editor, and after adding a fixture(?)) and not consistently every time just makes it more difficult for users to understand where that value comes from and why QLC+ / the fixtures may behave differently after they have used the simple desk, for example.

FloEdelmann avatar Oct 07 '18 11:10 FloEdelmann

Ok, then I need to review the logic cause default values go down at Universe level and that is always tricky to handle.

mcallegari avatar Oct 07 '18 13:10 mcallegari

I actually had a look at the code some days ago, but couldn't find a place where to start adding the feature. Is there some part I can help with, given I don't have much knowledge of the QLC+ engine code base?

FloEdelmann avatar Oct 07 '18 13:10 FloEdelmann

If this is not urgent for you, please leave it to me. If you have some spare time, I'd appreciate much more if you can help testing what's on master right now. See https://www.qlcplus.org/forum/viewtopic.php?f=17&t=12638 Thanks

mcallegari avatar Oct 07 '18 15:10 mcallegari

I think it all narrows down to Simple Desk, so I acted on that. Please check again after my latest commit.

mcallegari avatar Oct 12 '18 11:10 mcallegari

Can you say when the automated OpenSUSE git build with the commit will appear? I've never built QLC+ from source, and would like to continue using the automated git build package if possible.

FloEdelmann avatar Oct 13 '18 11:10 FloEdelmann

I have retriggered the OBS builds. Will be updated in 30 minutes or so. I thought you were building from sources.

mcallegari avatar Oct 13 '18 14:10 mcallegari

First off, sorry for the delay, I wasn't able to test the new version until today.

Unfortunately, in the current version, the situation is worse than before :see_no_evil:

As soon as I change any channel in the Simple Desk, all default values are immediately lost, so all channels go down to zero. (At least I now am able to output a zero in channels with non-zero default values...)

FloEdelmann avatar Oct 19 '18 14:10 FloEdelmann

Then I need the fixture definition you're using and step-by-step instructions of what you're doing and what you expect as a result. Otherwise we see different things.

mcallegari avatar Oct 19 '18 16:10 mcallegari

I've put the fixture definition (exported from OFL) and the show I'm using in a zip file:

qlcplus.zip

Directly after opening the show, all Intensity channels for the single pixels are at 255 (Intensity 1, Intensity 2, ...), all other channels (including channel 1 Dimmer) are off.

In the Simple Desk, I change one channel by moving its fader. Then all other channels jump to zero (and stay there, even when I reset the changed channel). I had expected to see only that one channel change, and all other channels stay at their default values (either zero or 255).

FloEdelmann avatar Oct 19 '18 16:10 FloEdelmann

Thanks. Now I see it. I was testing LTP channels. Is this a real usage case (meaning: is it specified in the product manual) or are you forcing default values for your own convenience ?

mcallegari avatar Oct 21 '18 09:10 mcallegari

Since this is actually a fixture that I develop myself, it's both :smile:

I've included single pixel dimmers for greater flexibility, but having to change all pixel dimmers' value to 255 just to use all pixels (which will be the default use case) is just not user-friendly. Having them at 255 by default would resolve that issue.

FloEdelmann avatar Oct 22 '18 10:10 FloEdelmann