4 New RGB Matrix Scripts

Post Reply
dpuckett
Posts: 7
Joined: Mon Jul 31, 2017 10:09 pm
Real Name: Doug Puckett

I've been working on a fairly large RGB Matrix (somewhere around 80 x 12) and wanted to try my hand a creating some extra RGB Matrix scripts to go along with the new LED wall I'm building. Once I figured out what needed to be in the code, I have some new scripts to play with. These scripts should work with just about any size RGB matrix but the last one works better visually with larger displays.

1. I started out fairly basic with the first one. Random Pixel Per Row. (randompixperrow.js).
This produces a random column pixel on every row each pass. You can change the color to any color you like. Works best with a hold time of 100ms or less

2. The next one is Random Pixel Per Row Multicolor (randompixperrowmulticolor.js).
This is the same as the above but each pixel is a random color. Works best with a hold time of 100ms or less. This one has no other options.

3. Static (static.js).
This script random sets pixels on and off creating a kind of old tv static effect. You can set the percentage of pixels on the screen at the same time. Default is 75. You can change the color but since it also uses random intensities, the color pixel color will change the lower the random intensity is.

4. My favorite creation, 3D Starfield (starfield.js).
This script will create a 3D Starfield effect where stars are coming at you from the center and drifting out to the top, left, bottom and right of you. Intensity starts out dim and gets brighter the closer it gets to you. You can change the color from White to blue, green or red if you like. *Note, this script works better with larger RGB matrix setups. The larger the better. Also works better with lower hold times (<50ms) to make it smooth.

Just place these in the QLC+ RGBScripts directory and then start up QLC+ and it will pick them up in the RGB Matrix effect pattern drop down list.

They are all in this zip file...
QLC-4NewLEDMatrixScripts.zip
(6.35 KiB) Downloaded 350 times
There you have them. 4 different RGB Matrix Script additions to the fantastic QLC+ software. If these work out, I will make more.
Last edited by dpuckett on Sat Sep 02, 2017 6:28 pm, edited 1 time in total.
dpuckett
Posts: 7
Joined: Mon Jul 31, 2017 10:09 pm
Real Name: Doug Puckett

Today (8/1/17), I replaced the files in the download so if you downloaded them before 8/1/17, you should re-download them. I had to fix an issue that happened when saving the matrix to a sequence. All works fine now.
User avatar
mcallegari
Posts: 4461
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

[EDIT]
I've had a quick look at the scripts and here's my observations:
- the code syntax/style looks OK. Well done
- Random pixel * look OK
- I don't quite get the meaning of "Static", which is not static at all, but looks quite identical to Random pixel per row. Also I don't understand why 75% of coverage looks almost empty, while 100% doesn't look completely filled
- 3D starfield is too crowdy. Maybe an "amount" parameter in percentage would be nice so that it can look good also on small panels. Also I don't understand why I can choose only between 4 fixed colors instead of selecting an arbitrary start color as in most of the other scripts. If you need a way to calculate a gradient to black for an arbitrary color, have a look at the vertical fall script that I wrote.

With some minor fixes, they can all go upstream, except for Static which needs to be improved/reviewed.

Thanks
dpuckett
Posts: 7
Joined: Mon Jul 31, 2017 10:09 pm
Real Name: Doug Puckett

Static name refers to what you would see on an old tv that has no analog tv signal. Random video noise. It doesn't refer to a movement term. Maybe I should have called it something else. I'm just emulating what you would see on an old television screen when there is no broadcast signal (pre digital era :) ). I had a need for it so I included it since I had to create it. Maybe call I should cal it "Old TV Static" or something like that.

The 3d star field was designed for larger displays like 85x12 (like I am using) because that is where you get a better effect but I can add a star limit select. I will also attempt to do other colors following your direction for the gradient code.

Will post back when I have them completed.

Thanks for your review and direction (and a great light controller application).
User avatar
mcallegari
Posts: 4461
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

dpuckett wrote: Sat Aug 12, 2017 5:41 pm Static name refers to what you would see on an old tv that has no analog tv signal. Random video noise. It doesn't refer to a movement term. Maybe I should have called it something else. I'm just emulating what you would see on an old television screen when there is no broadcast signal (pre digital era :) ). I had a need for it so I included it since I had to create it. Maybe call I should cal it "Old TV Static" or something like that.
Alright, got it. Maybe we can call it "Turbulence" or "Noise". In any case I believe the percentage amount should be improved.
dpuckett wrote: Sat Aug 12, 2017 5:41 pm The 3d star field was designed for larger displays like 85x12 (like I am using) because that is where you get a better effect but I can add a star limit select. I will also attempt to do other colors following your direction for the gradient code.
Well, QLC+ bundled scripts should attempt to be useful in most of the situations. Requiring a script to work only on a thousand pixel panel sounds a bit much pretentious :)
When I have some time, I'll have a look if the requirements can be lowered.
dpuckett
Posts: 7
Joined: Mon Jul 31, 2017 10:09 pm
Real Name: Doug Puckett

