diff --git a/var/local/www/commandw/deezevent.sh b/var/local/www/commandw/deezevent.sh index bf8514387..ef09f287f 100755 --- a/var/local/www/commandw/deezevent.sh +++ b/var/local/www/commandw/deezevent.sh @@ -114,7 +114,8 @@ if [[ $EVENT == "disconnected" ]]; then fi if [[ $EVENT == "track_changed" ]]; then - METADATA=$TITLE";"$ARTIST";"$ALBUM_TITLE";"$DURATION";"https://e-cdns-images.dzcdn.net/images/cover/${ALBUM_COVER}/500x500.jpg - echo -e $METADATA > $DEEZMETA_FILE + FORMAT="MP3 or FLAC" + METADATA="${TITLE}~~~${ARTIST}~~~${ALBUM_TITLE}~~~${DURATION}~~~https://e-cdns-images.dzcdn.net/images/cover/${ALBUM_COVER}/500x500.jpg~~~${FORMAT}" + echo -e "$METADATA" > $DEEZMETA_FILE /var/www/util/send-fecmd.php "update_deezmeta,$METADATA" fi diff --git a/var/local/www/commandw/spotevent.sh b/var/local/www/commandw/spotevent.sh index fb31d9663..bbe639067 100755 --- a/var/local/www/commandw/spotevent.sh +++ b/var/local/www/commandw/spotevent.sh @@ -115,9 +115,9 @@ fi if [[ $PLAYER_EVENT == "track_changed" ]]; then COVER=$(echo $COVERS | cut -d " " -f 1) - #ARTIST=$(echo $ARTISTS | cut -d " " -f 1) should be \n delimited - #ARTISTS=$(echo "$ARTISTS" | tr '\n' ', ') should be \n delimited - METADATA=$NAME";"$ARTISTS";"$ALBUM";"$DURATION_MS";"$COVER - echo -e $METADATA > $SPOTMETA_FILE + #ARTIST=$(echo $ARTISTS | cut -d " " -f 1) should be \n delimited? + #ARTISTS=$(echo "$ARTISTS" | tr '\n' ', ') should be \n delimited? + METADATA="${NAME}~~~${ARTISTS}~~~${ALBUM}~~~${DURATION_MS}~~~${COVER}" + echo -e "$METADATA" > $SPOTMETA_FILE /var/www/util/send-fecmd.php "update_spotmeta,$METADATA" fi diff --git a/www/audioinfo.php b/www/audioinfo.php index 40af36d7e..4de314cbc 100644 --- a/www/audioinfo.php +++ b/www/audioinfo.php @@ -58,7 +58,7 @@ $_decode_rate = ''; } else if ($deezActive == '1') { $_file = 'Deezer stream'; - $_encoded_at = 'MP3 or FLAC'; + $_encoded_at = getDeezerFormat(); $_decoded_to = 'PCM 16 bit 44.1 kHz, Stereo'; $_decode_rate = ''; } else if ($slActive == '1') { diff --git a/www/inc/renderer.php b/www/inc/renderer.php index 93c4c7fb2..eb133a52f 100644 --- a/www/inc/renderer.php +++ b/www/inc/renderer.php @@ -224,6 +224,10 @@ function stopDeezer() { $GLOBALS['deezactive'] = '0'; sendFECmd('deezactive0'); } +function getDeezerFormat() { + $metadata = explode('~~~', file_get_contents(DEEZMETA_FILE)); + return $metadata[5]; +} // Squeezelite function startSqueezeLite() { diff --git a/www/js/playerlib.js b/www/js/playerlib.js index 986756c7e..2710e29d3 100755 --- a/www/js/playerlib.js +++ b/www/js/playerlib.js @@ -798,9 +798,9 @@ function updateInpsrcMeta(cmd, data) { $('#inpsrc-backdrop').css('filter', 'blur(0px)'); $('#inpsrc-backdrop').css('transform', 'scale(1.0)'); - // Spotify: title;artists;album;duration;coverurl (duration is in ms) - // Deezer: title;artist;album;duration;coverurl (duration is in secs) - var metadata = data.split(';'); + // Spotify: title;artist;album;duration;coverurl (duration is in ms) + // Deezer: title;artist;album;duration;coverurl;format (duration is in secs) + var metadata = data.split('~~~'); var timeDivisor = (cmd == 'get_spotmeta' || cmd == 'update_spotmeta') ? 1000 : 1; $('#inpsrc-backdrop').html(''); diff --git a/www/util/send-fecmd.php b/www/util/send-fecmd.php index 6ac264775..0a5935f25 100644 --- a/www/util/send-fecmd.php +++ b/www/util/send-fecmd.php @@ -14,5 +14,10 @@ "Usage: send-fecmd.php [command] Send a command to the front-end\n"; } else { - sendFECmd($argv[1]); + // Preprocess data for certain commands + $cmd = (str_contains($argv[1], 'update_deezmeta') || str_contains($argv[1], 'update_spotmeta')) ? + htmlspecialchars($argv[1], ENT_NOQUOTES) : $argv[1]; + + // Send to front-end + sendFECmd($cmd); }