Exemple #1
0
 def __init__(self):
     super(ClockServer, self).__init__()
     self.daemon = True
     self.socket = zmq_context.socket(zmq.REP)
     self.socket.bind(bind_for(CLOCK))
Exemple #2
0
 def __init__(self):
     super(ClockClient, self).__init__()
     self.daemon = True
     self.socket = zmq_context.socket(zmq.REQ)
     self.socket.connect(address_for(CLOCK))
     self.deltas = collections.deque(maxlen=100)
Exemple #3
0
#!/usr/bin/env python
import zmq, sys
from util import zmq_context
from config import *

import hashlib
import os.path

def sha256(data):
    return hashlib.sha256(data).hexdigest()

socket = zmq_context.socket(zmq.REQ)
socket.connect(address_for(COMMANDS))

name = sys.argv[1]
with open(name, "rb") as f:
    data = f.read()
new_name = sha256(data)[:10] + os.path.splitext(name)[1]
socket.send_multipart(["play", new_name, data])
print socket.recv()

Exemple #4
0
#!/usr/bin/env python
import zmq, time
from util import time_us, zmq_context
from clock import ClockServer
from config import *

clock_server = ClockServer()
clock_server.start()

receiver = zmq_context.socket(zmq.REP)
receiver.bind(bind_for(COMMANDS))

broadcaster = zmq_context.socket(zmq.PUB)
broadcaster.bind(bind_for(BROADCAST))
time.sleep(1)
broadcaster.send("new song")

name, start_us = "", 0

while True:
    msg = receiver.recv_multipart()
    command = msg[0]
    if command == "play":
        if len(msg) != 3:
            receiver.send("bad format")
        else:
            name, data = msg[1:]
            with open(name, "wb") as f:
                f.write(data)
            data = None
            start_us = time_us() + 10**6 * 2
#!/usr/bin/env python
import zmq, subprocess, sys, time, os
from util import time_us, zmq_context
from clock import ClockClient
from config import *

clock_client = ClockClient()
clock_client.start()

receiver = zmq_context.socket(zmq.REQ)
receiver.connect(address_for(COMMANDS))

broadcaster = zmq_context.socket(zmq.SUB)
broadcaster.connect(address_for(BROADCAST))
broadcaster.setsockopt(zmq.SUBSCRIBE, "new song")

child = None

prefix = "{0}-".format(os.getpid())

while True:
    receiver.send("get song")
    msg = receiver.recv_multipart()
    result = msg[0]
    if result != "ok":
        print result
        continue
    name, start_us = msg[1:]
    start_us = int(start_us)

    if child is not None:
Exemple #6
0
#!/usr/bin/env python
import zmq, subprocess, sys, time, os
from util import time_us, zmq_context
from clock import ClockClient
from config import *

clock_client = ClockClient()
clock_client.start()

receiver = zmq_context.socket(zmq.REQ)
receiver.connect(address_for(COMMANDS))

broadcaster = zmq_context.socket(zmq.SUB)
broadcaster.connect(address_for(BROADCAST))
broadcaster.setsockopt(zmq.SUBSCRIBE, "new song")

child = None

prefix = "{0}-".format(os.getpid())

while True:
    receiver.send("get song")
    msg = receiver.recv_multipart()
    result = msg[0]
    if result != "ok":
        print result
        continue
    name, start_us = msg[1:]
    start_us = int(start_us)

    if child is not None: