yaronzz / Tidal-Media-Downloader

Download 'TIDAL' Music On Windows/Linux/MacOs (PYTHON/C#)
http://doc.yaronzz.com/post/tidal_dl_installation/
Apache License 2.0
3.42k stars 475 forks source link

[FEATURE] Add ability to sync entire music library #471

Open demeralde opened 4 years ago

demeralde commented 4 years ago

Which tool tidal-dl

Which feature Add ability to sync entire music library

Description It would be great if a command could be run (ideally automatically in the background on a periodic basis), that downloads your entire library locally. Including all playlists, albums, etc. Otherwise you have to manually keep using tidal-dl for every single playlist or whatever you've made to keep your offline copies up-to-date. This is a huge pain.

tbrtje commented 4 years ago

That can be done on your side with some scripting. Have a CRON-Job that checks a playlist against a list of downloaded items and run tidal-dl for the items not in the list.

demeralde commented 4 years ago

@tbrtje the problem is you need the list of IDs for each node (playlist, song, album, etc). You would have to manually add this to a list, and get tidal-dl to download them with the cron job.

If you added a new playlist, removed some music, or updated something on TIDAL, this would not reflect the changes locally. You'd have to manually do these updates. A sync script would ensure integrity and also prevent users from having to set up their own cron job.

tbrtje commented 4 years ago

Thats right. Do you want the script to automatically download something if you 'like' a song on tidal, or would it be sufficient if it would scan for changes in a playlist.

If that would be sufficient, you could simply add songs or albums to the 'download playlist' if you want them to be downloaded. Thats something I might be able to do if I have some spare time.

Downloading the entire user library however is a different story. I have no idea how I would go about this.

demeralde commented 4 years ago

@tbrtje yeah, it needs to keep my local library in sync. If I change a playlist, it should reflect the changes locally.

If that would be sufficient, you could simply add songs or albums to the 'download playlist' if you want them to be downloaded. Thats something I might be able to do if I have some spare time.

I have many playlists so I can't just have a single "Downloaded" playlist.

Downloading the entire user library however is a different story. I have no idea how I would go about this.

I think it's possible. I'd honestly write the script myself if I had the time, but I unfortunately don't. Hopefully someone here does.