solved : matrix:plasma timing control - loopback

Ask a generic question about the usage of QLC+, not related to a particular operating system
Post Reply
spindrift
Posts: 4
Joined: Fri Dec 08, 2023 10:20 am
Real Name: Rolf Kühn

edit: Solved with the use of loopback, see below for summary.

Hi,

I am confused on how to properly control the the timing for a function:matrix with pattern:plasma(colours).

How do I control the timing of the plasma's motion (speed and smoothness) independently of the crossfade properties when switching from one plasma to the next (different color pallets)?

Background:
The plasma pattern has the following properties to control the timing: RAMP(10-30) & SPEED(0-50).
And then the matrix specific timing properties also apply : Fade in, Fade out, Hold
It seems to me that the matrix Fade in, Fade out and Hold properties don't only apply to the matrix entity as a whole, (i.e. control how to fade the entire matrix in and out) but also apply to the individual "steps" of the plasma "animation".
But is that not what the plasma properties RAMP and SPEED are for?

What Im trying to achieve:
For an installation I would like to use the plasma to generate a random moving patterns with soft gradients in a specific color pallets. One matrix:plasma(color) for each color pallet. These matrices shall drive a bunch of led pars lighting up a large wall hopefully creating a the effect of slow moving ever morfing soft textue.
every few minutes a chaser should slowly fade from one color pallet to the next.

So I need to control the fade times and the hold times of the chaser steps independently of the fade times controlling the plasmas motion. Ideally I would like to have a speed fader on the virtual console to control the crossfade times and another to control the animation speed of the plasma.

Can anybody give me some advice on how best to setup the matrices to achieve this effect?
Is there any Documentation on the plasma matrix pattern?
Where in the QLC+ source code can I find the plasma code?

Thanks so much for any pointers
Rolf
Last edited by spindrift on Sat Dec 09, 2023 11:39 pm, edited 1 time in total.
MichelSliepenbeek
Posts: 717
Joined: Wed Feb 08, 2023 10:24 am
Location: Nederland
Real Name: Michel Sliepenbeek

The RGB Matrix Plasma has 3 properties: Size, Ramp, and Speed.
With Size and Ramp you define :
- the number of fixtures that should act the same or different in your matrix.
So if you have 10 fixtures you could go for all 10 fixtures the same color at the same moment, (5 sets of) 2 with the same color, .... , (2 sets of) 5 with the same color, to all 10 fixtures having a different color.
- the number of (intermediate) steps you want to use when changing the color.
Be aware that Size does not have to be equal to the number of fixtures you are using.
With Speed you define how "slow to fast" the changes should happen. Maybe it is because i am impatient, but i always set it to 50 (because i use a Speed Dial to Fine Tune the speed, this parameter is not very relevant anymore).

You should play a bit with those parameters to find out what works best for you.


