Compare commits
1 Commits
69d97a74da
...
14ecbfa1b8
| Author | SHA1 | Date |
|---|---|---|
|
|
14ecbfa1b8 |
|
|
@ -21,6 +21,17 @@
|
|||
(defparameter *supported-formats* '("mp3" "flac" "ogg" "wav"))
|
||||
(defparameter *stream-base-url* "http://localhost:8000")
|
||||
|
||||
(defun get-stream-base-url ()
|
||||
"Get the stream base URL, using the request host if available"
|
||||
(if (boundp 'radiance:*request*)
|
||||
(let* ((host (or (header "Host") "localhost:8080"))
|
||||
;; Remove port if present and add :8000
|
||||
(host-without-port (if (position #\: host)
|
||||
(subseq host 0 (position #\: host))
|
||||
host)))
|
||||
(format nil "http://~a:8000" host-without-port))
|
||||
*stream-base-url*))
|
||||
|
||||
;; Configure JSON as the default API format
|
||||
(define-api-format json (data)
|
||||
"JSON API format for Radiance"
|
||||
|
|
@ -528,8 +539,8 @@
|
|||
:status-message "🟢 LIVE - Broadcasting asteroid music for hackers"
|
||||
:listeners "0"
|
||||
:stream-quality "128kbps MP3"
|
||||
:stream-base-url *stream-base-url*
|
||||
:default-stream-url (concatenate 'string *stream-base-url* "/asteroid.aac")
|
||||
:stream-base-url (get-stream-base-url)
|
||||
:default-stream-url (concatenate 'string (get-stream-base-url) "/asteroid.aac")
|
||||
:default-stream-encoding "audio/aac"
|
||||
:default-stream-encoding-desc "AAC 96kbps Stereo"
|
||||
:now-playing-artist "The Void"
|
||||
|
|
@ -558,7 +569,7 @@
|
|||
:status-message "🟢 LIVE - Broadcasting asteroid music for hackers"
|
||||
:listeners "0"
|
||||
:stream-quality "128kbps MP3"
|
||||
:stream-base-url *stream-base-url*
|
||||
:stream-base-url (get-stream-base-url)
|
||||
:now-playing-artist "The Void"
|
||||
:now-playing-track "Silence"
|
||||
:now-playing-album "Startup Sounds"
|
||||
|
|
@ -571,8 +582,8 @@
|
|||
(asdf:system-source-directory :asteroid))))
|
||||
(clip:process-to-string
|
||||
(plump:parse (alexandria:read-file-into-string template-path))
|
||||
:stream-base-url *stream-base-url*
|
||||
:default-stream-url (concatenate 'string *stream-base-url* "/asteroid.aac")
|
||||
:stream-base-url (get-stream-base-url)
|
||||
:default-stream-url (concatenate 'string (get-stream-base-url) "/asteroid.aac")
|
||||
:default-stream-encoding "audio/aac")))
|
||||
|
||||
;; Configure static file serving for other files
|
||||
|
|
@ -622,8 +633,8 @@
|
|||
:icecast-status (check-icecast-status)
|
||||
:track-count (format nil "~d" track-count)
|
||||
:library-path "/home/glenn/Projects/Code/asteroid/music/library/"
|
||||
:stream-base-url *stream-base-url*
|
||||
:default-stream-url (concatenate 'string *stream-base-url* "/asteroid.aac"))))
|
||||
:stream-base-url (get-stream-base-url)
|
||||
:default-stream-url (concatenate 'string (get-stream-base-url) "/asteroid.aac"))))
|
||||
|
||||
;; User Management page (requires authentication)
|
||||
(define-page users-management #@"/admin/user" ()
|
||||
|
|
@ -867,8 +878,8 @@
|
|||
(clip:process-to-string
|
||||
(plump:parse (alexandria:read-file-into-string template-path))
|
||||
:title "Asteroid Radio - Web Player"
|
||||
:stream-base-url *stream-base-url*
|
||||
:default-stream-url (concatenate 'string *stream-base-url* "/asteroid.aac")
|
||||
:stream-base-url (get-stream-base-url)
|
||||
:default-stream-url (concatenate 'string (get-stream-base-url) "/asteroid.aac")
|
||||
:bitrate "128kbps MP3"
|
||||
:now-playing-artist "The Void"
|
||||
:now-playing-track "Silence"
|
||||
|
|
@ -883,8 +894,8 @@
|
|||
(clip:process-to-string
|
||||
(plump:parse (alexandria:read-file-into-string template-path))
|
||||
:title "Asteroid Radio - Web Player"
|
||||
:stream-base-url *stream-base-url*
|
||||
:default-stream-url (concatenate 'string *stream-base-url* "/asteroid.aac")
|
||||
:stream-base-url (get-stream-base-url)
|
||||
:default-stream-url (concatenate 'string (get-stream-base-url) "/asteroid.aac")
|
||||
:default-stream-encoding "audio/aac")))
|
||||
|
||||
(define-page popout-player #@"/popout-player" ()
|
||||
|
|
@ -893,8 +904,8 @@
|
|||
(asdf:system-source-directory :asteroid))))
|
||||
(clip:process-to-string
|
||||
(plump:parse (alexandria:read-file-into-string template-path))
|
||||
:stream-base-url *stream-base-url*
|
||||
:default-stream-url (concatenate 'string *stream-base-url* "/asteroid.aac")
|
||||
:stream-base-url (get-stream-base-url)
|
||||
:default-stream-url (concatenate 'string (get-stream-base-url) "/asteroid.aac")
|
||||
:default-stream-encoding "audio/aac")))
|
||||
|
||||
(define-api asteroid/status () ()
|
||||
|
|
|
|||
Loading…
Reference in New Issue