diff --git a/.gitignore b/.gitignore index 8793456..8af7d51 100644 --- a/.gitignore +++ b/.gitignore @@ -57,3 +57,4 @@ performance-logs/ # Temporary files /static/asteroid.css +stream-queue.m3u diff --git a/stream-control.lisp b/stream-control.lisp index 8cbfd42..fa5e118 100644 --- a/stream-control.lisp +++ b/stream-control.lisp @@ -90,17 +90,21 @@ t) (defun regenerate-stream-playlist () - "Regenerate the main stream playlist from the current queue" + "Regenerate the main stream playlist from the current queue. + NOTE: This writes to project root stream-queue.m3u, NOT playlists/stream-queue.m3u + which is what Liquidsoap actually reads. This function may be deprecated." (let ((playlist-path (merge-pathnames "stream-queue.m3u" (asdf:system-source-directory :asteroid)))) (if (null *stream-queue*) - ;; If queue is empty, generate from all tracks (fallback) - (let ((all-tracks (dm:get "tracks" (db:query :all)))) - (generate-m3u-playlist - (mapcar (lambda (track) - (dm:id track)) - all-tracks) - playlist-path)) + ;; DISABLED: Don't dump all tracks when queue is empty + ;; This was overwriting files with all library tracks unexpectedly + ;; (let ((all-tracks (dm:get "tracks" (db:query :all)))) + ;; (generate-m3u-playlist + ;; (mapcar (lambda (track) + ;; (dm:id track)) + ;; all-tracks) + ;; playlist-path)) + (format t "Stream queue is empty, not generating playlist file~%") ;; Generate from queue (generate-m3u-playlist *stream-queue* playlist-path))))