diff --git a/asteroid.lisp b/asteroid.lisp index 7256537..d3f6624 100644 --- a/asteroid.lisp +++ b/asteroid.lisp @@ -285,7 +285,9 @@ ("listeners" . 0) ("stream-url" . "http://localhost:8000/asteroid")))) + ;; RADIANCE server management functions + (defun start-server (&key (port *server-port*)) "Start the Asteroid Radio RADIANCE server" (format t "Starting Asteroid Radio RADIANCE server on port ~a~%" port) diff --git a/stream-media.lisp b/stream-media.lisp index c1145b6..437c1c0 100644 --- a/stream-media.lisp +++ b/stream-media.lisp @@ -12,6 +12,11 @@ (remove-if-not #'supported-audio-file-p (cl-fad:list-directory directory :follow-symlinks nil)))) +(defun scan-directory-for-music-recursively (path) + (loop for directory in (uiop:subdirectories path) + with music = (scan-directory-for-music path) + appending (scan-directory-for-music directory))) + (defun extract-metadata-with-taglib (file-path) "Extract metadata using taglib library" (handler-case @@ -68,7 +73,7 @@ (defun scan-music-library (&optional (directory *music-library-path*)) "Scan music library directory and add tracks to database" (format t "Scanning music library: ~a~%" directory) - (let ((audio-files (scan-directory-for-music directory)) + (let ((audio-files (scan-directory-for-music-recursively directory)) (added-count 0)) (dolist (file audio-files) (let ((metadata (extract-metadata-with-taglib file))) diff --git a/template/admin.chtml b/template/admin.chtml index eca9611..67ea272 100644 --- a/template/admin.chtml +++ b/template/admin.chtml @@ -47,9 +47,9 @@
To add your own MP3 files:
/home/glenn/Projects/Code/asteroid/music/incoming//home/glenn/Projects/Code/asteroid/music/incoming/Supported formats: MP3, FLAC, OGG, WAV