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
1.01k stars 360 forks source link

16bit movement issues #1484

Closed mcallegari closed 8 months ago

mcallegari commented 11 months ago

Issue 1 https://www.qlcplus.org/forum/viewtopic.php?t=16788

Issue 2 https://www.qlcplus.org/forum/viewtopic.php?t=16789

Issue 3 https://www.qlcplus.org/forum/viewtopic.php?t=16790

mcallegari commented 10 months ago

16 bit fade is being worked on in the following branch https://github.com/mcallegari/qlcplus/tree/16bitfade

mcallegari commented 9 months ago

Test versions available for every platform https://www.qlcplus.org/downloads/test/index.php?p=

GGGss commented 8 months ago

As a kind reminder - the HTP mechanism does not work correctly with 16bit values. Say a scene has [MSB,LSB] 12,185 and another scene 13,22. Both scenes are active to trigger HTP. Doing the maths gives us 0x0CB9 and 0x0D16. The engine will spit out 0x0DB9 as a result. It should be 0x0D16.

mcallegari commented 8 months ago

@GGGss I worked some more on 16bit. Can you please check the latest build from the 16bitfade branch?

Screenshot_20240223_232530

GGGss commented 8 months ago

I can confirm the HTP logic in the engine is valid. The LTP logic is - as expected - valid. Even in conflicting situations, the latest value wins. Tested with the QLC+-4.12.8_GIT-20240223-3188c91-16bit-FADE

mcallegari commented 8 months ago

Adding a case report https://www.qlcplus.org/forum/viewtopic.php?t=17078

[EDIT] just checked and this was present pre-PR so not a regression but still to be fixed

mcallegari commented 8 months ago

@GGGss another round of fixes. Apparently, relative EFX calculation has never worked as expected. Please check now.

GGGss commented 8 months ago

@mcallegari Checked and approved ... LSB values play nicely now ... I still need to test the outcome to the extremes (>255,255 <0,0 in what the EFX will produce. (I noticed you hard limited both limits into the code ... all well to me - because these are cases of operator-mind's errors!)

Let's use the sparse days to the public appearance of the v4.13 to debug a little more... - HTP & LTP couples now well-behave in my tests. A True 16b engine is born.

To me, this introduced a welcome add-on for the next version? True-relative-mode https://www.qlcplus.org/forum/viewtopic.php?p=72057#p72057 - But please accept my gratitude for your efforts

mcallegari commented 8 months ago

@GGGss many thanks to you for testing! I will now consider this task as closed.