If you want to control Run and Fade Times you should use a Speed Dial (check the On line manual https://docs.qlcplus.org/v4/virtual-console/speed-dial).
It is important to understand that you can use (almost) as many Speed Dials as you want.
In your situation i would use separate Speed Dials for your Chaser (select the Chaser on the Functions Tab), and for your RGB Matrices (select the RGB Matrices on the Functions Tab).
You might even use two Speed Dials for your RGB Matrices: one for Run Time (set Fade In and Fade Out to "Not Sent") and another one for Fade Times (set Fade In and Fade Out to 1 and Run Time to "Not Sent").

Be aware that Run Time = Fade In + Hold Time + Fade Out.
You need to understand that if you decide to use separate Speed Dials for Run Time and Fade Times, this also means that you are responsible for providing values that match together (that Fade In Time and Fade Out Time make sense in relation to your Run Time).
As an example: if you set the Run Time to 1 second and Fade In to 5 Seconds, you kill your effect (it will start with fading in for 1 second, but will never come further than that. After 1 second it will restart Fading in).
Keep that in mind when you define Presets or set a Range on the Inputs Tab .

If you want to control your Speed with a Fader, have a look at the example in this thread: viewtopic.php?t=16821

Eventually you might end up with something like the example overhere: viewtopic.php?p=67586#p67586
In this example i also use the EFX function to achieve color changes, that might also be usefull in your situation.
A QLC Workspace is like a Bob Ross painting: "it's your world, you can create whatever you want!"
spindrift
Posts: 4
Joined: Fri Dec 08, 2023 10:20 am
Real Name: Rolf Kühn

Thanks Michel for your effort! that helped!
I was not yet familiar with the concept of loopbacks. I have not tried it yet but after reading up on loopbacks and studding your examples, I think that the correct way to isolate the timer controlling general crossfade (from the one matrix to another) from the timer controlling the matrix itself.
You explanation on the plasma properties size ramp and speed where also very helpful.
much appreciated!
Last edited by spindrift on Sat Dec 09, 2023 9:15 pm, edited 1 time in total.
spindrift
Posts: 4
Joined: Fri Dec 08, 2023 10:20 am
Real Name: Rolf Kühn

SOLUTION:

I finally got it thanks to Michel!

For anybody else with the same problem I have attached a very simple example demonstrating the use of a loopback to solve my problem described above.

Note : in the input/output tab you need to setup a profile for the dmx channels you want to loopback. This took forever to figure out.

hope it helps somebody!
Attachments
qlc_loopback_example.qxw
(25.67 KiB) Downloaded 121 times
MichelSliepenbeek
Posts: 717
Joined: Wed Feb 08, 2023 10:24 am
Location: Nederland
Real Name: Michel Sliepenbeek

Only one important remark:
The essence of loopback is that all the channels of a universe are (not sent to an output device like a DMX dongle or Artnet, but they are) "looped back" to be used as an External Input (in another Universe).
So it is important to put the Fixtures you use for Loopback in a separate universe.

As all the channels of a Loopback Universe are looped back (rerouted from output to input) you don't want to put "Real Fixtures" in a Loopback Universe.
The output might not be sent to your DMX Dongle or Artnet anymore.


A few minor things to add:
If you attach a workspace (.QXW file) that uses loopback, you should also attach the matching QXI file.

If your workspace becomes bigger, you will be happy if you:
- always delete unused functions straight away.
- use logical names for your functions.

.
Attachments
qlc_loopback_example V2.qxi
(743 Bytes) Downloaded 108 times
qlc_loopback_example V2.qxw
(25.39 KiB) Downloaded 100 times
A QLC Workspace is like a Bob Ross painting: "it's your world, you can create whatever you want!"
spindrift
Posts: 4
Joined: Fri Dec 08, 2023 10:20 am
Real Name: Rolf Kühn

... a few more puzzle pieces have fallen into place. Thank you.

one question : QXI files seem to hold a input profile definition in xml format. I assumed these would be stored in the project/workspace file. I see now that input profiles apply globally. Can you tell me where to find the qxi files, and how to inport/export them.
User avatar
sbenejam
Posts: 607
Joined: Sun Apr 12, 2015 6:28 pm
Real Name: Santiago Benejam Torres
Contact:

You have to copy the qxi file to your user folder as expmained in the QLC+ documentation.

Q: Where is the QLC+ user folder located in my system?
A: The user folder is where user fixtures, input profiles, RGB scripts and MIDI templates go.
It changes depending on your operating system:
Linux: it is a hidden folder in your user home directory: $HOME/.qlcplus
Windows: it is a folder in your user (e.g. MyUser) directory: C:\\Users\\MyUser\\QLC+
Mac OS: it is located in your user Library directory: $HOME/Library/Application\\ Support/QLC+
You can reach any of these folders from a terminal with the cd command. For example:

cd $HOME/Library/Application\\ Support/QLC+

Please keep in mind that fixures and input profiles found in the user folder will have precedence over the same files in the QLC+ system folder.
You can also save custom Fixture Definitions and Input Profiles in the same folder as your project, QLC+ will find them when you open that project.
MichelSliepenbeek
Posts: 717
Joined: Wed Feb 08, 2023 10:24 am
Location: Nederland
Real Name: Michel Sliepenbeek

It is important to know that it will show up in QLC with the values that occur in the XML file for <Manufacturer> and <Model> (regardless of the File Name).
So if you download an InputProfile from this forum with the very original values "Loopback" and "Example", and you already have an inputprofile in your User Folder with the same values, it might not show up (QLC will only show one of the two).
A QLC Workspace is like a Bob Ross painting: "it's your world, you can create whatever you want!"
Post Reply