Page 1 of 1
Change colors in RGBMatrix
Posted: Thu Oct 09, 2014 3:47 pm
by Alessandro Grechi
Hi all,
I'm working with some RGB LED bars and sometimes I use the RGBmatrix
functions to easily create nice animations. When creating the function I
can only chose the primary and/or secondary color for the animation, and
cannot be changed later on "live" mode.
I mean, would be nice if I could change the color of the animation as a
separate parameter, maybe with a slider o a scene in the consolle. At this
moment I have to clone each animation for each different colour I want.
My fixtures of course have only RGB intensity channels, so HTP, I guess. I
cannot change intensity and colors separately.
Any ideas about that?
Change colors in RGBMatrix
Posted: Thu Oct 09, 2014 3:59 pm
by Giorgio
To avoid cloning I use custom scripts with internal color generators (random, complementary or schema generator).
Change colors in RGBMatrix
Posted: Thu Oct 09, 2014 3:59 pm
by Massimo Callegari
Hi Alessandro, maybe we can do the other way round.
Since I know you use Jinx!, maybe you can explain how you normally work with it and see if we can add similar functionalities to QLC+.
Maybe screenshots and videos can help to have the immediate idea.
Improving RGB Matrices is something I'm willing to do as I will personally need them for a few shows at the beginning of the next year.
So, the more flexibility, the better.
Thanks
Change colors in RGBMatrix
Posted: Thu Oct 09, 2014 4:01 pm
by Massimo Callegari
Giorgo, it would be nice to share those scripts here, so other users can benefit from them.
Thanks
Change colors in RGBMatrix
Posted: Thu Oct 09, 2014 4:20 pm
by Alessandro Grechi
Yes, that's what I was thinking to.
Do you have some examples to start?
Change colors in RGBMatrix
Posted: Thu Oct 09, 2014 4:35 pm
by Alessandro Grechi
Hi Massimo,
Yes I worked a lot with rgb matrices and Led strips/bars on these months, and I would like to replicate some functionalities on QLC+.
In my opinion the script animation is a good starting point. I can share to you some ideas:
- colors setted as parameters in script, and controllable separately.
- Colors generator, animated gratients / fade, random
- layers. EX: animation1 + animation2
Better layout groups interface. You told me you know that part is not very handy. Would be great to have a visual editor (like the 2D mode on DMX monitor!) to setup matrices, led strips, compositions, ecc.
Change colors in RGBMatrix
Posted: Thu Oct 09, 2014 4:50 pm
by Giorgio
I use custom made matrix scripts. Inside algo.rgbMap function I don't use the input rgb parameter but I use an internal generator.
For example I can generate a random color with this function:
function randRGB()
{
var r = (Math.rand()*256);
var g = (Math.rand()*256);
var b = (Math.rand()*256);
return ( ( r & 0xFF) << 16) + ( ( g & 0xFF) << 8) + ( b & 0xFF );
}
I can upload some scripts in the next few days.
Change colors in RGBMatrix
Posted: Fri Oct 10, 2014 8:15 am
by Alessandro Grechi
I've tried to follow your instructions adding that function in one script, but It doesn't work as expected. What am I missing?
function()
{
var algo = new Object;
algo.apiVersion = 1;
algo.name = "Random Color";
algo.author = "...";
algo.rgbMap = function(width, height, rgb, step)
{
var map = new Array(height);
for (var y = 0; y < height; y++)
{
map[y] = new Array();
for (var x = 0; x < width; x++)
{
if (y == step) {
map[y][x] = randrgb();
}
else
map[y][x] = 0;
}
}
return map;
}
function randrgb() {
var r = (Math.rand()*256);
var g = (Math.rand()*256);
var b = (Math.rand()*256);
var randrgb = ( ( r & 0xFF) << 16) + ( ( g & 0xFF) << 8) + ( b & 0xFF );
return randrgb;
}
algo.rgbMapStepCount = function(width, height)
{
return height;
}
testAlgo = algo;
return algo;
}
)()
Change colors in RGBMatrix
Posted: Fri Oct 10, 2014 10:05 am
by Giorgio
~~~~~~
// Development tool access
var testAlgo;
(
function()
{
var algo = new Object;
algo.apiVersion = 1;
algo.name = "Random Color";
algo.author = "...";
algo.rgbMap = function(width, height, rgb, step)
{
var map = new Array(height);
for (var y = 0; y < height; y++)
{
map[y] = new Array();
for (var x = 0; x < width; x++)
{
if (y == step) {
map[y][x] = randrgb();
}
else
map[y][x] = 0;
}
}
return map;
}
function randrgb() {
var r = (Math.random()*256);
var g = (Math.random()*256);
var b = (Math.random()*256);
var randrgb = ( ( r & 0xFF) << 16) + ( ( g & 0xFF) << 8) + ( b & 0xFF );
return randrgb;
}
algo.rgbMapStepCount = function(width, height)
{
return height;
}
testAlgo = algo;
return algo;
}
)()
~~~~~~
Change colors in RGBMatrix
Posted: Fri Oct 10, 2014 11:25 am
by Alessandro Grechi
Looks like exactly the same, except the first three rows, which I forgot to paste here but are present in my script. Still does not work...
Script is evaluated correctly but I get no output.
Change colors in RGBMatrix
Posted: Fri Oct 10, 2014 12:12 pm
by Giorgio
Not only the first rows.
Math.rand() changed to Math.random()
Change colors in RGBMatrix
Posted: Fri Oct 10, 2014 2:53 pm
by Alessandro Grechi
Yep! I missed that
now it's working. Thank you
Change colors in RGBMatrix
Posted: Fri Oct 10, 2014 11:25 pm
by Massimo Callegari
Alessandro, I think what we need is a dedicated Virtual Console widget to control the essential RGB Matrix parameters. I would say:
- intensity
- algorithm (call it preset or script as you like)
- start color
- end color
The layout I imagine is: 1 slider, 2 buttons and a drop down box.
With the slider you can control the intensity of the matrix.
The buttons are Click & Go color choosers and the dropdown box is the list of algorithms you can change on the fly.
This list can be configured to display a custom list or all the QLC+ algorithms.
How does it sound ?
Any proposal is welcome.
P.S. Regarding layers, if you run 2-3-4 matrices together they automatically layer onto each other. Try it, you can create nice effects !
(I show something like that in the Raspberry Pi video at 8:45)
Change colors in RGBMatrix
Posted: Sat Oct 11, 2014 1:26 pm
by Alessandro Grechi
Massimo,
I understand what you mean, sounds cool!
Something like my attached screenshot, right?
As regards layers, yes, I finally managed to sum te effects with collections of RGBscript. Very nice, indeed.
Change colors in RGBMatrix
Posted: Sat Oct 11, 2014 1:37 pm
by Massimo Callegari
Exactly something like that !
In addition to my previous post, the slider will act like a playback slider.
Value 0 = function stopped
Value not zero = function started and dimmered
Change colors in RGBMatrix
Posted: Mon Dec 08, 2014 12:17 pm
by AdamUK
Hi Massimo and Alessandro,
Please excuse me for asking this stupid question. I have never used scripts before in QLC+ and would really appreciate some help if you don't mind. I have an RGB matrix for 8 LED Bars, animations are working great but I would also like to create a widget to independently control the colour, dim and speed of the animations, similar to Alessandro. Would it be possible for you to talk me through step by step how to add the script and get this widget?
I really appreciate your help!
Change colors in RGBMatrix
Posted: Mon Dec 08, 2014 9:35 pm
by Alessandro Grechi
Hi Adam,
you can find the RGB matrix widget in virtual console since the last version (4.8.2). In the GIT version there are a lot of improvements on this side, so grab it from there if you can! (or wait for next stable version).
For the usage, nothing is more clear than Massimo's video tutorial!
https://www.youtube.com/watch?v=ovr3CSSbfgY
Change colors in RGBMatrix
Posted: Wed Dec 10, 2014 12:24 am
by AdamUK
Hi Alessandro,
I shortly found the video on youtube after posting my question, which of course prompted me to find the widget on the update! A really useful tool! Thank you so much for your help