Add experimental version of album search/download

This commit is contained in:
Medvidek77 2025-02-14 22:41:49 +01:00
parent d382c0bc70
commit 38c11332d9

View file

@ -18,6 +18,7 @@ downloadTrack() {
curl "$url" -o "$filename"
}
searchTrack() {
if [ "$#" -ge 1 ]; then
track_name="$1"
@ -51,6 +52,66 @@ searchTrack() {
done
}
# ----
downloadAlbum() {
id="$1"
count=$(curl -s "https://tidal.401658.xyz/album/?id=$id" | jq -r '.[1].totalNumberOfItems')
album_tracks_ids=$(curl -s "https://tidal.401658.xyz/album/?id=305546892" | jq -r '.[1].items[] | .item.id')
tracks_ids_list=()
while IFS= read -r list; do
tracks_ids_list+=("$list")
done <<< "$album_tracks_ids"
for i in "${tracks_ids_list[@]}"
do
downloadTrack "$i"
#echo "$i"
done
}
searchAlbum() {
if [ "$#" -ge 1 ]; then
album_name="$1"
else
echo "Enter album name:"
read -r album_name
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_list=()
while IFS= read -r list; do
albums_list+=("$list")
done <<< "$albums"
if [ "${#albums_list[@]}" -eq 1 ]; then
echo "No albums found :("
exit 1
fi
PS3="Please select an album: "
select t in "${albums_list[@]}"; do
if [ -n "$t" ]; then
album_id=$(echo "$t" | awk -F ' - ' '{print $1}')
echo "You selected: $t"
downloadAlbum "$album_id"
break
else
echo "Invalid selection. Please try again."
fi
done
}
echo "Welcome to TiDLer -> Tidal music downloader" && echo ""
if [ "$1" = "search" ]; then
@ -67,6 +128,8 @@ elif [ "$1" = "download" ]; then
else
downloadTrack
fi
elif [ "$1" = "album" ]; then
searchAlbum
else
echo "Choose 1 for download track or 2 for search track and download"
read option
@ -76,4 +139,3 @@ else
searchTrack
fi
fi