From 96b2daa0a772a66ba00948d8e52e48a6ef2251da Mon Sep 17 00:00:00 2001 From: RandomNinjaAtk Date: Thu, 7 Sep 2023 13:00:53 +0000 Subject: [PATCH] Update LyricExtractor.bash --- lidarr/LyricExtractor.bash | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/lidarr/LyricExtractor.bash b/lidarr/LyricExtractor.bash index c42cc18..3c18239 100644 --- a/lidarr/LyricExtractor.bash +++ b/lidarr/LyricExtractor.bash @@ -1,5 +1,5 @@ #!/usr/bin/env bash -scriptVersion="1.0" +scriptVersion="1.2" scriptName="LyricExtractor" #### Import Settings @@ -9,10 +9,6 @@ source /config/extended/functions #### Create Log File logfileSetup -if [ -z "$lidarr_album_id" ]; then - lidarr_album_id="$1" -fi - SECONDS=0 if [ "$lidarr_eventtype" == "Test" ]; then @@ -20,10 +16,23 @@ if [ "$lidarr_eventtype" == "Test" ]; then exit 0 fi -getAlbumArtist="$(curl -s "$lidarrUrl/api/v1/album/$lidarr_album_id" -H "X-Api-Key: ${lidarrApiKey}" | jq -r .artist.artistName)" -getAlbumArtistPath="$(curl -s "$lidarrUrl/api/v1/album/$lidarr_album_id" -H "X-Api-Key: ${lidarrApiKey}" | jq -r .artist.path)" -getTrackPath="$(curl -s "$lidarrUrl/api/v1/trackFile?albumId=$lidarr_album_id" -H "X-Api-Key: ${lidarrApiKey}" | jq -r .[].path | head -n1)" +verifyConfig +getArrAppInfo +verifyApiAccess + +if [ -z "$lidarr_album_id" ]; then + lidarr_album_id="$1" +fi + + + +getAlbumArtist="$(curl -s "$arrUrl/api/v1/album/$lidarr_album_id" -H "X-Api-Key: ${arrApiKey}" | jq -r .artist.artistName)" +getAlbumArtistPath="$(curl -s "$arrUrl/api/v1/album/$lidarr_album_id" -H "X-Api-Key: ${arrApiKey}" | jq -r .artist.path)" +getTrackPath="$(curl -s "$arrUrl/api/v1/trackFile?albumId=$lidarr_album_id" -H "X-Api-Key: ${arrApiKey}" | jq -r .[].path | head -n1)" getFolderPath="$(dirname "$getTrackPath")" +getAlbumFolderName="$(basename "$getFolderPath")" + +log "Processing :: $getAlbumFolderName :: Processing Files..." if echo "$getFolderPath" | grep "$getAlbumArtistPath" | read; then if [ ! -d "$getFolderPath" ]; then @@ -52,7 +61,17 @@ find "$getFolderPath" -type f -regex ".*/.*\.\(flac\|opus\|m4a\|mp3\)" -print0 | if [ "$fileExt" == "opus" ]; then log "Processing :: $getAlbumFolderName :: $fileName :: Getting Lyrics from embedded metadata" getLyrics="$(ffprobe -loglevel 0 -print_format json -show_format -show_streams "$file" | jq -r ".streams[].tags.LYRICS" 2>/dev/null | sed "s/null//g" | sed "/^$/d")" - fi + fi + + if [ ! -z "$getLyrics" ]; then + lrcFile="${file%.*}.lrc" + log "Processing :: $getAlbumFolderName :: $fileName :: Extracting Lyrics..." + echo -n "$getLyrics" > "$lrcFile" + log "Processing :: $getAlbumFolderName :: $fileName :: Lyrics extracted to: $fileNameNoExt.lrc" + chmod 666 "$lrcFile" + else + log "Processing :: $getAlbumFolderName :: $fileName :: Lyrics not found..." + fi done duration=$SECONDS