diff --git a/src/tidler b/src/tidler index 1d6df82..f1ffd46 100755 --- a/src/tidler +++ b/src/tidler @@ -2,6 +2,36 @@ . tidler.conf # Load ENVs from config file + +if [ -n "$PROXY_URL" ]; then + proxy_url="$PROXY_URL" +else + proxy_url="https://hifi-04ed2aaea09a.herokuapp.com" # Default value +fi + +if [ -n "$QUALITY" ]; then + if [ "$QUALITY" == "LOSSLESS" -o "$QUALITY" == "HI_RES" ]; then + quality="$QUALITY" + else + echo "Bad QUALITY option. Only allowed are \"LOSSLESS\", \"HI_RES\"." + fi +else + quality="LOSSLESS" # Default value +fi + +if [ -n "$COVER_RESOLUTION" ]; then + if [ "$COVER_RESOLUTION" == "1280" -o "$COVER_RESOLUTION" == "640" -o "$COVER_RESOLUTION" == "80" ]; then + cover_resolution="$COVER_RESOLUTION" + else + echo "Bad COVER_RESOLUTION option. Only allowed are \"1280\", \"640\", \"80\"." + echo "Using default value..." + + cover_resolution="1280" # Default value + fi +else + cover_resolution="1280" # Default value +fi + downloadTrack() { if [ "$#" -ge 1 ]; then echo "Downloading track with ID: $1" @@ -17,12 +47,12 @@ downloadTrack() { album_dir="" fi - json_data=$(curl -s "https://tidal.401658.xyz/track/?id=$id&quality=LOSSLESS") + json_data=$(curl -s "$proxy_url/track/?id=$id&quality=$quality") track_name=$(echo "$json_data" | jq -r '.[0].title') artist_name=$(echo "$json_data" | jq -r '.[0].artist.name') 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_data=$(curl -s "$proxy_url/cover/?id=$id") cover_url=$(echo "$cover_data" | jq -r '.[]["1280"]') track_number=$(echo "$json_data" | jq -r '.[0].trackNumber') @@ -61,7 +91,7 @@ searchTrack() { read -r track_name fi track_name=$(echo "$track_name" | sed 's/ /%20/g') - tracks=$(curl -s "https://tidal.401658.xyz/search/?s=$track_name" | jq -r '.items[] | "\(.id) - \(.title) by \(.artist.name)"') + tracks=$(curl -s "$proxy_url/search/?s=$track_name" | jq -r '.items[] | "\(.id) - \(.title) by \(.artist.name)"') tracks_list=() while IFS= read -r list; do @@ -94,12 +124,12 @@ downloadAlbum() { else base_dir="$(pwd)" fi - json_data=$(curl -s "https://tidal.401658.xyz/album/?id=$id&quality=LOSSLESS") + json_data=$(curl -s "$proxy_url/album/?id=$id&quality=$quality") 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="$album_title" - album_tracks_ids=$(curl -s "https://tidal.401658.xyz/album/?id=$id" | jq -r '.[1].items[] | .item.id') + album_tracks_ids=$(curl -s "$proxy_url/album/?id=$id&quality=$quality" | jq -r '.[1].items[] | .item.id') tracks_ids_list=() while IFS= read -r list; do tracks_ids_list+=("$list") @@ -122,7 +152,7 @@ searchAlbum() { fi album_name=$(echo "$album_name" | sed 's/ /%20/g') - albums=$(curl -s "https://tidal.401658.xyz/search/?al=$album_name" | jq -r '.albums.items[] | "\(.id): \(.title)"') + albums=$(curl -s "$proxy_url/search/?al=$album_name" | jq -r '.albums.items[] | "\(.id): \(.title)"') albums_list=() while IFS= read -r list; do diff --git a/src/tidler.conf b/src/tidler.conf index f4251b8..d2ec9e0 100644 --- a/src/tidler.conf +++ b/src/tidler.conf @@ -1 +1,12 @@ -# DOWNLOADS_DIR="path" +# Default download directory +DOWNLOADS_DIR="~/Music" + +# hifi-tui API server URL -> https://github.com/sachinsenal0x64/Hifi-Tui +# You can use "https://tidal.401658.xyz" with cache enabled +PROXY_URL="https://hifi-04ed2aaea09a.herokuapp.com" + +# Set audio quality -> possible values are "LOSSLESS" and "HI_RES" +QUALITY="LOSSLESS" + +# Set cover art resolution -> "1280" = 1280x1280, "640" = 640x640, "80" = 80x80 +COVER_RESOLUTION="1280"