1 #!/usr/bin/env python |
|
2 |
|
3 import pvl.args |
|
4 import pvl.web.args |
|
5 import qmsk.dmx |
|
6 import qmsk.dmx.web |
|
7 |
|
8 import logging; log = logging.getLogger('dmx') |
|
9 |
|
10 import optparse |
|
11 |
|
12 def dmx_universe (options, dmx) : |
|
13 from qmsk.dmx import heads |
|
14 |
|
15 return heads.Universe(dmx, { |
|
16 'ledpar': heads.Stairville_LEDPar56(1), |
|
17 'par1': heads.Dimmer(5), |
|
18 'par2': heads.Dimmer(6), |
|
19 'ledbar_roof': heads.AmericanDJ_MegaTri60_Mode2(10), |
|
20 'ledbar_floor': heads.AmericanDJ_MegaTri60_Mode2(20), |
|
21 }) |
|
22 |
|
23 def main (argv) : |
|
24 """ |
|
25 DMX web control. |
|
26 """ |
|
27 |
|
28 parser = optparse.OptionParser(main.__doc__) |
|
29 parser.add_option_group(pvl.args.parser(parser)) |
|
30 parser.add_option_group(pvl.web.args.parser(parser)) |
|
31 |
|
32 parser.add_option('--dmx-serial', default=None, |
|
33 help="Path to /dev/tty*") |
|
34 |
|
35 options, args = parser.parse_args(argv[1:]) |
|
36 |
|
37 pvl.args.apply(options) |
|
38 |
|
39 # dmx |
|
40 if options.dmx_serial : |
|
41 dmx = qmsk.dmx.DMX.open(options.dmx_serial) |
|
42 #dmx.zero() |
|
43 else : |
|
44 dmx = None |
|
45 |
|
46 universe = dmx_universe(options, dmx) |
|
47 |
|
48 # app |
|
49 app = qmsk.dmx.web.DMXWebApplication(universe) |
|
50 |
|
51 pvl.web.args.main(options, app) |
|
52 |
|
53 if __name__ == '__main__': |
|
54 pvl.args.main(main) |
|