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
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
downloadTrack() {
|
downloadTrack() {
|
||||||
if [ "$#" -ge 1 ]; then
|
if [ "$#" -ge 1 ]; then
|
||||||
echo "Downloading track with ID: $1"
|
echo "Downloading track with ID: $1"
|
||||||
|
@ -14,9 +13,14 @@ downloadTrack() {
|
||||||
artist_name=$(echo "$json_data" | jq -r '.[0].artist.name')
|
artist_name=$(echo "$json_data" | jq -r '.[0].artist.name')
|
||||||
url=$(echo "$json_data" | jq -r '.[-1].OriginalTrackUrl')
|
url=$(echo "$json_data" | jq -r '.[-1].OriginalTrackUrl')
|
||||||
|
|
||||||
filename="$artist_name - $track_name.flac"
|
filename="$track_name.flac"
|
||||||
filename=$(echo "$filename" | tr '/' '-')
|
|
||||||
curl "$url" -o "$filename"
|
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
|
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 ""
|
echo "Welcome to TiDLer -> Tidal music downloader" && echo ""
|
||||||
|
|
||||||
if [ "$1" = "search" ]; then
|
if [ "$1" = "search" ]; then
|
||||||
|
@ -122,8 +73,6 @@ elif [ "$1" = "download" ]; then
|
||||||
else
|
else
|
||||||
downloadTrack
|
downloadTrack
|
||||||
fi
|
fi
|
||||||
elif [ "$1" = "album" ]; then
|
|
||||||
searchAlbum
|
|
||||||
else
|
else
|
||||||
echo "Choose 1 for download track or 2 for search track and download"
|
echo "Choose 1 for download track or 2 for search track and download"
|
||||||
read option
|
read option
|
||||||
|
@ -133,3 +82,4 @@ else
|
||||||
searchTrack
|
searchTrack
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue