Page 1 of 1
Printable or saveable patch list
Posted: Wed Jul 10, 2013 10:15 am
by Tom Lincoln
From the fixtures tab the ability to print out / save a txt file of a patch list with fixture name, start dmx channel in number form and binary (simpler than printing a picture for each fixture).
Maybe the ability to just select what fixtures you want to print out on a patch list.
Output could be something like this
~~~~~~
QLC+ Patch List for testshow.qxw
Fixture Universe Address Binary
Mac500 #1 1 1 1000000000
Mac500 #2 1 13 1011000000
Mac500 #3 1 25 1001100000
Mac500 #4 1 37 1010010000
~~~~~~
Regards, Tom
Printable or saveable patch list
Posted: Thu Jul 11, 2013 7:05 pm
by Massimo Callegari
At the moment there is the possibility to export the fixtures list from the fixture panel (document icon with an arrow on it)
They're saved in XML format. Then you can parse the file how you want and build a printable list.
What's this functionality for by the way ? A sort of checklist ?
Printable or saveable patch list
Posted: Fri Jul 12, 2013 10:20 am
by Tom Lincoln
Ok, will give that a go.
Functionality is so that I can take a list and go round to each light and change its dmx address to how I have patched in program, currently I just write down the fixtures and address's on a piece of paper then go round the grid changing the addresses
Printable or saveable patch list
Posted: Fri Jul 12, 2013 11:01 am
by Massimo Callegari
This is probably one of the reasons why they invented laptops
Just kidding
Printable or saveable patch list
Posted: Fri Jul 12, 2013 1:45 pm
by Tom Lincoln
I was thinking about useing vnc from my tab and do it that way
Printable or saveable patch list
Posted: Sat Jul 13, 2013 5:26 pm
by Tom Lincoln
Got it to work with a bit of python, not worked out how to make a binary dip switch representation yet
~~~~~~
:::python
import xml.etree.ElementTree as ET
import sys
def parseXML(xml_file):
tree = ET.ElementTree(file=xml_file)
root = tree.getroot()
fixtures = root.findall('Fixture')
print "-" * 40
print "QLC Patch List"
print "-" * 40
print "Name\t\t\tUniverse\tAddress"
for fixtures in fixtures:
fixture_Name = fixtures.findall('Name')
fixture_Universe = fixtures.findall('Universe')
fixture_Address = fixtures.findall('Address')
for fixture_nam in fixture_Name:
for fixture_uni in fixture_Universe:
for fixture_add in fixture_Address:
print "%s\t\t %s\t\t %s\t" % (fixture_nam.text, fixture_uni.text, fixture_add.text)
if __name__ == "__main__":
if len(sys.argv) >= 2:
filename = sys.argv[1]
parseXML(filename)
else:
print "Please specify a patch file to read"
~~~~~~
It Prints out this when run on a .qxfl file
~~~~~~
----------------------------------------
QLC Patch List
----------------------------------------
Name Universe Address
Dimmers #1 0 0
Dimmers #2 0 6
Dimmers #3 0 12
Dimmers #4 0 18
~~~~~~
Printable or saveable patch list
Posted: Sun Jul 14, 2013 9:21 pm
by Jano Svitok
I fixed some things, and added the DIP display. Enjoy! (tested with python 2.7)
~~~~~~~~~~~~~
#!/usr/bin/python
import xml.etree.ElementTree as ET
import sys
def parseXML(xml_file):
tree = ET.ElementTree(file=xml_file)
root = tree.getroot()
fixtures = root.findall('Fixture')
print "-" * 53
print "QLC Patch List"
print "-" * 53
print "%-20s %10s %10s" % ("Name", "Universe", "Address")
for fixture in fixtures:
fixture_Name = fixture.findall('Name')[0].text
fixture_Universe = int(fixture.findall('Universe')[0].text)
fixture_Address = int(fixture.findall('Address')[0].text)
fixture_Dip = '{0:010b}'.format(fixture_Address)
print "%-20s %10i %10i %s" % (fixture_Name, fixture_Universe, fixture_Address, fixture_Dip)
if __name__ == "__main__":
if len(sys.argv) >= 2:
filename = sys.argv[1]
parseXML(filename)
else:
print "Please specify a patch file to read"
~~~~~~~~~~~~~
Printable or saveable patch list
Posted: Mon Jul 15, 2013 9:52 am
by Tom Lincoln
Nice,
Just noticed that the fixture address should be the address + 1
Printable or saveable patch list
Posted: Mon Jul 15, 2013 10:29 am
by Tom Lincoln
Changed a bit of your code
Reversed the Binary representation and + 1 to the address
Probably need to add a gap between address and dip
~~~~~~
#!/usr/bin/python
import xml.etree.ElementTree as ET
import sys
def parseXML(xml_file):
tree = ET.ElementTree(file=xml_file)
root = tree.getroot()
fixtures = root.findall('Fixture')
print "-" * 53
print "QLC Patch List for " + filename
print "-" * 53
print "%-20s %10s %10s %10s" % ("Name", "Universe", "Address", "Dip")
for fixture in fixtures:
fixture_Name = fixture.findall('Name')[0].text
fixture_Universe = int(fixture.findall('Universe')[0].text)
fixture_Address = int(fixture.findall('Address')[0].text)+1
fixture_Dip = '{0:010b}'.format(fixture_Address)[::-1]
print "%-20s %10i %10i %s" % (fixture_Name, fixture_Universe, fixture_Address, fixture_Dip)
if __name__ == "__main__":
if len(sys.argv) >= 2:
filename = sys.argv[1]
parseXML(filename)
else:
print "Please specify a patch file to read"
~~~~~~
Printable or saveable patch list
Posted: Thu Jul 18, 2013 11:42 am
by giacomo
Would be possible to do the opposite?
From a manual edited a "patch list" to a "show file"?
(personally I'm not able)
In theatres it's almost impossible to decide the fixtures addresses, this would be a nice help.
Printable or saveable patch list
Posted: Thu Jul 18, 2013 1:37 pm
by Jano Svitok
Would you please describe the scenario in more detail? I'm not sure I understood correctly.
You want to print the patch list, then manually update it on the stage (e.g. with a pen
get back to computer, edit the patch list text file and import that back to QLC?
Can't you just edit the patching directly in QLC? It seems that I'm missing something, so I'm asking for more details...
Printable or saveable patch list
Posted: Thu Jul 18, 2013 3:42 pm
by giacomo
Hi Jano,
I've an already programmed show with 80 dimmers: the next venue I'll have to change all of them and it won't be easy because QLC+ will block me -and normally it's a good thing- every time the new fixtures address will be already used in the "old" patch (and in a theatre I can't change the dimmer addresses off the house, often they don't aloud me because it's a fixed installation and they've their software controlling something else, like audience lights, services, safety lights etch..)
I was only thinking that it could be more simple to edit a patch file and then import to QLC+.
For this show with only 80 dimmers, an easy temporary solution it will be to change the universe, but this is not the "correct" solution for everybody.
(or I could edit the project file by myself too)
Printable or saveable patch list
Posted: Thu Jul 18, 2013 3:55 pm
by Jano Svitok
I see now
Idea #1: What about being able to unpatch the fixtures (i.e. they would have no address for some time) and then patch them in the new order? Though I'm not sure how hard is that to implement (the rest of the program must cope if the fixture has no address).
The idea is: press button to clear all DMX addresses, then enter new ones, save.
Idea #2: is to allow multiple patching, or at least temporary - in that case QLC would allow overlapping addresses, but you could not leave the fixture tab until you fix it.
Idea #3: allow separate patching for each venue in the workspace. - I don't like this
Printable or saveable patch list
Posted: Thu Jul 18, 2013 4:26 pm
by Massimo Callegari
Jano, from my point of view, none of the 3
Too much coding for a single feature.
By the way, guys, this is off-topic
Giacomo opened another topic for this and I already gave my answer:
https://sourceforge.net/p/qlcplus/discu ... /dc1e9b7c/
@Jano, see my last 2 commits
Re: Printable or saveable patch list
Posted: Thu Dec 31, 2015 3:50 am
by jensona@esuhsd.org
First of all, Thanks to everyone involved for such an awesome program. QLC+ is amazing, and I'm loving it as a first time switch from analog lighting boards to computer-driven dmx. I'm wondering if anyone has developed a better way to print out a patch list. Specifically, so I can send student techs into the lighting grid to plug and focus.
I've been trying to export and import into excel and word, to some success using a lot of replace all and importing/exporting back and forth. I'm not savvy enough with Terminal to figure out the python ( I realize it does exactly what I'm looking for, but I'm thinking there ought to be a way to get a spreadsheet program to organize the exported fixture list too.)
Thanks-
MacBook - Enttec USB
~50 fixed ellipsoidals, pars and cyc
~20 led pars and a few bars.
no moving lights - yet