arr-scripts icon indicating copy to clipboard operation
arr-scripts copied to clipboard

[FEATURE] - Lidarr - Consider moving to Tidal-DL-NG?

Open mrnoisytiger opened this issue 1 year ago • 6 comments

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The existing Tidal-DL implementation unfortunately fails to grab "MAX" quality (i.e., high res greater than 16/44.1). Instead, the newer alternative, tidal-dl-ng is able to grab the files without having to go through too much hassle with the API keys.

Describe the solution you'd like A clear and concise description of what you want to happen.

It would be great to be have an implementation of tidal-dl-ng, which from my testing, works similarly to tidal-dl over the CLI.

mrnoisytiger avatar Jul 28 '24 05:07 mrnoisytiger

FYI: the package is incompatible and won't install without some sort of workaround most likely, so this is dead in the water for now as I cannot investigate the viability of it because I cannot install it in the current environment.

Error for reference:

ERROR: Could not find a version that satisfies the requirement tidal-dl-ng (from versions: none)
ERROR: No matching distribution found for tidal-dl-ng

RandomNinjaAtk avatar Aug 19 '24 11:08 RandomNinjaAtk

It looks like the Python version for Alpine:latest is 3.12.5-r0 which is incompatible with tidal-dl-ng. According to its requirements, it needs python = ">=3.10,<3.12", likely due to upstream dependencies. You can work around this by switching to the v3.19 branch of Alpine, given that doesn't break anything else. It can be done like so:

echo "https://dl-cdn.alpinelinux.org/alpine/v3.19/main" >> /etc/apk/repositories
echo "https://dl-cdn.alpinelinux.org/alpine/v3.19/community" >> /etc/apk/repositories

I then removed the newer Python version packages:

apk del python3 python3-dev

I'm not sure if you have to add specific versions from there, but I'll put that in here anyway.

apk add python3=3.11.9-r0 python3-dev=3.11.9-r0

And install the package:

pip install tidal-dl-ng --break-system-packages

Now, I only tested this on a regular Alpine image, so it might break on linuxserver's image for some random reason.

samhaswon avatar Aug 20 '24 17:08 samhaswon

A recent commit seems to be allowing tidal-dl-ng to work on Python 3.12.

ChilliGeologist avatar Nov 10 '24 12:11 ChilliGeologist

It looks like the commit I mentioned above is now part of the main release as of v0.23.5. @RandomNinjaAtk I've managed to install tidal-dl-ng into a Lidarr docker container without any issues. I don't really have a good understanding of Python but the only thing I had to do was run the following commands:

python3 -m venv /path/to/venv
. /path/to/venv/bin/activate
pip install --upgrade tidal-dl-ng

I'm wondering if this is enough progress for this to be investigated further?

ChilliGeologist avatar Jan 08 '25 00:01 ChilliGeologist

Reads interesting!

steve1977 avatar Mar 30 '25 14:03 steve1977

@RandomNinjaAtk The tidal-dl-ng now pretty much reached the features that the legacy tida-dl has. Specially now with proper playlist support it might be worth a try implementing this in the script.

Looking forward to see this supported in Lidarr

nilleiz avatar Apr 17 '25 12:04 nilleiz