Never fails, when you want to get something done, work always steps up and gets in your way :)

I have finally been able to get some time to rework these a bit and the new file has uploaded to the top post. I have taken all of Massimo's suggestions and refactored the code on the star-field and "static" (now called "noise").

The starfield can produce any color now and also has a new "multicolored stars" mode. You can also select the amount of stars from 10 to 255. These choices provide more than enough stars (or less enough for smaller matrix displays) for any matrix display.

The "static" script has been renamed "Noise" now and I have completely reworked the code. You now have 3 choices of LOW, MEDIUM and HIGH noise levels. I have reworked how the colors work behind the scenes and a few other tweaks also.

They all work well now no matter what the size of the matrix is. For the starfield though, the bigger, the better for the best effect but it will run in a small 8x8 matrix if needed even though you lose most of the star field effect on a display that small.

I did a small modification to the RandomPixelPerRow and the RandomPixelPerRow Multi Color scripts so they output more than just one sequence when saving the matrix to a sequence.

I believe I have worked in all of your (Massimo's) suggestions plus some extra features. I appreciate that you took the time to look at them and that has made them better.

Let me know if there is anything else you would like to see added to any of these.

Thanks
User avatar
mcallegari
Posts: 4461
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

Hi, "noise", "random pixel per row" and "random pixel per row multicolor" are upstream. Thanks.

I've just fixed some JS syntax and indentation.

I'm still not convinced about the starfield though. I do a stupid test with the default 10x10 RGB panel and it doesn't really look like a starfield to me.
I know the resolution is very low, but still I'm convinced it should be useful on different RGB Matrix size.
dpuckett
Posts: 7
Joined: Mon Jul 31, 2017 10:09 pm
Real Name: Doug Puckett

I did some extensive reworking to get it to work with smaller arrays after your previous advice.

To get it to look good for the smaller 10x10 matrix, all you need to do is set the number of stars to about 20. Set your HOLD time to about 11ms. With that amount of stars and speed, it does a good star field effect with that resolution. If you try that, you should see that it works well at the 10x10 resolution.

On a side note, as you may have seen, there are more and more people every day using larger matrices. With the cost of RGB LED pixels and controllers coming down so low in cost, it makes it easier to build larger matrices and rgb pixel walls. To limit QLC+ to something that only has to ultimately work at lower resolutions may be a hindrance to people wanting to use QLC+ for these larger displays (which I believe will become more prevalent) .

QLC+ is the easiest and the best light controller software we have used and it works very well for us and a lot of others we know. We all are incorporating larger LED RGB Pixel displays and pixel walls into our lighting systems and having QLC+ being able to control the whole show is a big plus. Otherwise we have to control the pixel matrices with separate software which then requires more complexity.

I know you are wanting to keep the functionality to be able to be used for smaller micro matrix displays but I believe that the future will hold larger and larger Matrix displays and getting a jump on that with really cool scripts and functions for these larger displays will be a plus for QLC+. I am now running a 48 x 56 display that spans about 15 feet high and 25 feet wide and that is really not that ambitious.

Our matrices are not suited for video since the pixels are not closely packed so running them through QLC+ as RGB Matrixes instead of using video driving software and hardware is perfect for us. Plus we can control everything with one user interface (virtual console) in QLC+.

That is just my two cents worth so you can take it or leave it as you wish. :) I love QLC+ and will be creating more scripts for larger displays like mine but not sure how they will work with smaller micro matrices but will try and make them work, so I will post them and you can decide if they fit your vision for QLC+ :) .

Thanks for all you do and have done. We all really appreciate it.
richbass
Posts: 86
Joined: Wed Sep 12, 2018 10:44 am
Real Name: Richard

After reading these posts I set up a much larger matrix (just in software) and now the 3d starfield makes more sense! (Now I just need a larger matrix 🤔£££'s!)

Do either of you know of a resource / tutorial / guide for creating RGB matrix scripts?
I don't mean the syntax needed for qlc+, but how to develop an algorithm and put that into a script.

Thanks
User avatar
GGGss
Posts: 2660
Joined: Mon Sep 12, 2016 7:15 pm
Location: Belgium
Real Name: Fredje Gallon

I'm sure you know Math ... but does Math knows you?
haha - everything in the world can be mathemised - upto very very complicated formuli
or you could choose the if then else approach - with matrices, lookup tables and the like ...

in the end it all comes to imagination - having a vision - drawing a plot... what are we LD's else for ;-)

As far as I have studied the RGB scripts I saw a lot of the 2 above being Math & IIFT
and you being a musician the meaning of 9th and 13th harmonic does ring a bell right? There you go...
All electric machines work on smoke... when the smoke escapes... they don't work anymore
Post Reply