Ejemplo n.º 1
0
    def got_message(self):
        def convert(value):
            if isinstance(value, float):
                return "%.1f" % value
            else:
                return str(value)

        while self.osc_sock.hasPendingDatagrams():
            data, address, port = self.osc_sock.readDatagram(
                self.osc_sock.pendingDatagramSize())
            try:
                osc_address, typetags, args = decode_osc(data, 0, len(data))
            except ValueError:
                return
            try:
                actor, text = self.regex.match(osc_address).groups()
            except AttributeError:
                pass
            else:
                if actor == "merle":
                    self.add_text(
                        0, "%s = %s" %
                        (text, ", ".join([convert(i) for i in args])))
                elif actor == "uwe":
                    self.add_text(
                        1, "%s = %s" %
                        (text, ", ".join([convert(i) for i in args])))
                elif actor == "bjoern":
                    self.add_text(
                        2, "%s = %s" %
                        (text, ", ".join([convert(i) for i in args])))
        return True
Ejemplo n.º 2
0
def send(sock, binary, args):
    sent = sock.sendto(binary, (args.osc2cam_host, args.osc2cam_port))
    response = sock.recv(4096)
    if response:
        osc_address, typetags, arguments = decode_osc(response, 0,
                                                      len(response))
        print osc_address, arguments
Ejemplo n.º 3
0
 def got_message(self):
     while self.osc_sock.hasPendingDatagrams():
         data, address, port = self.osc_sock.readDatagram(self.osc_sock.pendingDatagramSize())
         try:
             osc_address, typetags, args = decode_osc(data, 0, len(data))
             self.update(osc_address, args)
         except ValueError, error:
             logger.exception(error)
Ejemplo n.º 4
0
 def run(self):
     while 1:
         reads, writes, errs = select.select([self.osc_sock], [], [], 0.01)
         if reads:
             osc_input = reads[0].recv(4096)
             osc_address, typetags, args = decode_osc(
                 osc_input, 0, len(osc_input))
             print "signal", osc_address, args[0]
             self.osc_received.emit(osc_address, args[0])
Ejemplo n.º 5
0
 def run(self):
     osc_sock = socket.socket(2, 2, 17)
     osc_sock.bind(("", 10000))
     osc_sock.setblocking(0)
     while self.running:
         reads, writes, errs = select.select([osc_sock], [], [], 0.05)
         if reads:
             osc_input = reads[0].recv(4096)
             osc_address, typetags, messages = decode_osc(
                 osc_input, 0, len(osc_input))
             if osc_address.find("ekg") > -1 or osc_address.find(
                     "plot") != -1:
                 queue.put_nowait((osc_address, messages))
         else:
             queue.put_nowait(("/bjoern/ekg", [0]))
             queue.put_nowait(("/merle/ekg", [0]))
             queue.put_nowait(("/uwe/ekg", [0]))
     print "OSCThread is going down"
Ejemplo n.º 6
0
 def loadFile(self):
     for ix, line in enumerate(open(self.args.record_path, "rb")):
         if line == "\n" or line == "":
             continue
         #print repr(line)
         if line.startswith("start: "):
             self.rec_start = float(line[7:-1])
         elif line.startswith("end: "):
             self.rec_end = float(line[5:-1])
         else:
             try:
                 timestamp, packet = line.split(": ")
                 packet = packet.strip(" ").strip("\n").strip("\r")
                 osc_address, typetags, args = decode_osc(packet, 0, len(packet))
                 self.data.append((time, osc_address, typetags, args))
             except ValueError:
                 self.error_count += 1
                 pass
Ejemplo n.º 7
0
    def run(self):

        while self.running:
            try:
                reads, writes, errs = select.select([self.osc_sock], [], [],
                                                    0.005)
            except Exception, e:
                logging.exception(e)
                pass
            else:
                if reads:
                    try:
                        osc_input, address = self.osc_sock.recvfrom(8192)
                        osc_address, typetags, messages = decode_osc(
                            osc_input, 0, len(osc_input))
                        queue.put_nowait((osc_address, messages))
                    except Exception, e:
                        logger.info(e)