RGBMatrix color jumps
Posted: Mon Aug 24, 2015 1:58 am
There's a glitch in the matrix!
I've been working on an update to the Plasma RGB Script, and ran into some behavior that I wasn't sure was coming from the script or from QLC+ itself. I've recreated the behavior with a different built-in script, so I'm pretty sure now that it's a bug in QLC+. I've taken a quick peek at the source code, and am not quite able to track it down yet.
Here's the behavior: When an RGB Matrix has to fade all three color channels, the Green and Blue channels will jump between steps instead of honoring the Fade-In/Fade-Out times. But only when having to crossfade between 100% settings across channels. For example, when fading between RGB(255,255,255) and RGB(255,0,0), the Green and Blue channels will jump instead of fade at the fade times. But when going between RGB(248,255,255) and RGB(255,0,0), the fade times are honored correctly.
Please see the attached workspace for examples of working and non-working combinations. If someone more knowledgeable of the source code could point me in the right areas and directions to look, I don't mind digging into this myself. I just wasn't coming up with where the problem might be.
I've been working on an update to the Plasma RGB Script, and ran into some behavior that I wasn't sure was coming from the script or from QLC+ itself. I've recreated the behavior with a different built-in script, so I'm pretty sure now that it's a bug in QLC+. I've taken a quick peek at the source code, and am not quite able to track it down yet.
Here's the behavior: When an RGB Matrix has to fade all three color channels, the Green and Blue channels will jump between steps instead of honoring the Fade-In/Fade-Out times. But only when having to crossfade between 100% settings across channels. For example, when fading between RGB(255,255,255) and RGB(255,0,0), the Green and Blue channels will jump instead of fade at the fade times. But when going between RGB(248,255,255) and RGB(255,0,0), the fade times are honored correctly.
Please see the attached workspace for examples of working and non-working combinations. If someone more knowledgeable of the source code could point me in the right areas and directions to look, I don't mind digging into this myself. I just wasn't coming up with where the problem might be.