Files
@ c79d4df9d982
Branch filter:
Location: light9/light8/ExternalInput.py - annotation
c79d4df9d982
1.2 KiB
text/x-python
now they're orientable
45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 | import thread, SocketServer, socket
currentlevels = [0,0,0,0]
class NetSliderHandler(SocketServer.StreamRequestHandler):
def handle(self):
data = self.rfile.readline(1000)
currentlevels[:] = [round(self.bounds(float(x)/255),3) for x in list(data.split())]
def bounds(self,x):
# the last .1 both ways shall not do anything
x=x*1.1-.05
x=min(1,max(0,x))
return x
def start_server(levelstorage=0):
server = SocketServer.TCPServer(
('', socket.getservbyname('rlslider', 'tcp')),
NetSliderHandler)
server.serve_forever()
class ExternalSliders:
def __init__(self, level_storage=[]):
self.level_storage = level_storage
self.spawn_server()
def test(self):
'Store fake inputs to test operations'
pass
def spawn_server(self):
pass
# thread.start_new_thread(start_server, (self.update))
def update(self, *args):
self.level_storage[:] = args
def get_levels(self):
return currentlevels
# import math, time
# return [max(0, math.sin(time.time() + i)) for i in range(4)] # bogus
# return self.level_storage
|