Mercurial > code > home > repos > light9
view light8/dmxclient.py @ 167:79bc84310e80
changes from tonight's rehearsal:
changes from tonight's rehearsal:
- CueFader is closer to actually running the show, computes DMX levels
to send.
- KeyboardComposer is not a dummy. Use DMXDUMMY=1 to disable it.
- Submaster: subs can now be "temporary" -- i.e. they shouldn't be saved
or loaded. to save a temporary sub, make a copy of it with a proper name
since the computed name will be ugly.
Also, get_normalized_copy() and crossfade() methods added.
linear_fade helper (shouldn't be in Submaster, probably) added too.
- dmxchanedit: longer labels
- cuelist1 now has some bogus data in it and some crap removed
- dmxclient: now listens to the $DMXHOST and $DMXDUMMY env variables.
- patchdata: now up to date with this year's show
- danshow subs song{01..19}: removed. maybe we'll re-add them in an
archive directory.
author | dmcc |
---|---|
date | Tue, 08 Jul 2003 16:19:55 +0000 |
parents | 2dfe2c0ba052 |
children | 238eede02bf9 |
line wrap: on
line source
""" module for clients to use for easy talking to the dmx server. sending levels is now a simple call to dmxclient.outputlevels(..) client id is formed from sys.argv[0] and the PID. """ import xmlrpclib,os,sys,socket,time _dmx=None _id="%s-%s" % (sys.argv[0].replace('.py','').replace('./',''),os.getpid()) def outputlevels(levellist): """present a list of dmx channel levels, each scaled from 0..1. list can be any length- it will apply to the first len() dmx channels. if the server is not found, outputlevels will block for a second.""" global _dmx,_id if _dmx is None: host = os.getenv('DMXHOST', 'localhost') _dmx=xmlrpclib.Server("http://%s:8030" % host) try: _dmx.outputlevels(_id,levellist) except socket.error,e: print "dmx server error %s, waiting"%e time.sleep(1) except xmlrpclib.Fault,e: print "outputlevels had xml fault: %s" % e time.sleep(1) dummy = os.getenv('DMXDUMMY') if dummy: print "dmxclient: DMX is in dummy mode." def bogus(*args): pass outputlevels = bogus