mcallegari / qlcplus

Q Light Controller Plus (QLC+) is a free and cross-platform software to control DMX or analog lighting systems like moving heads, dimmers, scanners etc. This project is a fork of the great QLC project written by Heikki Junnila that aims to continue the QLC development and to introduce new features.
Apache License 2.0
991 stars 356 forks source link

Flash Buttons don't work as expeceted if scene is running #1524

Closed fritzlb closed 4 months ago

fritzlb commented 7 months ago

Describe the bug If a scene is running by a button or slider, clicking a flash button associated with the same scene makes the output device flicker. In case of a slider, the slider gets set to 0%, and the lamp shortly flickers. Now the lamp is on, while the slider is set to 0% and there's nothing else keeping the lamp on.

To Reproduce Steps to reproduce the behaviour:

  1. Create a new Scene that sets a LED light to any colour (Dimmer + Colour channels on). A hardware light is recommended to reproduce.
  2. In the 'Virtual Console'-tab, create a slider in playback mode. Associate the created scene with it.
  3. Create a flash button that's associated with the same scene.
  4. Set the slider to any value that's visible on your hardware light.
  5. Click the flash button. This also works with a regular button instead of a slider, in comparison to a slider, the regular button won't turn off.

Expected behaviour With HTP, I'd expect the flash button to maximize the according values while being pressed. Once the button is released, there should be defined behaviour (and no flickering!). For me, this means in case of the slider, that either the slider gets set to 0 and the lamp turns off, or (in my opinion better) the lamp should be set to the slider value again without weird flickering. In case of a button, the lamp simply shouldn't flicker.

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

Additional context If I'm doing anything wrong or if there is any workaround, please let me know. Creating a second scene only for the flash button doesn't help. Other colours are unaffected, for example if the light is red by a regular button, pressing a green flash button doesn't let it flicker. If there's anything unclear please let me know :)

mcallegari commented 7 months ago

Please test with the latest sources

fritzlb commented 7 months ago

yeah, happens there too. I tested compile-qt5-AppImage from github actions, qlc+ itself reports 4.13.0 GIT. Also I just noticed, blackout seems to be broken there.

btw, it doesn't seem platform specific as I just tried it with windows and the issue still persists

fubarpatsharp commented 6 months ago

Have the same problem with a flash button on macOS and Windows 10

yestalgia commented 5 months ago

Issue successfully reproduced on 4.13.0.

The following is a video showcasing the issue: https://www.youtube.com/watch?v=xMF73eVy1M4

System Info:

OS Name: Microsoft Windows 11 Pro OS Version: 10.0.22631 N/A Build 22631 System Manufacturer: Framework System Model: Laptop 16 (AMD Ryzen 7040 Series) System Type: x64-based PC Processor(s): 1 Processor(s) Installed [01]: AMD64 Family 25 Model 116 Stepping 1 AuthenticAMD ~4001 Mhz Total Physical Memory: 15,557 MB Available Physical Memory: 8,125 MB

mcallegari commented 4 months ago

I'm not sure this can be even fixed because of two widgets playing the same function. In fact if you clone the Scene attached to the Slider and attach it to the flash Button it works as you expect. I'll check how the code treats this case but I doubt it would be easy to solve it

mcallegari commented 4 months ago

I have added an option to Sliders to display a button to flash the Function currently being played back. In this way one single widget can control intensity and flash a Function. Please check the latest build and report if this works for you.

fritzlb commented 4 months ago

Very cool, thank you so much!