import subprocess import time import os venv_python = "/home/media/Scripts/ZonePlayer/venv/bin/python3" script_dir = "/home/media/Scripts/ZonePlayer" zones = ["sanctuary", "prayer", "office", "fellowship", "Macbook"] players = ["praise", "worship", "instrumental"] logfile = "/tmp/zoneplayer_launcher.log" def log(msg): with open(logfile, "a") as f: f.write(msg + "\n") print(msg) def start_detached(script, *args): try: subprocess.Popen( [venv_python, os.path.join(script_dir, script), *args], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, start_new_session=True ) log(f"Started: {script} {' '.join(args)}") except Exception as e: log(f"ERROR: Failed to start {script} {' '.join(args)} - {e}") log("=== ZonePlayer Launcher Starting ===") # Launch zones for zone in zones: start_detached("zone.py", zone) # Launch players for player in players: start_detached("jack_mp3_player.py", player) log("Sleeping 10 seconds to allow JACK ports to appear") time.sleep(10) # Start router start_detached("router.py") log("Router started") log("=== ZonePlayer Launcher Done ===")