Mercurial > code > home > repos > light9
comparison bin/dmxserver @ 1220:d5e99fee786d
twisted uses zmq (not xmlrpc) to send levels to dmxserver
Ignore-this: 78d627e1ff8c8e83b50ae099d373b8c1
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Mon, 08 Jun 2015 06:53:12 +0000 |
parents | ba47676dde49 |
children | a5a44077c54c |
comparison
equal
deleted
inserted
replaced
1219:b15a2d8ef1ab | 1220:d5e99fee786d |
---|---|
32 from light9.io import ParportDMX, UsbDMX | 32 from light9.io import ParportDMX, UsbDMX |
33 | 33 |
34 from light9.updatefreq import Updatefreq | 34 from light9.updatefreq import Updatefreq |
35 from light9 import networking | 35 from light9 import networking |
36 | 36 |
37 from txzmq import ZmqEndpoint, ZmqFactory, ZmqPullConnection, ZmqRequestTimeoutError | |
38 import json | |
39 | |
40 def startZmq(port, outputlevels): | |
41 zf = ZmqFactory() | |
42 e = ZmqEndpoint('bind', 'tcp://*:%s' % port) | |
43 s = ZmqPullConnection(zf, e) | |
44 def onPull(message): | |
45 msg = json.loads(message[0]) | |
46 outputlevels(msg['clientid'], msg['levellist']) | |
47 s.onPull = onPull | |
37 | 48 |
38 class ReceiverApplication(object): | 49 class ReceiverApplication(object): |
39 """ | 50 """ |
40 receive UDP OSC messages. address is /dmx/1 for dmx channel 1, | 51 receive UDP OSC messages. address is /dmx/1 for dmx channel 1, |
41 arguments are 0-1 floats for that channel and any number of | 52 arguments are 0-1 floats for that channel and any number of |
246 port = networking.dmxServer.port | 257 port = networking.dmxServer.port |
247 print "starting xmlrpc server on port %s" % port | 258 print "starting xmlrpc server on port %s" % port |
248 xmlrpcServe = XMLRPCServe(options) | 259 xmlrpcServe = XMLRPCServe(options) |
249 reactor.listenTCP(port,server.Site(xmlrpcServe)) | 260 reactor.listenTCP(port,server.Site(xmlrpcServe)) |
250 | 261 |
262 startZmq(networking.dmxServerZmq.port, xmlrpcServe.xmlrpc_outputlevels) | |
263 | |
251 oscApp = ReceiverApplication(9051, xmlrpcServe) | 264 oscApp = ReceiverApplication(9051, xmlrpcServe) |
252 | 265 |
253 reactor.run() | 266 reactor.run() |
254 | 267 |