Add simple metadata
This commit is contained in:
parent
0e7d909ea3
commit
066d88dac6
1 changed files with 8 additions and 58 deletions
66
src/tidler
66
src/tidler
|
@ -1,6 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
|
||||
downloadTrack() {
|
||||
if [ "$#" -ge 1 ]; then
|
||||
echo "Downloading track with ID: $1"
|
||||
|
@ -14,9 +13,14 @@ downloadTrack() {
|
|||
artist_name=$(echo "$json_data" | jq -r '.[0].artist.name')
|
||||
url=$(echo "$json_data" | jq -r '.[-1].OriginalTrackUrl')
|
||||
|
||||
filename="$artist_name - $track_name.flac"
|
||||
filename=$(echo "$filename" | tr '/' '-')
|
||||
filename="$track_name.flac"
|
||||
curl "$url" -o "$filename"
|
||||
echo $filename
|
||||
album_name=$(echo "$json_data" | jq -r '.[0].album.title')
|
||||
|
||||
# Metadata
|
||||
metaflac --set-tag="NAME=$track_name" --set-tag="ARTIST=$artist_name" --set-tag="ALBUM=$album_name" $filename
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -53,59 +57,6 @@ searchTrack() {
|
|||
done
|
||||
}
|
||||
|
||||
|
||||
downloadAlbum() {
|
||||
id="$1"
|
||||
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
|
||||
tracks_ids_list+=("$list")
|
||||
done <<< "$album_tracks_ids"
|
||||
|
||||
for i in "${tracks_ids_list[@]}"
|
||||
do
|
||||
downloadTrack "$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
|
||||
|
@ -122,8 +73,6 @@ 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
|
||||
|
@ -133,3 +82,4 @@ else
|
|||
searchTrack
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue