diff --git a/src/tidler b/src/tidler index 3a9119d..1301c6d 100755 --- a/src/tidler +++ b/src/tidler @@ -1,14 +1,20 @@ #!/bin/bash -. tidler.conf +. tidler.conf # Load ENVs from config file downloadTrack() { if [ "$#" -ge 1 ]; then - echo "Downloading track with ID: $1" - id="$1" + echo "Downloading track with ID: $1" + id="$1" else - echo "Enter track ID:" - read -r id + echo "Enter track ID:" + read -r id + fi + + if [ "$#" -ge 2 ]; then + album_dir="$2" + else + album_dir="" fi json_data=$(curl -s "https://tidal.401658.xyz/track/?id=$id&quality=LOSSLESS") @@ -17,10 +23,11 @@ downloadTrack() { album_name=$(echo "$json_data" | jq -r '.[0].album.title') url=$(echo "$json_data" | jq -r '.[-1].OriginalTrackUrl') cover_data=$(curl -s "https://tidal.401658.xyz/cover/?id=$id") - cover_url=$(echo "$cover_data" | jq -r '.[0]["1280"]') - # lyrics_data=$(curl -s "https://tidal.401658.xyz/lyrics/?id=$id") - # lyrics=$(echo "$lyrics_data" | jq -r '.[0].lyrics') + cover_url=$(echo "$cover_data" | jq -r '.[]["1280"]') + + track_number=$(echo "$json_data" | jq -r '.[0].trackNumber') filename="$track_name.flac" + cover_name="cover.png" if [ -n "$DOWNLOADS_DIR" ]; then download_dir="$DOWNLOADS_DIR" @@ -28,19 +35,28 @@ downloadTrack() { download_dir="$(pwd)" fi - mkdir -p "$download_dir" - curl "$url" -o "$download_dir/$filename" - curl "$cover_url" -o "$download_dir/cover.png" + final_path="$download_dir/$album_dir" + + mkdir -p "$final_path" + + curl "$url" -o "$final_path/$filename" + curl "$cover_url" -o "$final_path/$cover_name" # Metadata metaflac \ --set-tag="NAME=$track_name" \ --set-tag="ARTIST=$artist_name" \ --set-tag="ALBUM=$album_name" \ - --import-picture-from="$download_dir/cover.png" \ - "$download_dir/$filename" - rm "$download_dir/cover.png" + --set-tag="TRACKNUMBER=$track_number" \ + --import-picture-from="$final_path/$cover_name" \ + "$final_path/$filename" + # Ověř zda metadata byla úspěšně nastavena před smazáním cover.png + if [ $? -eq 0 ]; then + rm "$final_path/$cover_name" + else + echo "Chyba při nastavování metadat. Zachovávám cover.png pro další pokus." + fi } @@ -85,12 +101,11 @@ downloadAlbum() { else base_dir="$(pwd)" fi - json_data=$(curl -s "https://tidal.401658.xyz/track/?id=$id&quality=LOSSLESS") - album_name=$(echo "$json_data" | jq -r '.[0].album.title') + json_data=$(curl -s "https://tidal.401658.xyz/album/?id=$id&quality=LOSSLESS") + album_name=$(echo "$json_data" | jq -r '.[0].title') artist_name=$(echo "$json_data" | jq -r '.[0].artist.name') album_title="$artist_name - $album_name" - album_dir="$base_dir/$album_title" - mkdir -p "$album_dir" + album_dir="$album_title" album_tracks_ids=$(curl -s "https://tidal.401658.xyz/album/?id=$id" | jq -r '.[1].items[] | .item.id') tracks_ids_list=() while IFS= read -r list; do diff --git a/src/tidler.conf b/src/tidler.conf index be10ebe..0c266ee 100644 --- a/src/tidler.conf +++ b/src/tidler.conf @@ -1 +1,2 @@ -# DOWNLOADS_DIR=path +DOWNLOADS_DIR="/srv/music" +PROXY_URL="hifi-04ed2aaea09a.herokuapp.com" # Server without cache