def PatchWerk(config, options): dbUser = config.get('database', 'user') dbPasswd = config.get('database', 'password') dbHost = config.get('database', 'host') dbName = config.get('database', 'dbname') dbI = DbInterface(dbUser, dbPasswd, dbName, dbHost) log = Logger(dbI, options.verbose) #create mixing/streaming patch radio = Radio(config, options, dbI, log) radio.pause(1) #register handler for SIGTERM signal.signal(signal.SIGTERM, radio.terminate) #register handler for SIGINT signal.signal(signal.SIGINT, radio.terminate) #check that pure data is running fine if radio.check_pd(): #register status with DB and turn DSP on radio.all_ok() else: sys.exit(1) #start streaming radio.streaming_setup() while True: #check to see if the control state is paused or not radio.control_check() #tell master PD to create the new patch radio.new_patch() if radio.loadError: #call function to deal with loading error radio.loading_error() else: #turn the DSP in the new patch on radio.activate_patch() #fade over to new patch radio.crossfade() #kill off old patch radio.kill_old_patch() #pause untill next patch needs to be loaded radio.play()