Definition of multiple fixtures on the same channel
-
- Posts: 22
- Joined: Tue May 28, 2024 3:27 pm
- Real Name: Howie Bernstein
I would really like to be able to lay out virtual fixtures in the 2D activity monitor that match physical fixtures in the theater environment. If I have multiple fixtures on the same DMX channel, there isn't any way to do this easily. There was some method described in another thread involving using other universes, but I have not explored that work around yet. If it did work, it would seem to be limited to 4 physical fixtures. Having it be supported in a single universe would be much easier, and very useful, I think.
-
- Posts: 419
- Joined: Thu Jun 17, 2021 9:31 am
- Location: Australia
- Real Name:
- Contact:
Hey Howieb,
I've made an example showfile which I hope can help you. Although it requires a bit of explaination. Before reading further know that you'll have to be in show mode to see the pars working. If you're happy to use the "Live edit" button for your scenes this shouldn't be an issue.
Firstly, download the example here: In the real world, we have 2 dimmer channels which are plugged in (patched) to 2 par cans each. The first channel of our dimmer controls pars with cool gels and the second channel controls pars with warm gels.
Fantastic, let's put them in QLC+. I've put them in Universe 1 because that makes sense.
Our 2D view needs to reflect what is happening in real life. Let's add our 4 "real" par cans to a universe where they won't interfere with other channels on our dimmer rack.
Cool, so now we need to control them. On the virtual console, I've put 2 knobs in a frame. These will control directly the pars in our 2D view universe. They themselves will be taking direction from our loopback 1 interface.
Great, now when we use our example controls to control our 2 dimmer channels, all 4 pars reflect what would happen in real life. But how do we get DMX to them if our output is already used?
Let's passthrough the dmx values from our loopback 1 into loopback 2, then we can passthrough Loopback 2 to our actual DMX output. (maybe artnet, Enttec DMX adaptor or whatever)
Yay now everything works.
It is a bit of a hack, and this will be much easier in v5 where you can condense our 2 loopbacks into 1. But this should work for what you need.
If this response helped you please consider a small donation to the project, no stress though.
Lachie
I've made an example showfile which I hope can help you. Although it requires a bit of explaination. Before reading further know that you'll have to be in show mode to see the pars working. If you're happy to use the "Live edit" button for your scenes this shouldn't be an issue.
Firstly, download the example here: In the real world, we have 2 dimmer channels which are plugged in (patched) to 2 par cans each. The first channel of our dimmer controls pars with cool gels and the second channel controls pars with warm gels.
Fantastic, let's put them in QLC+. I've put them in Universe 1 because that makes sense.
Our 2D view needs to reflect what is happening in real life. Let's add our 4 "real" par cans to a universe where they won't interfere with other channels on our dimmer rack.
Cool, so now we need to control them. On the virtual console, I've put 2 knobs in a frame. These will control directly the pars in our 2D view universe. They themselves will be taking direction from our loopback 1 interface.
Great, now when we use our example controls to control our 2 dimmer channels, all 4 pars reflect what would happen in real life. But how do we get DMX to them if our output is already used?
Let's passthrough the dmx values from our loopback 1 into loopback 2, then we can passthrough Loopback 2 to our actual DMX output. (maybe artnet, Enttec DMX adaptor or whatever)
Yay now everything works.
It is a bit of a hack, and this will be much easier in v5 where you can condense our 2 loopbacks into 1. But this should work for what you need.
If this response helped you please consider a small donation to the project, no stress though.
Lachie
-
- Posts: 717
- Joined: Wed Feb 08, 2023 10:24 am
- Location: Nederland
- Real Name: Michel Sliepenbeek
The logic behind the suggestion i made overhere ( viewtopic.php?p=73410#p73410) is:
- put your your Duplicate Fixtures in a separate Universe. This is only to avoid noise on the universe that actually produces DMX Output to your Fixtures.
- use the same DMX adress in the Dummy Universe(s) had no other reason then to make it recognisable to which DMX channel the Fixture is actually listening.
Be aware that on the Input/Output tab you can use the + button to add more universe if you need so.
If you check the on line help (https://docs.qlcplus.org/v4/input-output) you can read: By default QLC+ provides 4 universes but you can add/remove them as needed.
- put your your Duplicate Fixtures in a separate Universe. This is only to avoid noise on the universe that actually produces DMX Output to your Fixtures.
- use the same DMX adress in the Dummy Universe(s) had no other reason then to make it recognisable to which DMX channel the Fixture is actually listening.
Be aware that on the Input/Output tab you can use the + button to add more universe if you need so.
If you check the on line help (https://docs.qlcplus.org/v4/input-output) you can read: By default QLC+ provides 4 universes but you can add/remove them as needed.
A QLC Workspace is like a Bob Ross painting: "it's your world, you can create whatever you want!"
-
- Posts: 22
- Joined: Tue May 28, 2024 3:27 pm
- Real Name: Howie Bernstein
Hi Lachie,
Thank you so much for the example, and yes, I do plan to make a donation. I used QLC+ for our church youth production this year, and we're not going back to our simple 12 channel console. Even though we were able to get what we wanted out of QLC+, I realize I still have a lot to learn. Now that the show is over, and we probably will not be raising the truss again until next June, I'm going to start using version 5. Questions below.
I tried to find information about loopback in the documentation (docs.qlcplus.org) but no joy. Where should I be looking?
Is there a downside to using the virtual console in show mode (vs. a chaser in the function tab)? On the surface there doesn't seem to be.
I see that in the example, all four universes are renamed. Can you briefly say what each is used for? I'll take a stab... This is probably me regurgitating what you did in my own words. Bear with me.
Universe1 is my physical universe that contains the dimmers. The output of Universe1 goes to Loopback1. Universe1 is where all the controls do their thing.
Universe2 is my physical universe that identifies the fixtures, but does not control them.
Universe3 simply defines that incoming changes on Loopback1 (from Universe1) go to Loopback2 (consumed by Universe4, DMX Output)
Universe4 is where I specify my DMX device as output.
Looking at the knob definitions, it looks like you manually set the Input (Universe and Channel) values, as Choose didn't seem to do much of anything, e.g. double-clicking and specifying channel 1. Is that the case? Where is the syntax defined?
@MichelSliepenbeek. I appreciate your solution as well. This seems more streamlined. Do you see advantages to your approach?
On another note, I am a retired software engineer. I've done a lot of work in C++, Java, OOD, GUI design... I've never done open source development, but this really interests me. Where can I learn more about this?
Thanks,
Howie
Thank you so much for the example, and yes, I do plan to make a donation. I used QLC+ for our church youth production this year, and we're not going back to our simple 12 channel console. Even though we were able to get what we wanted out of QLC+, I realize I still have a lot to learn. Now that the show is over, and we probably will not be raising the truss again until next June, I'm going to start using version 5. Questions below.
I tried to find information about loopback in the documentation (docs.qlcplus.org) but no joy. Where should I be looking?
Is there a downside to using the virtual console in show mode (vs. a chaser in the function tab)? On the surface there doesn't seem to be.
I see that in the example, all four universes are renamed. Can you briefly say what each is used for? I'll take a stab... This is probably me regurgitating what you did in my own words. Bear with me.
Universe1 is my physical universe that contains the dimmers. The output of Universe1 goes to Loopback1. Universe1 is where all the controls do their thing.
Universe2 is my physical universe that identifies the fixtures, but does not control them.
Universe3 simply defines that incoming changes on Loopback1 (from Universe1) go to Loopback2 (consumed by Universe4, DMX Output)
Universe4 is where I specify my DMX device as output.
Looking at the knob definitions, it looks like you manually set the Input (Universe and Channel) values, as Choose didn't seem to do much of anything, e.g. double-clicking and specifying channel 1. Is that the case? Where is the syntax defined?
@MichelSliepenbeek. I appreciate your solution as well. This seems more streamlined. Do you see advantages to your approach?
On another note, I am a retired software engineer. I've done a lot of work in C++, Java, OOD, GUI design... I've never done open source development, but this really interests me. Where can I learn more about this?
Thanks,
Howie
-
- Posts: 419
- Joined: Thu Jun 17, 2021 9:31 am
- Location: Australia
- Real Name:
- Contact:
Yes, when defining the input you can select unpatched universes and manually enter the channel number.
That's awesome to hear! Here's how I would suggest you dip your toes in:
- Make a GitHub account
- Star the https://github.com/mcallegari/qlcplus repository
- Make a fork of the above repository
- Break things
- Fix things
- Review some of the merged pull requests to see how the process works
- Make a forum thread to see if the fixes or improvements you're planning to make will make sense for the project.
- Make a pull request
- Get blasted by Massimo because the brackets aren't on a newline
- Fix the above then get it merged
- Congrats! Your changes are now going to be in the next QLC+ release.
Don't forget to read the https://github.com/mcallegari/qlcplus/b ... IBUTING.md in which Massimo has some ground rules.
If all that seems tricky there's also work to do on the qlcplus-docs repo, which can all be edited on GitHub directly.
Link to the repo:
https://github.com/mcallegari/qlcplus-docs
Some good "first issues" can be found here:
https://github.com/mcallegari/qlcplus-docs/issues
-
- Posts: 717
- Joined: Wed Feb 08, 2023 10:24 am
- Location: Nederland
- Real Name: Michel Sliepenbeek
We all have our own personal favourites. This is what i came up with:
The naming of the Fixtures should be "self explaining" .
I went for a solution that would also work when you use RGB Matrices (if you include Dummies in your Fixture Group you get unwanted pauses in your effects).
So i used 2 Loopback channels to solve the "1 to many issue". You need to build your Functions on these Loopback channels.
The "Spot Configuration" frame will redistribute the control data to the Real and Dummy Fixtures. You can keep this frame minimised (but it should be "Always On Top").
Please Note that:
- all channels are set to LTP.
- there is a Channel Modifier on the Speed Loopback Channel.
- all RGB Matrices are set to Blendmode = Mask (so they use the levels you did set with your sliders).
- Feel free to Fine Tune the values in the Speed Dial to your likings.
- the dummy Fixtures have a different color in the Fixture Minitor.
I used separate Universes for Real Fixtures and Dummy Fixtures (that way avoiding noise on your actual DMX outputs).The naming of the Fixtures should be "self explaining" .
I went for a solution that would also work when you use RGB Matrices (if you include Dummies in your Fixture Group you get unwanted pauses in your effects).
So i used 2 Loopback channels to solve the "1 to many issue". You need to build your Functions on these Loopback channels.
The "Spot Configuration" frame will redistribute the control data to the Real and Dummy Fixtures. You can keep this frame minimised (but it should be "Always On Top").
Please Note that:
- all channels are set to LTP.
- there is a Channel Modifier on the Speed Loopback Channel.
- all RGB Matrices are set to Blendmode = Mask (so they use the levels you did set with your sliders).
- Feel free to Fine Tune the values in the Speed Dial to your likings.
- the dummy Fixtures have a different color in the Fixture Minitor.
A QLC Workspace is like a Bob Ross painting: "it's your world, you can create whatever you want!"