Hello all,
For a projecte i've created a fixture with 2 RGB Led's in 1 head.
When using these fixtures in an RGB Matrix only the first RGB Led works.
I've tried to change the fixture definition to 2 heads. Both RGB Led's work, but they are seen as separate RGB led's in the RGB Matrix.
I would like the 2 RGB Leds to work as one.
How can that be done in QLC+?
Running QLC+ 4.8.5 on OS X 10.8
Regards Teackele
RGB Fixture with 2 RGB Led's in RGB Matrix
-
- Posts: 1331
- Joined: Mon Apr 13, 2015 7:05 am
- Location: Bratislava, Slovakia
- Real Name: Jano Svitok
- Contact:
Hi,
can you post your fixture definition and/or picture of your fixture?
From what you've said I understand that:
You have a fixture that has (at least) 6 channels R1,G1,B1,R2,G2,B2 and you want the colors work together i.e. R1+R2 always the same, G1+G2 and B1+B2.
I don't know of a way to do this easily. I know of a way to do it by using loopback plugin, but it's a bit awkward. How many such fixtures do you use?
can you post your fixture definition and/or picture of your fixture?
From what you've said I understand that:
You have a fixture that has (at least) 6 channels R1,G1,B1,R2,G2,B2 and you want the colors work together i.e. R1+R2 always the same, G1+G2 and B1+B2.
I don't know of a way to do this easily. I know of a way to do it by using loopback plugin, but it's a bit awkward. How many such fixtures do you use?
-
- Posts: 20
- Joined: Thu May 07, 2015 11:06 am
- Real Name:
To answer your question: 40-50 fixtures in total so far, might be more in the futurejanosvitok wrote:How many such fixtures do you use?
I've been trying and thinking to find a solution for this.
-Reprogram the addresses of the RGB led. This takes a lot of a time and prevents some extra functionality like lightning the left and right sides of the object separately.
-Doubling the size of the matrix won't work i think. I It will work then in the same way as the fixture with 2 rgb led's. The rgb matrix sees them separate then.
-Programmatically: implement some kind of virtual fixture which can consist of multiple other fixtures. Or make it possible to add a channel group to a rgb matrix cell
How does the loopback solution work?
Regards teackele
-
- Posts: 20
- Joined: Thu May 07, 2015 11:06 am
- Real Name:
Hello,
Thanks for the quick replies.
The "Fixtures" are self built objects for an installation that contain 2 Led Dots.
The led dots are similar to this one http://www.shiji-led.com/en/productshow ... 38&sid=179.
The difference is that they have a different chip that make them direct DMX addressable. only 3 channels per dot, red green and blue.
Attached the self made fixture with both modes.
Regards
Teackele
Thanks for the quick replies.
The "Fixtures" are self built objects for an installation that contain 2 Led Dots.
The led dots are similar to this one http://www.shiji-led.com/en/productshow ... 38&sid=179.
The difference is that they have a different chip that make them direct DMX addressable. only 3 channels per dot, red green and blue.
Attached the self made fixture with both modes.
Regards
Teackele
- Attachments
-
- Daan-Soer-Eend.qxf
- (2.53 KiB) Downloaded 36 times
-
- Posts: 1331
- Joined: Mon Apr 13, 2015 7:05 am
- Location: Bratislava, Slovakia
- Real Name: Jano Svitok
- Contact:
The trick is this:
Let's say you have 50 fixtures, each having 2 RGB pixels, patched to universe 1 addresses 1..300 (first 1..6, second 7..12, ... 40th 295..300).
Now:
1. add two more universes 2 and 3
2. patch 50 fixture each having 1 RGB pixel to universe 2 at addresses 1..150. you may do this fast using RGB panel feature.
3. create group for these 50 pixels.
4. create RGB matrix for this group
5. set universe 2 output to loopback 1
6. set universe 3 input to loopback 1
7. create 150 sliders in the virtual console. set them all to level mode.
7.1 set first slider to control red channels of the first fixture in Universe 1 (i.e. channels 1 & 4). set it's external input to universe 3, channel 1
7.2 set second slider to control green channels of the first fixture in Universe 1 (i.e. channels 2 & 5). set it's external input to universe 3, channel 2
...
7.150 set 150th slider to ... blue ... of the 50th ... channels 297 & 300... universe 3, channel 150
Now when the RGB matrix over universe 2 fixture sets a color, the output will be fed through loopback to sliders, they will move and in turn set multiple channels in universe 1.
If I find some time tonight, I will create the workspace for you (using a script, obviously).
Let's say you have 50 fixtures, each having 2 RGB pixels, patched to universe 1 addresses 1..300 (first 1..6, second 7..12, ... 40th 295..300).
Now:
1. add two more universes 2 and 3
2. patch 50 fixture each having 1 RGB pixel to universe 2 at addresses 1..150. you may do this fast using RGB panel feature.
3. create group for these 50 pixels.
4. create RGB matrix for this group
5. set universe 2 output to loopback 1
6. set universe 3 input to loopback 1
7. create 150 sliders in the virtual console. set them all to level mode.
7.1 set first slider to control red channels of the first fixture in Universe 1 (i.e. channels 1 & 4). set it's external input to universe 3, channel 1
7.2 set second slider to control green channels of the first fixture in Universe 1 (i.e. channels 2 & 5). set it's external input to universe 3, channel 2
...
7.150 set 150th slider to ... blue ... of the 50th ... channels 297 & 300... universe 3, channel 150
Now when the RGB matrix over universe 2 fixture sets a color, the output will be fed through loopback to sliders, they will move and in turn set multiple channels in universe 1.
If I find some time tonight, I will create the workspace for you (using a script, obviously).
-
- Posts: 1331
- Joined: Mon Apr 13, 2015 7:05 am
- Location: Bratislava, Slovakia
- Real Name: Jano Svitok
- Contact:
To speed up things, please post a workspace that contains properly patched fixtures to universe 1 (so that they work as 2 pixel fixtures) and steps 1-6. I will add the 7th step for you.
It looks like the maximum for slider group is 99 sliders, so I will create 3 groups of 50, or whatever convenient number is for the fixtures you patch in the file.
It looks like the maximum for slider group is 99 sliders, so I will create 3 groups of 50, or whatever convenient number is for the fixtures you patch in the file.
-
- Posts: 1331
- Joined: Mon Apr 13, 2015 7:05 am
- Location: Bratislava, Slovakia
- Real Name: Jano Svitok
- Contact:
and one more note: if you are able to code in a scripting language (python/perl/ruby/php/...), the 7th step is as follows:
create the sliders group(s) in VC, set one slider properties (e.g. the first one - level, controlled channels and external input), save workspace, close QLC+, have a look at the XML content of the qxw file,
note the parameters of the first slider, and make a script that adjusts the rest of the sliders in a similar manner.
create the sliders group(s) in VC, set one slider properties (e.g. the first one - level, controlled channels and external input), save workspace, close QLC+, have a look at the XML content of the qxw file,
note the parameters of the first slider, and make a script that adjusts the rest of the sliders in a similar manner.
-
- Posts: 1331
- Joined: Mon Apr 13, 2015 7:05 am
- Location: Bratislava, Slovakia
- Real Name: Jano Svitok
- Contact:
Here you are. If you need a different constelation of the RGB pixels in universe 2, please create your own qxw and I'll update the faders as need.
BTW: this is the script to update the faders (ruby):
BTW: this is the script to update the faders (ruby):
Code: Select all
#!/usr/bin/env ruby
require 'libxml'
NS = ['xmlns:http://qlcplus.sourceforge.net/Workspace']
filename = 'doublergb.qxw'
doc = LibXML::XML::Document.file(filename)
doc.root.namespaces.default_prefix = 'qxw'
doc.root.find('//qxw:Slider', NS).each do |slider|
id = slider['ID'].to_i
next if id == 51
ofs = case id
when 51..100
-51
when 152..201
-152 + 50
when 203..252
-203 + 100
end
puts id, ofs
input_channel = id + ofs
fixture = input_channel / 3
fixture_ch = input_channel % 3
puts id, ofs, input_channel
slider.find('qxw:SliderMode', NS).each do |slider_mode|
slider_mode.content = 'Level'
end
slider.find('qxw:Level', NS).each do |level|
ch = LibXML::XML::Node.new('Channel', fixture_ch.to_s)
ch["Fixture"] = fixture.to_s
level << ch
ch = LibXML::XML::Node.new('Channel', (fixture_ch + 3).to_s)
ch["Fixture"] = fixture.to_s
level << ch
end
input = LibXML::XML::Node.new('Input')
input["Channel"] = input_channel.to_s
input["Universe"] = "2"
slider << input
end
doc.save(filename + 'x', :indent => true, :encoding => LibXML::XML::Encoding::UTF_8)
- Attachments
-
- doublergb1.qxw
- (126.64 KiB) Downloaded 110 times