Files @ 3011c1028eb7
Branch filter:

Location: light9/light8/ExternalInput.py

dmcc
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.
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