Open mjg2821 opened 1 month ago
I'm pretty sure this is to avoid getting banned from Tidal, just let it run in the background.
I understand what the use case is, but I'm trying to keep a playlist over 600 tracks long synced, and if I add three or four tracks, it takes a very long time. What I was thinking of is that there's some way to parse the playlist and compare it to the contents of the destination directory and only add the tracks that aren't already downloaded to the queue for downloading.
I understand what the use case is, but I'm trying to keep a playlist over 600 tracks long synced, and if I add three or four tracks, it takes a very long time. What I was thinking of is that there's some way to parse the playlist and compare it to the contents of the destination directory and only add the tracks that aren't already downloaded to the queue for downloading.
I have come across this issue now, though I don't see a decent way of fixing this.
WIth the delay disabled, the API starts throwing errors eventually about the content not being available, very likely because of how quickly it is calling the API. So, assuming it would remove the delay if a file already exists, after some time it will continously throw errors and possibly also skip tracks that aren't archived yet.
Maybe an overhaul on the delay timer might be useful to improve the overall time required to process downloads though.
For example, once a download is started and the files are being checked, start a timer. If the file already exists and it stops the timer, the time spent is very likely less than 100ms. And so, if the counted time is too short, have it add a bit more time on top to reach the minimum random delay time. If the file doesn't exist, start the download and stop the timer once the download finishes. In most cases in my experience, once the download is done, the delay isn't really necessary anymore as it'll take more than 5 seconds. In case it does take much less time, add whatever time is needed on top of the already spent time for the download and delay by that amount.
Just throwing this idea out. I'd like to give it a try and made those changes but I'm drowning in projects as is, no promises.
Current Situation
I have a playlist with 664 songs in it. If I add some new ones and want to download them, I have to wait for Tidal-DL to pause 2-5 seconds in between each one of the 664 songs I've already downloaded.
Suggestion / Feature Request
It should just skip quickly through those first 664 songs and start downloading at the first undownloaded song, and then enable the 2-5 second wait.