annotate light8/ExternalInput.py @ 54:3011c1028eb7

Cue math error fixed. Cue math error fixed. Bad cues in ConfigDummy fixed, not fixed in Config yet. Cue fader back in rsn. Oh yeah.
author dmcc
date Mon, 08 Jul 2002 15:50:00 +0000
parents 45b12307c695
children 0969d8a6729d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
1 import thread, SocketServer, socket
45b12307c695 Initial revision
drewp
parents:
diff changeset
2
45b12307c695 Initial revision
drewp
parents:
diff changeset
3
45b12307c695 Initial revision
drewp
parents:
diff changeset
4 currentlevels = [0,0,0,0]
45b12307c695 Initial revision
drewp
parents:
diff changeset
5
45b12307c695 Initial revision
drewp
parents:
diff changeset
6
45b12307c695 Initial revision
drewp
parents:
diff changeset
7 class NetSliderHandler(SocketServer.StreamRequestHandler):
45b12307c695 Initial revision
drewp
parents:
diff changeset
8 def handle(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
9 data = self.rfile.readline(1000)
45b12307c695 Initial revision
drewp
parents:
diff changeset
10 currentlevels[:] = [round(self.bounds(float(x)/255),3) for x in list(data.split())]
45b12307c695 Initial revision
drewp
parents:
diff changeset
11 def bounds(self,x):
45b12307c695 Initial revision
drewp
parents:
diff changeset
12 # the last .1 both ways shall not do anything
45b12307c695 Initial revision
drewp
parents:
diff changeset
13 x=x*1.1-.05
45b12307c695 Initial revision
drewp
parents:
diff changeset
14 x=min(1,max(0,x))
45b12307c695 Initial revision
drewp
parents:
diff changeset
15 return x
45b12307c695 Initial revision
drewp
parents:
diff changeset
16
45b12307c695 Initial revision
drewp
parents:
diff changeset
17 def start_server(levelstorage=0):
45b12307c695 Initial revision
drewp
parents:
diff changeset
18 server = SocketServer.TCPServer(
45b12307c695 Initial revision
drewp
parents:
diff changeset
19 ('', socket.getservbyname('rlslider', 'tcp')),
45b12307c695 Initial revision
drewp
parents:
diff changeset
20 NetSliderHandler)
45b12307c695 Initial revision
drewp
parents:
diff changeset
21 server.serve_forever()
45b12307c695 Initial revision
drewp
parents:
diff changeset
22
45b12307c695 Initial revision
drewp
parents:
diff changeset
23 class ExternalSliders:
45b12307c695 Initial revision
drewp
parents:
diff changeset
24 def __init__(self, level_storage=[]):
45b12307c695 Initial revision
drewp
parents:
diff changeset
25 self.level_storage = level_storage
45b12307c695 Initial revision
drewp
parents:
diff changeset
26 self.spawn_server()
45b12307c695 Initial revision
drewp
parents:
diff changeset
27 def test(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
28 'Store fake inputs to test operations'
45b12307c695 Initial revision
drewp
parents:
diff changeset
29 pass
45b12307c695 Initial revision
drewp
parents:
diff changeset
30 def spawn_server(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
31 pass
45b12307c695 Initial revision
drewp
parents:
diff changeset
32 # thread.start_new_thread(start_server, (self.update))
45b12307c695 Initial revision
drewp
parents:
diff changeset
33 def update(self, *args):
45b12307c695 Initial revision
drewp
parents:
diff changeset
34 self.level_storage[:] = args
45b12307c695 Initial revision
drewp
parents:
diff changeset
35 def get_levels(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
36 return currentlevels
45b12307c695 Initial revision
drewp
parents:
diff changeset
37 # import math, time
45b12307c695 Initial revision
drewp
parents:
diff changeset
38 # return [max(0, math.sin(time.time() + i)) for i in range(4)] # bogus
45b12307c695 Initial revision
drewp
parents:
diff changeset
39
45b12307c695 Initial revision
drewp
parents:
diff changeset
40 # return self.level_storage