Prepare for verison 0.3.0 -> New config options, some errors handling, etc

This commit is contained in:
Medvidek77 2025-03-09 16:47:08 +01:00
parent 0192452af7
commit 2b06f4799e
2 changed files with 48 additions and 7 deletions

View file

@ -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

View file

@ -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"