Mercurial > code > home > repos > light9
comparison light8/ExternalInput.py @ 78:0969d8a6729d
support for external sliders. fill in ExternalInput with real IO
author | dmcc |
---|---|
date | Fri, 12 Jul 2002 10:05:57 +0000 |
parents | 45b12307c695 |
children | d34a4956417a |
comparison
equal
deleted
inserted
replaced
77:5649f5d9c798 | 78:0969d8a6729d |
---|---|
1 import thread, SocketServer, socket | 1 import thread, SocketServer |
2 | |
3 | |
4 currentlevels = [0,0,0,0] | |
5 | |
6 | 2 |
7 class NetSliderHandler(SocketServer.StreamRequestHandler): | 3 class NetSliderHandler(SocketServer.StreamRequestHandler): |
8 def handle(self): | 4 def handle(self): |
9 data = self.rfile.readline(1000) | 5 data = self.rfile.readline(1000) |
10 currentlevels[:] = [round(self.bounds(float(x)/255),3) for x in list(data.split())] | |
11 def bounds(self,x): | |
12 # the last .1 both ways shall not do anything | |
13 x=x*1.1-.05 | |
14 x=min(1,max(0,x)) | |
15 return x | |
16 | 6 |
17 def start_server(levelstorage=0): | 7 def start_server(levelstorage): |
18 server = SocketServer.TCPServer( | 8 server = SocketServer.TCPServer( |
19 ('', socket.getservbyname('rlslider', 'tcp')), | 9 ('', socket.getservbyname('rlslider', 'tcp')), |
20 NetSliderHandler) | 10 NetSliderHandler) |
21 server.serve_forever() | 11 server.serve_forever() |
22 | 12 |
31 pass | 21 pass |
32 # thread.start_new_thread(start_server, (self.update)) | 22 # thread.start_new_thread(start_server, (self.update)) |
33 def update(self, *args): | 23 def update(self, *args): |
34 self.level_storage[:] = args | 24 self.level_storage[:] = args |
35 def get_levels(self): | 25 def get_levels(self): |
36 return currentlevels | 26 import math, time |
37 # import math, time | 27 return [max(0, math.sin(time.time() + i)) for i in range(4)] # bogus |
38 # return [max(0, math.sin(time.time() + i)) for i in range(4)] # bogus | |
39 | 28 |
40 # return self.level_storage | 29 # return self.level_storage |