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