Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
FloEdelmann opened this issue Sep 25, 2018 · 13 comments
Open

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

FloEdelmann opened this issue Sep 25, 2018 · 13 comments
Assignees

Comments

@FloEdelmann
Copy link
Contributor

FloEdelmann commented Sep 25, 2018

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
@mcallegari
Copy link
Owner

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 ?

@FloEdelmann
Copy link
Contributor Author

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.

@mcallegari
Copy link
Owner

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

@FloEdelmann
Copy link
Contributor Author

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?

@mcallegari
Copy link
Owner

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
Copy link
Owner

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

@FloEdelmann
Copy link
Contributor Author

FloEdelmann commented Oct 13, 2018

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.

@mcallegari
Copy link
Owner

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

@FloEdelmann
Copy link
Contributor Author

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 🙈

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

@mcallegari
Copy link
Owner

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.

@FloEdelmann
Copy link
Contributor Author

FloEdelmann commented Oct 19, 2018

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

@mcallegari
Copy link
Owner

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 ?

@FloEdelmann
Copy link
Contributor Author

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

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants