RGB Matrix issues

Archive of the non-categorized posts related to the QLC+ technical support.
Please do not create new threads here, instead, use the categories above !
Post Reply
OddSocks

Have been playing with the rgb matrix function and have discovered a few issues.

I am running QLC+ 4.8.3 on Ubuntu 14.04 LTS.

1. If there are more than 256 steps the option to fade between first and second colour does not work.
To reproduce.
Either create a matrix with more than 256 leds (43 x 6) and select "random fill single", or on any matrix select "text" and add some more characters to the message (" Q LIGHT CONTROLLER + test the length". Select an end colour and the fade will not happen.
.

2. "Fade out" seems to be recalculated each step, so if the fade out time is set to more than the step time it never fades to 0.
To reproduce.
Create a matrix and select stripes. As soon as you add any fade out time the preview gets upset, but if you open the "Fixture monitor" you can see the channels fading out. If you take the fade out time above the step time you can see the fade out rate changing each time there is a new step. meaning the channels never get to zero.

Thanks for all the work people put in to this superb software.
Jano Svitok

Can you please attach sample workspace(s)? I suppose you have one and it will save me some time. Thanks!
Jano Svitok

The cause for 1 is [this code](https://github.com/mcallegari/qlcplus/b ... x.cpp#L273) since it operates on 0-255 range. One of the possible fixes is to rewrite the computation to use float versions of QColor that uses 0.0-1.0 range and stores 16 bit numbers (replace all three m_cXDelta with QColor m_colorDelta) and the mentioned line with

m_colorDelta.setRedF((m_endColor.redF() - m_startColor.redF()) / (m_algorithm->rgbMapStepCount(grp->size()) - 1))

and in updateSetColor():

m_stepColor.setRedF(m_stepColor.redF() + m_colorDelta.redf())

similarly for other colors.
OddSocks

Hi,
Thanks for looking.

Haven't looked fully yet and my coding skills are a bit rusty, but another option is to maybe multiply the colour step by the step count rather that add to the previous. This might get round fractional errors. I believe that this is how the "Gradient" fades work.
Jano Svitok

1 is fixed in git.
OddSocks

Jano, you are the man :-)

Here is a workspace showing the fade problem.

It looks like it is recalculating the fade rate each step, and using the current value as the start point each time.
Attachments
FadeFail.qxw
(2.48 KiB) Downloaded 30 times
Post Reply