Utility for creating Chasers

Ask a generic question about the usage of QLC+, not related to a particular operating system
Post Reply
benste
Posts: 37
Joined: Mon Dec 12, 2016 6:36 pm
Real Name:

Hi there,
i need a functionality where i want to define 2 colors, a movement pattern, and a set of up to 8 dmxaddresses with respective dim red green blue values e.g. to highlight with color 2 in a chaser.
Therefore i want to auto-create the different scenes i need for the chaser.
Unfortunately QLC is written in a language which i don't really want to look into right now therefore i decided to use Java instead and modify the safe file only.

The current status of this experiment can be found here
https://github.com/bensteUEM/QLC-patterns

Moving forward i would have the following questions:
* Where can i find the validation schema for the qxw files
* How are the IDs of functions and chasers generated (just use max+1?)

+ Where do i find documentation about the new way of using scenes - i've read somewhere that their definition changes with 4.11 or so?
Thanks in advance for your support.

PS: If anyone wants to implement this "Chaser Generation" into QLC directly or some kind of plugin accessible from the GUI i'd be more than happy to ellaborate more about it.
janosvitok
Posts: 1266
Joined: Mon Apr 13, 2015 7:05 am
Location: Bratislava, Slovakia
Real Name: Jano Svitok
Contact:

benste wrote: Sat Sep 09, 2017 10:31 am Moving forward i would have the following questions:
* Where can i find the validation schema for the qxw files
It does not exist. You have to check the sources or actual qxw files to get a feel for the structure.
benste wrote: Sat Sep 09, 2017 10:31 am * How are the IDs of functions and chasers generated (just use max+1?)
https://github.com/mcallegari/qlcplus/b ... c.cpp#L877
find the lowest unused number
benste wrote: Sat Sep 09, 2017 10:31 am + Where do i find documentation about the new way of using scenes - i've read somewhere that their definition changes with 4.11 or so?
Sequences changed but scenes did not. viewtopic.php?f=17&t=11062&p=47687
benste
Posts: 37
Joined: Mon Dec 12, 2016 6:36 pm
Real Name:

Hi Jannosvitok, thanks for your reply, confirming the part with the IDs is already helpful :) I'm looking forward to see how this project turns out, though i don't really have the time to focus on it right now :)
I've seen Massimos post explaining the changes but wasn't sure and didn't try a new file yet ... will probably try to implement things with the current version and later change the way it's parsed.
So far i already have most parts of the logic, though i still need to think about whether i'll mod the qxw itself or instead just output snipped which can be manually added :)
benste
Posts: 37
Joined: Mon Dec 12, 2016 6:36 pm
Real Name:

Is there any reason for "Address" in the QXW file always beeing one number lower than the DMX address of the Fixture?
e.g.

Code: Select all

        <Fixture>
            <Manufacturer>Expolite</Manufacturer>
            <Model>TourLed 42</Model>
            <Mode>Tour</Mode>
            <ID>29</ID>
            <Name>Tour LED #130</Name>
            <Universe>0</Universe>
            <Address>129</Address>
            <Channels>10</Channels>
        </Fixture>
janosvitok
Posts: 1266
Joined: Mon Apr 13, 2015 7:05 am
Location: Bratislava, Slovakia
Real Name: Jano Svitok
Contact:

DMX channels are numbered from 1, and C/C++ arrays are numbered from 0.
Since QLC+ internally uses arrays/vectors to represent DMX data, zero based indexes are natural.
When Heikki or whoever wrote the XML exporter, he stored the value as-is.

The same is true for universes - they are also 0-based in QXW and 1-based in GUI.

Jano
benste
Posts: 37
Joined: Mon Dec 12, 2016 6:36 pm
Real Name:

And another question related to this :)

I noticed that Functions of Type Scene contain

Code: Select all

            <ChannelGroupsVal>9,0</ChannelGroupsVal>
and also

Code: Select all

            <FixtureVal ID="29">0,0</FixtureVal>
Are they merged with HTP or whatever it was called when the highest value is used?
Would leaving out ChannelGroupsVal return an invalid qxw file or would this be the same if no groups are selected?
benste
Posts: 37
Joined: Mon Dec 12, 2016 6:36 pm
Real Name:

Besides finding the MATRIX utlity today :(
I also found out that there is an issue with < and > in QXW files when used inside a String attribute ... is this a bug?
When i set ">" from QLC+ it seems to be transformed into "&lt;" though as this is already inside a string i didn't except this to be necessary ...
janosvitok
Posts: 1266
Joined: Mon Apr 13, 2015 7:05 am
Location: Bratislava, Slovakia
Real Name: Jano Svitok
Contact:

benste wrote: Sat Sep 16, 2017 10:30 am I noticed that Functions of Type Scene contain

Code: Select all

            <ChannelGroupsVal>9,0</ChannelGroupsVal>
Would leaving out ChannelGroupsVal return an invalid qxw file or would this be the same if no groups are selected?
These are channel groups - it's a way how to modify several channels at once (e.g. all reds, all dimmers)
You can omit them safely.
benste wrote: Sat Sep 16, 2017 10:30 am and also

Code: Select all

            <FixtureVal ID="29">0,0</FixtureVal>
These are scene values. ID is Fixture id, values are Channel1, Value1, Channel2, Value2, ... ChannelN, ValueN.
benste wrote: Sat Sep 16, 2017 10:30 am Are they merged with HTP or whatever it was called when the highest value is used?
The HTP/LTP depends on 1. Channel's <Group> tag in the fixture definition. Those with Intensity group are by default HTP, others are LTP.
You can override the default for any channel in Channel modifiers dialog http://www.qlcplus.org/docs/channelproperties.html
benste wrote: Sat Sep 16, 2017 6:15 pm Besides finding the MATRIX utlity today :(
I also found out that there is an issue with < and > in QXW files when used inside a String attribute ... is this a bug?
When i set ">" from QLC+ it seems to be transformed into "&lt;" though as this is already inside a string i didn't except this to be necessary ...
It's a property of QT QXmlStreamWriter (http://doc.qt.io/qt-5/qxmlstreamwriter.html). It seems that although you don't have to escape >, you can do so.
https://stackoverflow.com/questions/109 ... -documents

Note: The QXW format is internal to QLC+, and it may change. You may expect though that it will not change without good reason and most probably there will be
some mechanism to read the old files (as is the case now with sequences and web-based convertor).

Jano
Post Reply