48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
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 ===")
|