From 2b4aad3c485d3e8b84d935814b9741b216bb96a1 Mon Sep 17 00:00:00 2001 From: Matt Walsh Date: Sun, 23 Mar 2025 21:17:08 -0500 Subject: [PATCH] playlist implementation --- server/scripts/modules/media.mjs | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/server/scripts/modules/media.mjs b/server/scripts/modules/media.mjs index 90d52c8..934ac42 100644 --- a/server/scripts/modules/media.mjs +++ b/server/scripts/modules/media.mjs @@ -120,17 +120,12 @@ const initializePlayer = () => { player.addEventListener('canplay', playerCanPlay); player.addEventListener('ended', playerEnded); - // add the tracks - const tracks = playlist.availableFiles.map((file) => { - const elem = document.createElement('source'); - elem.src = `music/${file}`; - elem.type = 'audio/mpeg'; - return elem; - }); + // get the first file + player.src = `music/${playlist.availableFiles[currentTrack]}`; + player.type = 'audio/mpeg'; - // add the track to the player - player.append(...tracks); - console.log('tracks added'); + // reload the player + console.log('player initialized'); }; const playerCanPlay = () => { @@ -141,7 +136,15 @@ const playerCanPlay = () => { }; const playerEnded = () => { - console.log('end of playlist reached'); + // next track + currentTrack += 1; + // roll over and re-randomize the tracks + if (currentTrack >= playlist.availableFiles) { + randomizePlaylist(); + currentTrack = 0; + } + // update the player source + player.src = `music/${playlist.availableFiles[currentTrack]}`; }; export {