#!bin/python from run_local import log import colorsys, time, logging from light9 import dmxclient from twisted.internet import reactor, task log.setLevel(logging.INFO) firstDmxChannel = 10 def step(): hue = (time.time() * .2) % 1.0 r, g, b = colorsys.hsv_to_rgb(hue, 1, 1) chans = [r, g, b] log.info(chans) dmxclient.outputlevels([0] * (firstDmxChannel - 1) + chans, twisted=True) task.LoopingCall(step).start(.05) reactor.run()
def messageReceived(self, message): log.info("got message %s" % message) if message == "getWaveform": sendToLiveClients({ 'points': [int(100 * s / 32768) for s in envPrevs]}) class Params(cyclone.web.RequestHandler): def get(self): self.write(json.dumps(config)) class Param(cyclone.web.RequestHandler): def put(self, name): config[name] = float(self.request.body) self.set_status(httplib.ACCEPTED) log.setLevel(logging.DEBUG) from twisted.internet import reactor, task task.LoopingCall(writeOut).start(config['outSleep']) port = 9991 reactor.listenTCP(port, cyclone.web.Application(handlers=[ (r'/live', Live), (r'/params', Params), (r'/params/(.*)', Param), (r'/(.*)', cyclone.web.StaticFileHandler, {"path" : "www", "default_filename" : "index.html"}), ], debug=True)) reactor.run()