bin/qmsk.dmx-web
changeset 97 ce91458641c1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/qmsk.dmx-web	Sat Jun 07 16:23:30 2014 +0300
@@ -0,0 +1,52 @@
+#!/usr/bin/env python3.4
+
+import qmsk.args
+import qmsk.web.args
+import qmsk.dmx
+import qmsk.dmx.web
+
+import logging; log = logging.getLogger('dmx')
+
+import argparse
+
+def dmx_universe (options, dmx) :
+    from qmsk.dmx import heads
+    
+    return heads.Universe({
+        'ledpar':   heads.Stairville_LEDPar56(1),
+        'par1':     heads.Dimmer(5),
+        'par2':     heads.Dimmer(6),
+        'ledbar_roof':      heads.AmericanDJ_MegaTri60_Mode2(10),
+        'ledbar_floor':     heads.AmericanDJ_MegaTri60_Mode2(20),
+    }, dmx)
+
+def main (argv) :
+    """
+        DMX web control.
+    """
+
+    parser = qmsk.args.parser(description=main.__doc__)
+    qmsk.web.args.options(parser, static='static')
+
+    parser.add_argument('--dmx-serial', default=None,
+            help="Path to /dev/tty*")
+
+    args = qmsk.args.parse(parser, argv)
+
+    # dmx
+    if args.dmx_serial :
+        dmx = qmsk.dmx.DMX.open(args.dmx_serial)
+        #dmx.zero()
+    else :
+        dmx = None
+
+    universe = dmx_universe(args, dmx)
+    
+    # Web app
+    application = qmsk.web.args.apply(args, qmsk.dmx.web.DMXWebApplication, universe)
+
+    # Run application
+    return qmsk.web.args.main(args, application)
+
+if __name__ == '__main__':
+    qmsk.args.main(main)