diff --git a/music-api.py b/music-api.py index 9afa4b6..1cfda0f 100755 --- a/music-api.py +++ b/music-api.py @@ -175,6 +175,12 @@ def pick_station_id_file(): return None return os.path.join(STATION_ID_DIR, random.choice(files)) +def pick_random_track(): + """Return a random music track (relative path) from TRACKS.""" + if not TRACKS: + return None + return random.choice(list(TRACKS.keys())) + def set_rds(text: str): global rds_pipe try: @@ -639,10 +645,14 @@ def worker(): else: empty = False - if empty: - write_silence(0.25) - time.sleep(0.5) - continue + if empty: + track = pick_random_track() + if track: + print(f"[WORKER] Queue empty — adding random track: {track}") + with queue_lock: + queue.append(track) + continue + # Shuffle only when building the play order if shuffle_mode: