From 1f89d58a3aeb3067c58ad8448b7b4c82b85aebda Mon Sep 17 00:00:00 2001 From: Medvidek77 Date: Fri, 14 Feb 2025 00:22:20 +0100 Subject: [PATCH] Add src folder --- src/tidler | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/tidler diff --git a/src/tidler b/src/tidler new file mode 100644 index 0000000..66d5d4a --- /dev/null +++ b/src/tidler @@ -0,0 +1,50 @@ +#!/bin/bash + +downloadTrack() { + echo "Downloading track with ID: $1" + id="$1" + json_data=$(curl -s "https://tidal.401658.xyz/track/?id=$id&quality=LOSSLESS") + track_name=$(echo "$json_data" | jq -r '.[0].title') + 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 '/' '-') + curl "$url" -o "$filename" +} + +searchTrack() { + echo "Enter track name:" + read -r track_name + 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_list=() + while IFS= read -r list; do + tracks_list+=("$list") + done <<< "$tracks" + + PS3="Please select a track: " + select t in "${tracks_list[@]}"; do + if [ -n "$t" ]; then + track_id=$(echo "$t" | awk -F ' - ' '{print $1}') + echo "You selected: $t" + downloadTrack "$track_id" + break + else + echo "Invalid selection. Please try again." + fi + done +} + +echo "Welcome to Tidal music downloader" +echo "" +echo "Choose: 1 = download ; 2 = search" +read option +if [ "$option" -eq 1 ]; then + downloadTrack +elif [ "$option" -eq 2 ]; then + searchTrack +fi + +