Closed Hendo16 closed 1 year ago
This is a good idea, I'm just not sure if anyone is actually populating the database with links... Would be nice if they did...
The script already prefers tidal when possible.
Well since finding this service, i've been working on the MusicBrainz DB, made over 1000 edits which include adding music videos so that this script will detect it, and adding Tidal video links where possible. But it's been getting frustrating since sometimes the cached MusicBrainz DB won't detect that it needs to update so i'll need to manually delete the cache alongside the artist 'completed' file for the service to actually download the latest video, and there's been multiple instances where it will pull a youtube link from IMVDB and download that song anyway, meaning there's two identical videos yet ones of a higher quality since it was pulled from Tidal. It'd be good if we could bypass IMVDB and only use that as a backup since MusicBrainz seems more flexable and easier for general users to update
I would prefer to use musicbrainz as the only source, but the lack of videos linked, meant that IMVDB was necessary. Because the script is using both sources, the only valid way to really check for duplicates, is by file name, and that is not ideal because if title names or simple capitalization differences can cause a duplicate... Its not an easy problem to solve... Using a single database is much simpler to solve the issue but that also requires the community to step up and take action, which it appears that you've been doing so, so great job working on that.
Right now the script waits 7 days before re-checking musicbrainz for cache differences, see here: https://github.com/RandomNinjaAtk/docker-lidarr-extended/blob/aa5c68b56c82808f980776047b90d9fd7d332911/root/scripts/Video.sh#L119-L124
After a 7 day timeout, it will then compare the cached number of recordings vs the online db number of recordings: https://github.com/RandomNinjaAtk/docker-lidarr-extended/blob/aa5c68b56c82808f980776047b90d9fd7d332911/root/scripts/Video.sh#L126-L132
If the Musicbrainz online db has more recordings, then the local cache is updated. So it will not detect changes, if the recording account stays the same, and you only add a url to an existing recording.... Don't think there is a better way to handle it honestly....
So here are some ideas I have that could potentially improve things based on the discussion here:
Let me know your thoughts.
2 & 3 have been implemented, but have not been tested....
2, 3 & 4 should now be implemented.
The dupe detection change seems to possibly eliminate the need for 1. Give the latest updates a try and see what you think... I think this is fully implemented now....
I know this functionality doesn't exist just yet but if we provide an additional parameter to allow for a video upgrade, it'd be great if there was a way the application could, instead of skipping artists it's already downloading, check all of the songs again in MusicBrainz to see if a tidal video link. Maybe when songs are downloaded an attribute is added to the nfo to flag if it was from youtube or tidal - that way as the database grows and higher quality videos are linked it'll get upgraded when the script is run.