From 2beeaaf2a92afd76ae59c5c0c5b0ed41786e0d9d Mon Sep 17 00:00:00 2001 From: Medvidek77 Date: Fri, 14 Feb 2025 00:25:48 +0100 Subject: [PATCH 01/11] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 08898a9..de14eed 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ - Add a configuration file ## Using -- Download repository: `git clone https://medvidek77.tech/Medvidek77/TiDLer.git && cd TiDLer` +- Download repository: `git clone https://medvidek77.tech/Medvidek77/tidler.git && cd tidler` - Add permissions as root: `chmod +x src/tidler` - Run: `src/tidler` - Enjoy! :) From e28ec850132833f96fa7c45042a8eadf3bd95a30 Mon Sep 17 00:00:00 2001 From: Medvidek77 Date: Fri, 14 Feb 2025 00:28:21 +0100 Subject: [PATCH 02/11] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index de14eed..c365a13 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ - Support downloading multiple search results - Allow users to choose audio quality (currently defaults to LOSSLESS) - Add a configuration file +- Add default save directory ## Using - Download repository: `git clone https://medvidek77.tech/Medvidek77/tidler.git && cd tidler` From af01ea56fd0956066c3036415f0896bfb1e0b1a1 Mon Sep 17 00:00:00 2001 From: Medvidek77 Date: Fri, 14 Feb 2025 00:30:44 +0100 Subject: [PATCH 03/11] Update tidler to 0.2 --- src/tidler | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/tidler b/src/tidler index 66d5d4a..83d762b 100644 --- a/src/tidler +++ b/src/tidler @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/sh downloadTrack() { echo "Downloading track with ID: $1" @@ -47,4 +47,3 @@ elif [ "$option" -eq 2 ]; then searchTrack fi - From 7ec9a84749730fba150a36d9ef19e7d066509438 Mon Sep 17 00:00:00 2001 From: Medvidek77 Date: Fri, 14 Feb 2025 00:32:17 +0100 Subject: [PATCH 04/11] Update tidler to 0.2 --- src/tidler | 50 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 38 insertions(+), 12 deletions(-) diff --git a/src/tidler b/src/tidler index 83d762b..9f55b91 100644 --- a/src/tidler +++ b/src/tidler @@ -1,8 +1,13 @@ -#!/usr/bin/sh +#!/bin/bash downloadTrack() { - echo "Downloading track with ID: $1" - id="$1" + if [ "$#" -ge 1 ]; then + echo "Downloading track with ID: $1" + id="$1" + else + echo "Enter track ID:" + read -r id + fi 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') @@ -14,8 +19,12 @@ downloadTrack() { } searchTrack() { - echo "Enter track name:" - read -r track_name + if [ "$#" -ge 1 ]; then + track_name="$1" + else + echo "Enter track name:" + 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)"') @@ -24,7 +33,7 @@ searchTrack() { tracks_list+=("$list") done <<< "$tracks" - PS3="Please select a track: " + PS3="Please select a track:" select t in "${tracks_list[@]}"; do if [ -n "$t" ]; then track_id=$(echo "$t" | awk -F ' - ' '{print $1}') @@ -39,11 +48,28 @@ searchTrack() { 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 + +if [ "$1" = "search" ]; then + if [ "$#" -ge 2 ]; then + shift + jsw="$*" + searchTrack "$jsw" + else + searchTrack + fi +elif [ "$1" = "download" ]; then + if [ "$#" -ge 2 ]; then + downloadTrack "$2" + else + downloadTrack + fi +else + echo "Choose: 1 = download ; 2 = search" + read option + if [ "$option" -eq 1 ]; then + downloadTrack + elif [ "$option" -eq 2 ]; then + searchTrack + fi fi From eb210bf653a59eb50f89fafc2138f840d03befd9 Mon Sep 17 00:00:00 2001 From: Medvidek77 Date: Fri, 14 Feb 2025 00:45:07 +0100 Subject: [PATCH 05/11] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c365a13..8a8cfaf 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ ## Using - Download repository: `git clone https://medvidek77.tech/Medvidek77/tidler.git && cd tidler` +- (Optional) use unstable version: `git checkout dev` - Add permissions as root: `chmod +x src/tidler` - Run: `src/tidler` - Enjoy! :) From bab08b22efedf60055453dbf6509bbaf72edfc00 Mon Sep 17 00:00:00 2001 From: Medvidek77 Date: Fri, 14 Feb 2025 12:17:39 +0100 Subject: [PATCH 06/11] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 8a8cfaf..c79c4a8 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,8 @@ ## TODO - Migrate from Bash to a POSIX-compliant shell +- Add Cover, and other metadata to ID3 tag +- Lyrics download - Implement search & download for playlists, albums, and artists - Support downloading multiple search results - Allow users to choose audio quality (currently defaults to LOSSLESS) From 03d38e494c4da5f56325fac1edab9bd93295f684 Mon Sep 17 00:00:00 2001 From: Medvidek77 Date: Fri, 14 Feb 2025 12:19:44 +0100 Subject: [PATCH 07/11] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c79c4a8..5d54be7 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ - `jq`, `bash`, `curl` ## TODO +- Create install scripts/guides - Migrate from Bash to a POSIX-compliant shell - Add Cover, and other metadata to ID3 tag - Lyrics download @@ -20,4 +21,4 @@ - (Optional) use unstable version: `git checkout dev` - Add permissions as root: `chmod +x src/tidler` - Run: `src/tidler` -- Enjoy! :) +- Enjoy! :) \ No newline at end of file From 6b1964bca13359a8b3533f772d2857674ffe0baf Mon Sep 17 00:00:00 2001 From: Medvidek77 Date: Fri, 14 Feb 2025 17:18:17 +0100 Subject: [PATCH 08/11] Changed/fixed some minor things --- src/tidler | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) mode change 100644 => 100755 src/tidler diff --git a/src/tidler b/src/tidler old mode 100644 new mode 100755 index 9f55b91..d46cf92 --- a/src/tidler +++ b/src/tidler @@ -33,7 +33,12 @@ searchTrack() { tracks_list+=("$list") done <<< "$tracks" - PS3="Please select a track:" + if [ "${#tracks_list[@]}" -eq 1 ]; then + echo "No tracks found :(" + exit 1 + fi + + PS3="Please select a track: " select t in "${tracks_list[@]}"; do if [ -n "$t" ]; then track_id=$(echo "$t" | awk -F ' - ' '{print $1}') @@ -46,8 +51,7 @@ searchTrack() { done } -echo "Welcome to Tidal music downloader" -echo "" +echo "Welcome to TiDLer -> Tidal music downloader" && echo "" if [ "$1" = "search" ]; then if [ "$#" -ge 2 ]; then @@ -64,7 +68,7 @@ elif [ "$1" = "download" ]; then downloadTrack fi else - echo "Choose: 1 = download ; 2 = search" + echo "Choose 1 for download track or 2 for search track and download" read option if [ "$option" -eq 1 ]; then downloadTrack From 82291c68b18fd171d2244159131e5900727ca596 Mon Sep 17 00:00:00 2001 From: Medvidek77 Date: Fri, 14 Feb 2025 18:09:06 +0100 Subject: [PATCH 09/11] Update src/tidler --- src/tidler | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tidler b/src/tidler index d46cf92..dceb5e3 100755 --- a/src/tidler +++ b/src/tidler @@ -56,8 +56,8 @@ echo "Welcome to TiDLer -> Tidal music downloader" && echo "" if [ "$1" = "search" ]; then if [ "$#" -ge 2 ]; then shift - jsw="$*" - searchTrack "$jsw" + jsw="$*" + searchTrack "$jsw" else searchTrack fi From cf5ffb931d7393a4802cb3ddd6b0bab60e780a44 Mon Sep 17 00:00:00 2001 From: Medvidek77 Date: Fri, 14 Feb 2025 18:43:15 +0100 Subject: [PATCH 10/11] Add universal install and update script --- scripts/universal/install.sh | 13 +++++++++++++ scripts/universal/update.sh | 12 ++++++++++++ 2 files changed, 25 insertions(+) create mode 100755 scripts/universal/install.sh create mode 100755 scripts/universal/update.sh diff --git a/scripts/universal/install.sh b/scripts/universal/install.sh new file mode 100755 index 0000000..8d799b6 --- /dev/null +++ b/scripts/universal/install.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +if [ "$EUID" -ne 0 ]; then + echo "Please run script as root" + exit 1 +else + if [ ! -f /bin/tidler ]; then + install -m 755 ../../src/tidler /bin/tidler + else + echo "TiDLer is already installed" + fi +fi + diff --git a/scripts/universal/update.sh b/scripts/universal/update.sh new file mode 100755 index 0000000..a923221 --- /dev/null +++ b/scripts/universal/update.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +if [ "$EUID" -ne 0 ]; then + echo "Please run script as root" + exit 1 +else + if [ -f /bin/tidler ]; then + cd ../../ + git pull + install -m 755 src/tidler /bin/tidler + fi +fi From bfd84b83c5e5b4f758834923aa42ac46d6236ee4 Mon Sep 17 00:00:00 2001 From: Medvidek77 Date: Fri, 14 Feb 2025 20:14:15 +0100 Subject: [PATCH 11/11] Add PKGBUILD for ArchLinux --- scripts/ArchLinux/PKGBUILD | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 scripts/ArchLinux/PKGBUILD diff --git a/scripts/ArchLinux/PKGBUILD b/scripts/ArchLinux/PKGBUILD new file mode 100644 index 0000000..24e3074 --- /dev/null +++ b/scripts/ArchLinux/PKGBUILD @@ -0,0 +1,18 @@ +# Maintainer: Medvidek77 + +pkgname=tidler +pkgver=0.1 +pkgrel=1 +pkgdesc="Tidal music downloader based on the hifi-tui API" +arch=('any') +url="https://medvidek77.tech/Medvidek77/tidler" +license=('BSD3-Clause') +depends=('bash' 'curl' 'jq') +source=("git+$url.git#branch=stable") +sha256sums=('SKIP') + +package() { + cd "$srcdir/$pkgname" + install -Dm755 src/tidler "$pkgdir/usr/bin/tidler" + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +}