import threading import time from orchestra import Orchestra, Server from session import Session import subprocess import logger_factory from logger_factory import logger parser = ArgumentParser() parser.add_argument("sessiondir") Server.add_parser_arguments(parser) Orchestra.add_parser_arguments(parser) logger_factory.add_parser_arguments(parser) options = parser.parse_args() logger.setLevel(options.log_level) if options.realtime: if options.max_passivity: raise Exception("cannot enforce max passivity in real time") session = Session(realtime=True) sessiondir = session.dir logfile = session.get_log_reader() session.start() else: sessiondir = options.sessiondir logfilename = "%s/session.log" % sessiondir print "session: %s" % sessiondir tr_log = TrLogReader(
from logger_factory import logger import datetime from shuffler import Shuffler from playlist_reader import read_playlist parser = ArgumentParser() parser.add_argument("sessiondirs", nargs="*") parser.add_argument("--playlist", type=str) parser.add_argument("--pause", type=float, default=5.0) parser.add_argument("--start", type=int, default=0) parser.add_argument("--preview", type=float) Server.add_parser_arguments(parser) logger_factory.add_parser_arguments(parser) args = parser.parse_args() logger.setLevel(args.log_level) orchestra_parser = ArgumentParser() Orchestra.add_parser_arguments(orchestra_parser) def get_chunk_from_queue(): while True: try: # having a timeout allows ctrl-c to interrupt return tr_log.chunks_queue.get(True, timeout=10) except Queue.Empty: pass def play(orchestra, args): global orchestra_thread quit_on_end = False