view light8/dmxclient.py @ 151:990a9474d0e7

early cue stuff. the CueList will supply the CueFader with the cues to early cue stuff. the CueList will supply the CueFader with the cues to work with, and will do crossfading sooner or later. the format of cues is still very open. cuelist1 is a bogus cuelist for testing.
author dmcc
date Sun, 06 Jul 2003 16:33:06 +0000
parents 2dfe2c0ba052
children 79bc84310e80
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:
        _dmx=xmlrpclib.Server("http://dash:8030")

    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)