RandomNinjaAtk/arr-scripts

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

Opened this issue · 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.

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

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.

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

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?

Reads interesting!

@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