Fix player.js bugs and update admin panel
- Remove Live Stream Monitor section (redundant with frame player) - Fix player.lisp pagination start-index calculation - Fix track property access (remove erroneous index 0) - Fix if/else paren structure in play-next function - Fix indentation in play-track function - Update Music Library Management section to reflect Docker setup - Add geostationary playlist file
This commit is contained in:
parent
21275693c1
commit
be31bd678b
|
|
@ -26,10 +26,6 @@
|
|||
(update-player-status)
|
||||
(setup-event-listeners)
|
||||
(load-stream-queue)
|
||||
(setup-live-stream-monitor)
|
||||
(update-live-stream-info)
|
||||
;; Update live stream info every 10 seconds
|
||||
(set-interval update-live-stream-info 10000)
|
||||
;; Update player status every 5 seconds
|
||||
(set-interval update-player-status 5000))))
|
||||
|
||||
|
|
@ -359,32 +355,6 @@
|
|||
(defun open-incoming-folder ()
|
||||
(alert "Copy your MP3 files to: /home/glenn/Projects/Code/asteroid/music/incoming/\n\nThen click \"Copy Files to Library\" to add them to your music collection."))
|
||||
|
||||
;; Setup live stream monitor
|
||||
(defun setup-live-stream-monitor ()
|
||||
(let ((live-audio (ps:chain document (get-element-by-id "live-stream-audio"))))
|
||||
(when live-audio
|
||||
(setf (ps:@ live-audio preload) "none"))))
|
||||
|
||||
;; Live stream info update
|
||||
(defun update-live-stream-info ()
|
||||
(ps:chain
|
||||
(fetch "/api/asteroid/partial/now-playing-inline")
|
||||
(then (lambda (response)
|
||||
(let ((content-type (ps:chain response headers (get "content-type"))))
|
||||
(unless (and content-type (ps:chain content-type (includes "text/plain")))
|
||||
(ps:chain console (error "Unexpected content type:" content-type))
|
||||
(return))
|
||||
(ps:chain response (text)))))
|
||||
(then (lambda (now-playing-text)
|
||||
(let ((now-playing-el (ps:chain document (get-element-by-id "live-now-playing"))))
|
||||
(when now-playing-el
|
||||
(setf (ps:@ now-playing-el text-content) now-playing-text)))))
|
||||
(catch (lambda (error)
|
||||
(ps:chain console (error "Could not fetch stream info:" error))
|
||||
(let ((now-playing-el (ps:chain document (get-element-by-id "live-now-playing"))))
|
||||
(when now-playing-el
|
||||
(setf (ps:@ now-playing-el text-content) "Error loading stream info")))))))
|
||||
|
||||
;; ========================================
|
||||
;; Stream Queue Management
|
||||
;; ========================================
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@
|
|||
|
||||
;; Calculate pagination
|
||||
(let ((total-pages (ceiling (/ (ps:@ *filtered-library-tracks* length) *library-tracks-per-page*)))
|
||||
(start-index (* (* *library-current-page* -1) *library-tracks-per-page* *library-tracks-per-page*))
|
||||
(start-index (* (- *library-current-page* 1) *library-tracks-per-page*))
|
||||
(end-index (+ start-index *library-tracks-per-page*))
|
||||
(tracks-to-show (ps:chain *filtered-library-tracks* (slice start-index end-index))))
|
||||
|
||||
|
|
@ -206,8 +206,8 @@
|
|||
(find-index (lambda (trk) (== (ps:@ trk id) (ps:@ track id)))))))
|
||||
(+ "<div class=\"track-item\" data-track-id=\"" (ps:@ track id) "\" data-index=\"" actual-index "\">"
|
||||
"<div class=\"track-info\">"
|
||||
"<div class=\"track-title\">" (or (ps:@ track title 0) "Unknown Title") "</div>"
|
||||
"<div class=\"track-meta\">" (or (ps:@ track artist 0) "Unknown Artist") " • " (or (ps:@ track album 0) "Unknown Album") "</div>"
|
||||
"<div class=\"track-title\">" (or (ps:@ track title) "Unknown Title") "</div>"
|
||||
"<div class=\"track-meta\">" (or (ps:@ track artist) "Unknown Artist") " • " (or (ps:@ track album) "Unknown Album") "</div>"
|
||||
"</div>"
|
||||
"<div class=\"track-actions\">"
|
||||
"<button onclick=\"playTrack(" actual-index ")\" class=\"btn btn-sm btn-success\">▶️</button>"
|
||||
|
|
@ -258,29 +258,29 @@
|
|||
(let ((query (ps:chain (ps:chain document (get-element-by-id "search-tracks")) value (to-lower-case))))
|
||||
(let ((filtered (ps:chain *tracks*
|
||||
(filter (lambda (track)
|
||||
(or (ps:chain (or (ps:@ track title 0) "") (to-lower-case) (includes query))
|
||||
(ps:chain (or (ps:@ track artist 0) "") (to-lower-case) (includes query))
|
||||
(ps:chain (or (ps:@ track album 0) "") (to-lower-case) (includes query))))))))
|
||||
(or (ps:chain (or (ps:@ track title) "") (to-lower-case) (includes query))
|
||||
(ps:chain (or (ps:@ track artist) "") (to-lower-case) (includes query))
|
||||
(ps:chain (or (ps:@ track album) "") (to-lower-case) (includes query))))))))
|
||||
(display-tracks filtered))))
|
||||
|
||||
;; Play a specific track by index
|
||||
(defun play-track (index)
|
||||
(when (and (>= index 0) (< index (ps:@ *tracks* length)))
|
||||
(setf *current-track* (aref *tracks* index))
|
||||
(setf *current-track-index* index)
|
||||
|
||||
;; Load track into audio player
|
||||
(setf (ps:@ *audio-player* src) (+ "/asteroid/tracks/" (ps:@ *current-track* id) "/stream"))
|
||||
(ps:chain *audio-player* (load))
|
||||
(ps:chain *audio-player*
|
||||
(play)
|
||||
(catch (lambda (error)
|
||||
(ps:chain console (error "Playback error:" error))
|
||||
(alert "Error playing track. The track may not be available."))))
|
||||
|
||||
(update-player-display)
|
||||
|
||||
;; Update server-side player state
|
||||
(setf *current-track-index* index)
|
||||
|
||||
;; Load track into audio player
|
||||
(setf (ps:@ *audio-player* src) (+ "/asteroid/tracks/" (ps:@ *current-track* id) "/stream"))
|
||||
(ps:chain *audio-player* (load))
|
||||
(ps:chain *audio-player*
|
||||
(play)
|
||||
(catch (lambda (error)
|
||||
(ps:chain console (error "Playback error:" error))
|
||||
(alert "Error playing track. The track may not be available."))))
|
||||
|
||||
(update-player-display)
|
||||
|
||||
;; Update server-side player state
|
||||
(ps:chain (fetch (+ "/api/asteroid/player/play?track-id=" (ps:@ *current-track* id))
|
||||
(ps:create :method "POST"))
|
||||
(catch (lambda (error)
|
||||
|
|
@ -316,9 +316,9 @@
|
|||
(update-queue-display))
|
||||
;; Play next track in library
|
||||
(let ((next-index (if *is-shuffled*
|
||||
(floor (* (random) (ps:@ *tracks* length))))
|
||||
(floor (* (random) (ps:@ *tracks* length)))
|
||||
(mod (+ *current-track-index* 1) (ps:@ *tracks* length)))))
|
||||
(play-track next-index))))
|
||||
(play-track next-index)))))
|
||||
|
||||
;; Handle track end
|
||||
(defun handle-track-end ()
|
||||
|
|
|
|||
|
|
@ -0,0 +1,294 @@
|
|||
#EXTM3U
|
||||
#PLAYLIST:Geostationary Orbit - Deep Space Electronic Journey
|
||||
#PHASE:Geostationary
|
||||
#DURATION:12 hours (approx)
|
||||
#CURATOR:Asteroid Radio
|
||||
#DESCRIPTION:A 12-hour journey through ambient, IDM, and experimental electronic music
|
||||
#EXTINF:-1,Biosphere - 10 Snurp 1937
|
||||
/app/music/Biosphere - Sound Installations -2000-2009 [FLAC]/Biosphere - Sound Installations -2000-2009- - 10 Snurp 1937.flac
|
||||
#EXTINF:-1,Cut Copy - Airborne
|
||||
/app/music/Cut Copy - Haiku From Zero (2017) [FLAC] {2557864014}/05 - Airborne.flac
|
||||
#EXTINF:-1,Faux Tales - Avalon
|
||||
/app/music/Faux Tales - 2015 - Kairos [FLAC] {Kensai Records KNS006 WEB}/3 - Avalon.flac
|
||||
#EXTINF:-1,Trans-Siberian Orchestra - 14 Christmas In The Air
|
||||
/app/music/Trans-Siberian Orchestra - The Christmas Trilogy (2004) [FLAC]/The Christmas Attic/14 Christmas In The Air.flac
|
||||
#EXTINF:-1,Owl City - 01 Hot Air Balloon
|
||||
/app/music/Owl City - Ocean Eyes (Deluxe Edition) [Flac,Cue,Logs]/Disc 2/01 Hot Air Balloon.flac
|
||||
#EXTINF:-1,VA - What Is Loneliness (feat. Danny Claire) [Skylex Radio Edit]
|
||||
/app/music/VA - Melodic Vocal Trance 2017/24. Airborn, Bogdan Vix & KeyPlayer - What Is Loneliness (feat. Danny Claire) [Skylex Radio Edit].flac
|
||||
#EXTINF:-1,Alison Krauss and Union Station - My Opening Farewell
|
||||
/app/music/Alison Krauss and Union Station - Paper Airplane (flac)/11 - Alison Krauss & Union Station - My Opening Farewell.flac
|
||||
#EXTINF:-1,Color Therapy - Expect Delays (feat. Ulrich Schnauss)
|
||||
/app/music/Color Therapy - Mr. Wolf Is Dead (2015) WEB FLAC/11 - Expect Delays (feat. Ulrich Schnauss).flac
|
||||
#EXTINF:-1,Clark - Living Fantasy
|
||||
/app/music/Clark - Death Peak (2017) [FLAC]/08 - Living Fantasy.flac
|
||||
#EXTINF:-1,Autechre - NTS Session 1-005-Autechre-carefree counter dronal
|
||||
/app/music/Autechre - 2018 - NTS Session 1/NTS Session 1-005-Autechre-carefree counter dronal.flac
|
||||
#EXTINF:-1,Smokey Robinson - A Silent Partner In A Three-Way Affair
|
||||
/app/music/Smokey Robinson - The Solo Albums Vol. 1 (2010) [FLAC]/03 - A Silent Partner In A Three-Way Affair.flac
|
||||
#EXTINF:-1,Biosphere - Drifter
|
||||
/app/music/Biosphere - The Petrified Forest (2017) - CD FLAC/01. Biosphere - Drifter.flac
|
||||
#EXTINF:-1,Clark - My Machines (Clark Remix)
|
||||
/app/music/Clark - Feast Beast (2013) [24 Bit WEB FLAC] [16-44]/1.17. Battles - My Machines (Clark Remix).flac
|
||||
#EXTINF:-1,Plaid - Dancers
|
||||
/app/music/Plaid - Polymer (2019) [WEB FLAC]/07 - Dancers.flac
|
||||
#EXTINF:-1,Four Tet - 04 Tremper
|
||||
/app/music/Four Tet - New Energy {CD} [FLAC] (2017)/04 Tremper.flac
|
||||
#EXTINF:-1,Dead Voices On Air - 07. Dogger Doorlopende Split
|
||||
/app/music/Dead Voices On Air - Frankie Pett En De Onderzeer Boten (2017) web/07. Dogger Doorlopende Split.flac
|
||||
#EXTINF:-1,Proem - 04. Drawing Room Anguish
|
||||
/app/music/Proem - 2018 Modern Rope (WEB)/04. Drawing Room Anguish.flac
|
||||
#EXTINF:-1,Dead Voices On Air - Red Howls
|
||||
/app/music/Dead Voices On Air - Ghohst Stories (FLAC)/01 - Red Howls.flac
|
||||
#EXTINF:-1,Quaeschning and Ulrich Schnauss - Thirst
|
||||
/app/music/Quaeschning and Ulrich Schnauss - Synthwaves (2017) {vista003, GER, CD} [FLAC]/06 - Thirst.flac
|
||||
#EXTINF:-1,Various Artists - Dance of the Sugar-Plum Fairy
|
||||
/app/music/Various Artists - The 50 Darkest Pieces of Classical Music (2011) - FLAC/CD 1/02 - Tchaikovsky - The Nutcracker - Dance of the Sugar-Plum Fairy.flac
|
||||
#EXTINF:-1,Bedouin Soundclash - Money Worries (E-Clair Refix)
|
||||
/app/music/Bedouin Soundclash - Sounding a Mosaic (2004) [FLAC] {SD1267}/14 - Money Worries (E-Clair Refix).flac
|
||||
#EXTINF:-1,Biosphere - 05 Fluvialmorphologie
|
||||
/app/music/Biosphere - Sound Installations -2000-2009 [FLAC]/Biosphere - Sound Installations -2000-2009- - 05 Fluvialmorphologie.flac
|
||||
#EXTINF:-1,Dead Voices on Air - 05. on the silent wing
|
||||
/app/music/Dead Voices on Air - [2010] The Silent Wing [FLAC 24bit]/05. on the silent wing.flac
|
||||
#EXTINF:-1,Regina Spektor - Folding Chair
|
||||
/app/music/Regina Spektor - Far (2009) - FLAC/04 - Folding Chair.flac
|
||||
#EXTINF:-1,08 Album of Memory
|
||||
/app/music/If I Had a Pair of Wings; Jamaican Doo Wop Vol. 1 [Death is Not the End, 2018] FLAC/08 Album of Memory.flac
|
||||
#EXTINF:-1,Plaid - Drowned Sea
|
||||
/app/music/Plaid - Polymer (2019) [WEB FLAC]/05 - Drowned Sea.flac
|
||||
#EXTINF:-1,The Future Sound Of London - Old Empire
|
||||
/app/music/The Future Sound Of London - My Kingdom (Re-imagined) (2018) FLAC/10 - Old Empire.flac
|
||||
#EXTINF:-1,James - Crash
|
||||
/app/music/James - Millionaires (Mercury Records, 1999) EAC-FLAC/01. James - Crash.flac
|
||||
#EXTINF:-1,Ulrich Schnauss - 09. Ten Years
|
||||
/app/music/Ulrich Schnauss - A Long Way To Fall - Rebound (2020) - WEB FLAC/09. Ten Years.flac
|
||||
#EXTINF:-1,Tyler Bates & VA - O-O-H Child
|
||||
/app/music/Tyler Bates & VA - Guardians of the Galaxy (Deluxe Edition) (2014) [FLAC]/Disc 1 (Awesome Mix Vol. 1)/11 - The Five Stairsteps - O-O-H Child.flac
|
||||
#EXTINF:-1,Clark - The Galactic Tusk (Clark Remix)
|
||||
/app/music/Clark - Feast Beast (2013) [24 Bit WEB FLAC] [16-44]/1.29. Feynmanns Rainbow - The Galactic Tusk (Clark Remix).flac
|
||||
#EXTINF:-1,Alison Krauss and Union Station - Dust Bowl Children
|
||||
/app/music/Alison Krauss and Union Station - Paper Airplane (flac)/2 - Alison Krauss & Union Station - Dust Bowl Children.flac
|
||||
#EXTINF:-1,Jethro Tull - Only Solitaire
|
||||
/app/music/Jethro Tull - War Child (1974) - FLAC/Disc 1- 2014 Steven Wilson Mix/08 - Only Solitaire.flac
|
||||
#EXTINF:-1,Plaid - Recall
|
||||
/app/music/Plaid - Polymer (2019) [WEB FLAC]/09 - Recall.flac
|
||||
#EXTINF:-1,Clark - Let's Get Clinical (Clark Remix)
|
||||
/app/music/Clark - Feast Beast (2013) [24 Bit WEB FLAC] [16-44]/1.21. Maximo Park - Let's Get Clinical (Clark Remix).flac
|
||||
#EXTINF:-1,Aqualung - Thin Air
|
||||
/app/music/Aqualung - Magnetic North (2010)/11 - Thin Air.flac
|
||||
#EXTINF:-1,Tycho - Receiver
|
||||
/app/music/Tycho - Epoch (Deluxe Version) (2019) [WEB FLAC16-44.1]/04 - Receiver.flac
|
||||
#EXTINF:-1,Le Vent Du Nord - Les Larmes Aux Yeux
|
||||
/app/music/Le Vent Du Nord - Dans Les Airs/08 - Les Larmes Aux Yeux.flac
|
||||
#EXTINF:-1,Bach - French Suite No.4 In E Flat, BWV 815 6. Air
|
||||
/app/music/Bach - The French Suites - Perhaia [flac]/23 - French Suite No.4 In E Flat, BWV 815 6. Air.flac
|
||||
#EXTINF:-1,James - I Know What I’m Here For
|
||||
/app/music/James - Millionaires (Mercury Records, 1999) EAC-FLAC/03. James - I Know What I’m Here For.flac
|
||||
#EXTINF:-1,Biosphere - Departed Glories
|
||||
/app/music/Biosphere - Departed Glories (2016) - FLAC WEB/09 - Departed Glories.flac
|
||||
#EXTINF:-1,Ramones - Havana Affair
|
||||
/app/music/Ramones - Transmission Impossible 2015 FLAC/CD 3/12 - Havana Affair.flac
|
||||
#EXTINF:-1,Wumpscut - Burial On Demand
|
||||
/app/music/Wumpscut - Women And Satan First (Concentrated Camp Edition) (2012) [FLAC WEB]/05 - Burial On Demand.flac
|
||||
#EXTINF:-1,The Future Sound Of London - Water Garden
|
||||
/app/music/The Future Sound Of London - My Kingdom (Re-imagined) (2018) FLAC/09 - Water Garden.flac
|
||||
#EXTINF:-1,Clark - Red Light (Clark Remix)
|
||||
/app/music/Clark - Feast Beast (2013) [24 Bit WEB FLAC] [16-44]/1.16. Massive Attack - Red Light (Clark Remix).flac
|
||||
#EXTINF:-1,Ulrich Schnauss - 05. No Further Ahead Than Today (2019 Version)
|
||||
/app/music/Ulrich Schnauss - No Further Ahead Than Tomorrow (2020) - WEB FLAC/05. No Further Ahead Than Today (2019 Version).flac
|
||||
#EXTINF:-1,Plaid - 09-Min-Y-Llan-His-Hell_(Plaid_Remix)
|
||||
/app/music/Plaid - Stem Sell (Plaid Remixes) [2021] (WEB - FLAC - Lossless)/09-Min-Y-Llan-His-Hell_(Plaid_Remix).flac
|
||||
#EXTINF:-1,Biosphere - Bergsbotn II
|
||||
/app/music/Biosphere - The Senja Recordings (2019) [FLAC]/09 - Bergsbotn II.flac
|
||||
#EXTINF:-1,Dead Voices on Air - Form Wass
|
||||
/app/music/Dead Voices on Air - CD Three, Never Too Much of Nothing - Tethera (2016) [WEB FLAC]/03 - Form Wass.flac
|
||||
#EXTINF:-1,Plaid - Held
|
||||
/app/music/Plaid - The Digging Remedy (2016) [FLAC]/11 - Held.flac
|
||||
#EXTINF:-1,Plaid - 28-Rone.-Room_With_A_View_(Plaid_Remix)
|
||||
/app/music/Plaid - Stem Sell (Plaid Remixes) [2021] (WEB - FLAC - Lossless)/28-Rone.-Room_With_A_View_(Plaid_Remix).flac
|
||||
#EXTINF:-1,Proem - Dark Swole Waves
|
||||
/app/music/Proem - Twelve Tails-(2021) @FLAC [16-48]/03 - Dark Swole Waves.flac
|
||||
#EXTINF:-1,Dead Voices on Air - 02. Sprach
|
||||
/app/music/Dead Voices on Air - Pieta (2012) [WEB-FLAC]/02. Sprach.flac
|
||||
#EXTINF:-1,Plaid - Praze
|
||||
/app/music/Plaid - Polymer (2019) [WEB FLAC]/13 - Praze.flac
|
||||
#EXTINF:-1,Plaid - 08-Roel_Funcken-Textures_(Plaid_Remix)
|
||||
/app/music/Plaid - Stem Sell (Plaid Remixes) [2021] (WEB - FLAC - Lossless)/08-Roel_Funcken-Textures_(Plaid_Remix).flac
|
||||
#EXTINF:-1,Billie Holiday - The End Of A Love Affair
|
||||
/app/music/Billie Holiday - Lady in Satin (flac)/12 - The End Of A Love Affair.flac
|
||||
#EXTINF:-1,Plaid - Meds Fade
|
||||
/app/music/Plaid - Polymer (2019) [WEB FLAC]/01 - Meds Fade.flac
|
||||
#EXTINF:-1,Orbital - There Will Come A Time (Inst)
|
||||
/app/music/Orbital - Monsters Exist (PledgeMusic Deluxe) (2018) (WEB) [FLAC]/16 - There Will Come A Time (Inst).flac
|
||||
#EXTINF:-1,Ulrich Schnauss - 07. New Day Starts at Dawn (2019 Version)
|
||||
/app/music/Ulrich Schnauss - No Further Ahead Than Tomorrow (2020) - WEB FLAC/07. New Day Starts at Dawn (2019 Version).flac
|
||||
#EXTINF:-1,Dead Voices On Air - PJB
|
||||
/app/music/Dead Voices On Air - DVoA-CzE (FLAC)/05 - PJB.flac
|
||||
#EXTINF:-1,Ulrich Schnauss - 04. Thoughtless Motion (2019 Version)
|
||||
/app/music/Ulrich Schnauss - No Further Ahead Than Tomorrow (2020) - WEB FLAC/04. Thoughtless Motion (2019 Version).flac
|
||||
#EXTINF:-1,02. Brigden Fair
|
||||
/app/music/The Wilderness of Manitoba [2017] The Tin Shop EP [Pheromone Recordings, WEB] [FLAC]/02. Brigden Fair.flac
|
||||
#EXTINF:-1,Orbital - Hoo Hoo Ha Ha
|
||||
/app/music/Orbital - Monsters Exist (PledgeMusic Deluxe) (2018) (WEB) [FLAC]/02 - Hoo Hoo Ha Ha.flac
|
||||
#EXTINF:-1,Radiohead - 01 Airbag
|
||||
/app/music/Radiohead - 5 Album Set (50999 972099 2 8, 2012)/Radiohead - OK Computer (1997)/01 Airbag.flac
|
||||
#EXTINF:-1,Cheetah EP-002-Aphex Twin-CHEETAHT7b
|
||||
/app/music/Aphex Twin (2016) Cheetah EP [WEB] [FLAC]/Cheetah EP-002-Aphex Twin-CHEETAHT7b.flac
|
||||
#EXTINF:-1,The Future Sound of London - Wild Weather
|
||||
/app/music/The Future Sound of London - (2016) Environment Six (FLAC)/09 - Wild Weather.flac
|
||||
#EXTINF:-1,Plaid - Melifer
|
||||
/app/music/Plaid - The Digging Remedy (2016) [FLAC]/05 - Melifer.flac
|
||||
#EXTINF:-1,Four Tet - 04. Parallel 4
|
||||
/app/music/Four Tet - Parallel (2020) - WEB FLAC/04. Parallel 4.flac
|
||||
#EXTINF:-1,Dead Voices On Air - 04. Als Een God
|
||||
/app/music/Dead Voices On Air - Frankie Pett En De Onderzeer Boten (2017) web/04. Als Een God.flac
|
||||
#EXTINF:-1,Tycho - 06. For How Long (Harvey Sutherland Remix)
|
||||
/app/music/Tycho - Weather Remixes (2020) - WEB FLAC/06. For How Long (Harvey Sutherland Remix).flac
|
||||
#EXTINF:-1,Proem - Playing Against The Ghosts
|
||||
/app/music/Proem - Twelve Tails-(2021) @FLAC [16-48]/02 - Playing Against The Ghosts.flac
|
||||
#EXTINF:-1,Alison Krauss and Union Station - Miles to Go
|
||||
/app/music/Alison Krauss and Union Station - Paper Airplane (flac)/8 - Alison Krauss & Union Station - Miles to Go.flac
|
||||
#EXTINF:-1,Dead Voices On Air - Wistle Kjarra
|
||||
/app/music/Dead Voices On Air - Flojt (2016) [FLAC 24bit] WEB/02 - Wistle Kjarra.flac
|
||||
#EXTINF:-1,Ulrich Schnauss & Jonas Munk - 03. Solitary Falling
|
||||
/app/music/Ulrich Schnauss & Jonas Munk - Eight Fragments Of An Illusion (2021) - WEB FLAC/03. Solitary Falling.flac
|
||||
#EXTINF:-1,The Future Sound of London - Imagined Friends
|
||||
/app/music/The Future Sound of London - (2016) Environment Six (FLAC)/15 - Imagined Friends.flac
|
||||
#EXTINF:-1,Tycho - Epoch
|
||||
/app/music/Tycho - Epoch (Deluxe Version) (2019) [WEB FLAC16-44.1]/05 - Epoch.flac
|
||||
#EXTINF:-1,Locrian - An Index of Air
|
||||
/app/music/Locrian - Infinite Dissolution (2015) - WEB FLAC/05 - An Index of Air.flac
|
||||
#EXTINF:-1,Death Cab For Cutie - Pictures In An Exhibition [Live]
|
||||
/app/music/Death Cab For Cutie - Something About Airplanes (2008 Re-Issue)/Disc 2 - Live At The Crocodile Cafe 1998/07 - Pictures In An Exhibition [Live].flac
|
||||
#EXTINF:-1,Death Cab For Cutie - President of What
|
||||
/app/music/Death Cab For Cutie - Something About Airplanes (2008 Re-Issue)/Disc 1 - Something About Airplanes/02 - President of What.flac
|
||||
#EXTINF:-1,Johann Johannsson - The Stairs
|
||||
/app/music/Johann Johannsson - The Theory of Everything (2014) [FLAC]/13 - The Stairs.flac
|
||||
#EXTINF:-1,Biosphere - Just A Kiss
|
||||
/app/music/Biosphere - The Petrified Forest (2017) - CD FLAC/05. Biosphere - Just A Kiss.flac
|
||||
#EXTINF:-1,Ulrich Schnauss & Jonas Munk – Weightless Memories (2010) {PEDS 02} [Web]/09 - In Odense...
|
||||
/app/music/Ulrich Schnauss & Jonas Munk – Weightless Memories (2010) {PEDS 02} [Web]/09 - In Odense....flac
|
||||
#EXTINF:-1,Dead Voices on Air - 09. ge [bonus track]
|
||||
/app/music/Dead Voices on Air - [2010] The Silent Wing [FLAC 24bit]/09. ge [bonus track].flac
|
||||
#EXTINF:-1,Port Blue - 03. The Grand Staircase
|
||||
/app/music/Port Blue - The Airship (2007)/03. The Grand Staircase.flac
|
||||
#EXTINF:-1,Biosphere - 04 Microtunneling
|
||||
/app/music/Biosphere - Sound Installations -2000-2009 [FLAC]/Biosphere - Sound Installations -2000-2009- - 04 Microtunneling.flac
|
||||
#EXTINF:-1,Clark - Kiri's Glee
|
||||
/app/music/Clark - Kiri Variations (2019) [WEB FLAC]/04 - Kiri's Glee.flac
|
||||
#EXTINF:-1,Biosphere - Whole Forests Of Them Appearing
|
||||
/app/music/Biosphere - Departed Glories (2016) - FLAC WEB/10 - Whole Forests Of Them Appearing.flac
|
||||
#EXTINF:-1,Seba & Ulrich Schnauss - Snöflingor
|
||||
/app/music/Seba & Ulrich Schnauss - Snöflingor EP [2017] [WEB_FLAC]/03. Seba & Ulrich Schnauss - Snöflingor.flac
|
||||
#EXTINF:-1,Plaid - 07-Mary_Epworth-Gone_Rogue_(Plaid_Remix)
|
||||
/app/music/Plaid - Stem Sell (Plaid Remixes) [2021] (WEB - FLAC - Lossless)/07-Mary_Epworth-Gone_Rogue_(Plaid_Remix).flac
|
||||
#EXTINF:-1,05 Send Me
|
||||
/app/music/If I Had a Pair of Wings; Jamaican Doo Wop Vol. 1 [Death is Not the End, 2018] FLAC/05 Send Me.flac
|
||||
#EXTINF:-1,07 'Til the End of Time
|
||||
/app/music/If I Had a Pair of Wings; Jamaican Doo Wop Vol. 1 [Death is Not the End, 2018] FLAC/07 'Til the End of Time.flac
|
||||
#EXTINF:-1,Four Tet - Insect Near Piha Beach
|
||||
/app/music/Four Tet - Sixteen Oceans (2020) {Text Records - TEXT051} [CD FLAC]/07 - Four Tet - Insect Near Piha Beach.flac
|
||||
#EXTINF:-1,Clark - Ted (Bibio Remix)
|
||||
/app/music/Clark - Feast Beast (2013) [24 Bit WEB FLAC] [16-44]/1.13. Clark - Ted (Bibio Remix).flac
|
||||
#EXTINF:-1,The Future Sound of London - Plausibility
|
||||
/app/music/The Future Sound of London - (2016) Environment Six (FLAC)/17 - Plausibility.flac
|
||||
#EXTINF:-1,The Lumineers - 01-Flowers In Your Hair
|
||||
/app/music/The Lumineers - The Lumineers (flac)/01-Flowers In Your Hair.flac
|
||||
#EXTINF:-1,Wumpscut - Gabi Grausam (AirForge Remix)
|
||||
/app/music/Wumpscut - Madman Szpital (Concentrated Camp Edition) (2013) [FLAC WEB]/25 - Gabi Grausam (AirForge Remix).flac
|
||||
#EXTINF:-1,Dead Voices on Air - Three
|
||||
/app/music/Dead Voices on Air - Mirror Carrier (2018) [WEB-FLAC16-44]/03. Dead Voices on Air - Three.flac
|
||||
#EXTINF:-1,The Future Sound Of London - Path 7
|
||||
/app/music/The Future Sound Of London - My Kingdom (Re-imagined) (2018) FLAC/01 - My Kingdom - Path 7.flac
|
||||
#EXTINF:-1,Biosphere - Invariable Cowhandler
|
||||
/app/music/Biosphere - Departed Glories (2016) - FLAC WEB/11 - Invariable Cowhandler.flac
|
||||
#EXTINF:-1,Dead Voices On Air - 9. Stacja.Fjall
|
||||
/app/music/Dead Voices On Air - Flojt (2016) [FLAC 24bit] WEB/09 - 9. Stacja.Fjall.flac
|
||||
#EXTINF:-1,The Clarks - 12 Train
|
||||
/app/music/The Clarks - Fast Moving Cars (2004) {Razor & Tie 7930182918-2} [FLAC-CD]/12 Train.flac
|
||||
#EXTINF:-1,Massive Attack - Voodoo In My Blood
|
||||
/app/music/Massive Attack - Ritual Spirit (2016) [WEB FLAC]/03 - Voodoo In My Blood.flac
|
||||
#EXTINF:-1,Quaeschning and Ulrich Schnauss - Main Theme
|
||||
/app/music/Quaeschning and Ulrich Schnauss - Synthwaves (2017) {vista003, GER, CD} [FLAC]/01 - Main Theme.flac
|
||||
#EXTINF:-1,Biosphere - Fjølhøgget
|
||||
/app/music/Biosphere - The Senja Recordings (2019) [FLAC]/07 - Fjølhøgget.flac
|
||||
#EXTINF:-1,Plaid - 03-Gareth_Whitehead,_Detroit_Grand_Pubahs,_Raymond,_Lindsay_&_Kendal-The_Villain_(Plaid_Remix)
|
||||
/app/music/Plaid - Stem Sell (Plaid Remixes) [2021] (WEB - FLAC - Lossless)/03-Gareth_Whitehead,_Detroit_Grand_Pubahs,_Raymond,_Lindsay_&_Kendal-The_Villain_(Plaid_Remix).flac
|
||||
#EXTINF:-1,Autechre - NTS Session 1-003-Autechre-debris_funk
|
||||
/app/music/Autechre - 2018 - NTS Session 1/NTS Session 1-003-Autechre-debris_funk.flac
|
||||
#EXTINF:-1,Dead Voices On Air - 01 Walde
|
||||
/app/music/Dead Voices On Air - Doggerland (2017) [FLAC] {WEB}/01 Walde.flac
|
||||
#EXTINF:-1,Orbital - There Will Come A Time
|
||||
/app/music/Orbital - Monsters Exist (PledgeMusic Deluxe) (2018) (WEB) [FLAC]/09 - There Will Come A Time.flac
|
||||
#EXTINF:-1,Clark - Absence (Bibio Remix)
|
||||
/app/music/Clark - Feast Beast (2013) [24 Bit WEB FLAC] [16-44]/1.12. Clark - Absence (Bibio Remix).flac
|
||||
#EXTINF:-1,Ulrich Schnauss - 09. Negative Sunrise (2019 Version)
|
||||
/app/music/Ulrich Schnauss - No Further Ahead Than Tomorrow (2020) - WEB FLAC/09. Negative Sunrise (2019 Version).flac
|
||||
#EXTINF:-1,Port Blue - 05. The Axial Catwalk
|
||||
/app/music/Port Blue - The Airship (2007)/05. The Axial Catwalk.flac
|
||||
#EXTINF:-1,Four Tet - This Is for You
|
||||
/app/music/Four Tet - Sixteen Oceans (2020) {Text Records - TEXT051} [CD FLAC]/15 - Four Tet - This Is for You.flac
|
||||
#EXTINF:-1,Proem - Pine the Bear
|
||||
/app/music/Proem - Until Here for Years (n5md, 2019) flac/06 - Pine the Bear.flac
|
||||
#EXTINF:-1,Clark - Yarraville Bird Phone
|
||||
/app/music/Clark - Kiri Variations (2019) [WEB FLAC]/07 - Yarraville Bird Phone.flac
|
||||
#EXTINF:-1,Gary Numan/Gary Numan - Airplane
|
||||
/app/music/Gary Numan/Gary Numan - The Pleasure Principle (1979) {Beggars Banquet BEGA 10, PBTHAL 12530} [FLAC 24-96]/01 - Airplane.flac
|
||||
#EXTINF:-1,The Monkees - Last Train to Clarksville
|
||||
/app/music/The Monkees - 2016 - The Monkees 50 {FLAC, R2 554390}/CD1/02 - Last Train to Clarksville.flac
|
||||
#EXTINF:-1,Death Cab for Cutie - I Will Possess Your Heart
|
||||
/app/music/Death Cab for Cutie - Narrow Stairs [Atlantic Records]/02 - I Will Possess Your Heart.flac
|
||||
#EXTINF:-1,The Clarks - 04 Wait a Minute
|
||||
/app/music/The Clarks - Fast Moving Cars (2004) {Razor & Tie 7930182918-2} [FLAC-CD]/04 Wait a Minute.flac
|
||||
#EXTINF:-1,The Clarks - 07 Fast Moving Cars
|
||||
/app/music/The Clarks - Fast Moving Cars (2004) {Razor & Tie 7930182918-2} [FLAC-CD]/07 Fast Moving Cars.flac
|
||||
#EXTINF:-1,Death Cab for Cutie - Long Division
|
||||
/app/music/Death Cab for Cutie - Narrow Stairs [Atlantic Records]/09 - Long Division.flac
|
||||
#EXTINF:-1,80's Dance Classix Top 100 (2008) [FLAC]/CD5/19 - White Rabbit
|
||||
/app/music/80's Dance Classix Top 100 (2008) [FLAC]/CD5/19 - Airplane Crashers - White Rabbit.flac
|
||||
#EXTINF:-1,Plaid - Nurula
|
||||
/app/music/Plaid - Polymer (2019) [WEB FLAC]/08 - Nurula.flac
|
||||
#EXTINF:-1,Gridlock - 05 364 (One Day With Proem)
|
||||
/app/music/Gridlock - Engram (12'' 2002)/05 364 (One Day With Proem).flac
|
||||
#EXTINF:-1,Alabama 3 - Who the Fuck is John Sinclair
|
||||
/app/music/Alabama 3 - 2011 - Shoplifting 4 Jesus [flac]/12 - Who the Fuck is John Sinclair.flac
|
||||
#EXTINF:-1,Proem - A Good Soaking
|
||||
/app/music/Proem - Twelve Tails-(2021) @FLAC [16-48]/12 - A Good Soaking.flac
|
||||
#EXTINF:-1,Four Tet - Something in the Sadness
|
||||
/app/music/Four Tet - Sixteen Oceans (2020) {Text Records - TEXT051} [CD FLAC]/10 - Four Tet - Something in the Sadness.flac
|
||||
#EXTINF:-1,Clark - Bench
|
||||
/app/music/Clark - Kiri Variations (2019) [WEB FLAC]/03 - Bench.flac
|
||||
#EXTINF:-1,Proem - 08. Night Brain
|
||||
/app/music/Proem - 2018 Modern Rope (WEB)/08. Night Brain.flac
|
||||
#EXTINF:-1,Ulrich Schnauss & Jonas Munk – Weightless Memories (2010) {PEDS 02} [Web]/04 - Sonnenblumenstrahl
|
||||
/app/music/Ulrich Schnauss & Jonas Munk – Weightless Memories (2010) {PEDS 02} [Web]/04 - Sonnenblumenstrahl.flac
|
||||
#EXTINF:-1,Clark - Banished Hymnal
|
||||
/app/music/Clark - Kiri Variations (2019) [WEB FLAC]/12 - Banished Hymnal.flac
|
||||
#EXTINF:-1,Tycho - PCH
|
||||
/app/music/Tycho - Simulcast (2020) [WEB FLAC]/06 - PCH.flac
|
||||
#EXTINF:-1,80's Dance Classix Top 100 (2008) [FLAC]/CD3/04 - Our Darkness
|
||||
/app/music/80's Dance Classix Top 100 (2008) [FLAC]/CD3/04 - Anne Clark - Our Darkness.flac
|
||||
#EXTINF:-1,Four Tet - 14 Planet
|
||||
/app/music/Four Tet - New Energy {CD} [FLAC] (2017)/14 Planet.flac
|
||||
#EXTINF:-1,Dead Voices on Air - 05. Live in Saint Petersburg, Feb. 2012
|
||||
/app/music/Dead Voices on Air - Pieta (2012) [WEB-FLAC]/05. Live in Saint Petersburg, Feb. 2012.flac
|
||||
#EXTINF:-1,Orbital - Kinetic 2017
|
||||
/app/music/Orbital - Monsters Exist (PledgeMusic Deluxe) (2018) (WEB) [FLAC]/19 - Kinetic 2017.flac
|
||||
#EXTINF:-1,Amon Tobin - 04 Io
|
||||
/app/music/Amon Tobin - 2015 - Dark Jovian [FLAC]/04 Io.flac
|
||||
#EXTINF:-1,Tycho - Division (Heathered Pearls Remix)
|
||||
/app/music/Tycho - Epoch (Deluxe Version) (2019) [WEB FLAC16-44.1]/15 - Division (Heathered Pearls Remix).flac
|
||||
#EXTINF:-1,Orbital - Dressing Up In Other People's Clothes
|
||||
/app/music/Orbital - Monsters Exist (PledgeMusic Deluxe) (2018) (WEB) [FLAC]/14 - Dressing Up In Other People's Clothes.flac
|
||||
#EXTINF:-1,Dead Voices On Air - On Winters Gibbet
|
||||
/app/music/Dead Voices On Air - Ghohst Stories (FLAC)/02 - On Winters Gibbet.flac
|
||||
#EXTINF:-1,Biosphere - 09 Redfolks
|
||||
/app/music/Biosphere - Sound Installations -2000-2009 [FLAC]/Biosphere - Sound Installations -2000-2009- - 09 Redfolks.flac
|
||||
#EXTINF:-1,Dead Voices On Air - 01. Trophic Gehoord
|
||||
/app/music/Dead Voices On Air - Frankie Pett En De Onderzeer Boten (2017) web/01. Trophic Gehoord.flac
|
||||
#EXTINF:-1,Autechre - NTS Session 1-008-Autechre-four of seven
|
||||
/app/music/Autechre - 2018 - NTS Session 1/NTS Session 1-008-Autechre-four of seven.flac
|
||||
#EXTINF:-1,Four Tet - School
|
||||
/app/music/Four Tet - Sixteen Oceans (2020) {Text Records - TEXT051} [CD FLAC]/01 - Four Tet - School.flac
|
||||
#EXTINF:-1,Biosphere - 02 Naust
|
||||
/app/music/Biosphere - Sound Installations -2000-2009 [FLAC]/Biosphere - Sound Installations -2000-2009- - 02 Naust.flac
|
||||
|
|
@ -102,21 +102,17 @@
|
|||
<div class="admin-section">
|
||||
<h2>Music Library Management</h2>
|
||||
|
||||
<!-- File Upload -->
|
||||
<!-- Music Library Info -->
|
||||
<div class="upload-section">
|
||||
<h3>Add Music Files</h3>
|
||||
<h3>Music Library</h3>
|
||||
<div class="upload-info">
|
||||
<p><strong>To add your own MP3 files:</strong></p>
|
||||
<p>The music library is mounted from your local filesystem into the Liquidsoap container.</p>
|
||||
<p><strong>To add music:</strong></p>
|
||||
<ol>
|
||||
<li>Copy your MP3/FLAC/OGG/WAV files to: <code>/home/glenn/Projects/Code/asteroid/music/incoming/</code></li>
|
||||
<li>Click "Copy Files to Library" below</li>
|
||||
<li>Files will be moved to the library and added to the database</li>
|
||||
<li>Add files to your music library directory (set via <code>MUSIC_LIBRARY</code> env var)</li>
|
||||
<li>Click "Scan Library" to index new tracks into the database</li>
|
||||
</ol>
|
||||
<p><em>Supported formats: MP3, FLAC, OGG, WAV</em></p>
|
||||
</div>
|
||||
<div class="upload-controls">
|
||||
<button id="copy-files" class="btn btn-success">📁 Copy Files to Library</button>
|
||||
<button id="open-incoming" class="btn btn-info">📂 Open Incoming Folder</button>
|
||||
<p><em>Supported formats: MP3, FLAC, OGG, WAV, OPUS</em></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -163,19 +159,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Live Stream Monitor -->
|
||||
<div class="admin-section">
|
||||
<h2>📻 Live Stream Monitor</h2>
|
||||
<div class="live-stream-monitor">
|
||||
<input type="hidden" id="stream-base-url" lquery="(val stream-base-url)">
|
||||
<p><strong>Now Playing:</strong> <span id="live-now-playing">Loading...</span></p>
|
||||
<audio id="live-stream-audio" controls style="width: 100%; max-width: 600px;">
|
||||
<source id="live-stream-source" lquery="(attr :src default-stream-url)" type="audio/aac">
|
||||
Your browser does not support the audio element.
|
||||
</audio>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Stream Queue Management -->
|
||||
<div class="admin-section">
|
||||
<h2>🎵 Stream Queue Management</h2>
|
||||
|
|
|
|||
Loading…
Reference in New Issue