Mercurial > code > home > repos > light9
changeset 90:d34a4956417a
rsn has a separate thread that receives rlslider connections from a potserver.py process,
rsn has a separate thread that receives rlslider connections from a potserver.py process,
and they work
author | drewp |
---|---|
date | Sat, 13 Jul 2002 02:57:27 +0000 |
parents | 0459cecf8145 |
children | 7f273883de60 |
files | light8/ExternalInput.py light8/rsn.py light8/uihelpers.py |
diffstat | 3 files changed, 21 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/light8/ExternalInput.py Sat Jul 13 02:28:45 2002 +0000 +++ b/light8/ExternalInput.py Sat Jul 13 02:57:27 2002 +0000 @@ -1,10 +1,15 @@ -import thread, SocketServer +import thread, SocketServer, socket + + +currentlevels = [0,0,0,0] + class NetSliderHandler(SocketServer.StreamRequestHandler): def handle(self): data = self.rfile.readline(1000) + currentlevels[:] = [float(x)/255 for x in list(data.split())] -def start_server(levelstorage): +def start_server(levelstorage=0): server = SocketServer.TCPServer( ('', socket.getservbyname('rlslider', 'tcp')), NetSliderHandler) @@ -23,7 +28,8 @@ def update(self, *args): self.level_storage[:] = args def get_levels(self): - import math, time - return [max(0, math.sin(time.time() + i)) for i in range(4)] # bogus + return currentlevels +# import math, time +# return [max(0, math.sin(time.time() + i)) for i in range(4)] # bogus # return self.level_storage
--- a/light8/rsn.py Sat Jul 13 02:28:45 2002 +0000 +++ b/light8/rsn.py Sat Jul 13 02:57:27 2002 +0000 @@ -33,6 +33,12 @@ signal(SIGINT, mr_lightboard.quit) +# +# start net slider server in separate thread +# +import ExternalInput, thread +thread.start_new_thread(ExternalInput.start_server,()) + bindkeys(root,'<Escape>', mr_lightboard.quit) root.bind_class("all","<ButtonPress-4>",lambda ev: eventtoparent(ev,"<ButtonPress-4>"))
--- a/light8/uihelpers.py Sat Jul 13 02:28:45 2002 +0000 +++ b/light8/uihelpers.py Sat Jul 13 02:57:27 2002 +0000 @@ -29,8 +29,11 @@ def toplevel_savegeometry(tl,name): try: - f=open(".light9-window-geometry-%s" % name.replace(' ','_'),'w') - f.write(tl.geometry()) + geo = tl.geometry() + if not geo.startswith("1x1"): + f=open(".light9-window-geometry-%s" % name.replace(' ','_'),'w') + f.write(tl.geometry()) + # else the window never got mapped except: # it's ok if there's no saved geometry pass