I am trying to sync my whole library to my phone. I’ve created a smart playlist with a match of anything with a duration of 1 second. The playlist shows the correct amount of tracks 5118 but when I sync this playlist to my phone it downloads 5117. I’m not sure why there is 1 track missing. It could be a problem with the track buy I don’t have any idea how to figure out which track is the missing one.
Could you help me figure out which track is the missing/problem track please?
Device type
Phone
Media provider
Navidrome
Steps to reproduce
Create smart playlist with a match of “duration = more than 1 second”
Playlist shows all the tracks from my Navidrome library (5118)
In the playlist options select “Configure auto offline cache” > Enabled
Tracks will download to phone
Upon completion downloaded tracks show 5117
Additional information
I’ve added screenshots of the playlist showing 5118 tracks and the “Manage offline files” screen showing 5117 tracks
Hi, Thanks for the response. I’ve changed the way to sync my library and did as you suggested.
Unfortunately, I still have the strange missing track on the “Manage offline files” page (showing 5117). If I create a smart playlist and show “is cached” it says 5118 and if I create one and show “is not cached” there is nothing listed (see screenshots).
You probably have a duplicate track with the same path reported by Navidrome. You can enable the option in navidrome to report the real path to fix, but you’ll need to download all again.
Hi @Tolriq Thanks for supporting me on this. With respect to Navidrome and showing the paths, is it expected that I enable that option and have to manually go through all the tracks and file paths?
That will be a mission on 5118 tracks. Do you have better way to do it?
I did use fdupe, rdfind on my Music directory (that feeds into Navidrome) and both those tools couldn’t find any duplicates. I’m hoping there is a more automated way to find a duplicate file/path other than using my eyeballs, lol!
SELECT library_id, LOWER(path) AS lpath, COUNT(*) AS dupes, GROUP_CONCAT(path, ' | ') AS paths, GROUP_CONCAT(id, ' | ') AS ids
FROM media_file
GROUP BY library_id, lpath
HAVING COUNT(*) > 1
ORDER BY dupes DESC, lpath;
Thanks but he is not using the real filenames in report, so navidrome by default return the artist/album/track that can clash not sure that query identify those ?
That query identify same (actual) path (case-insensitive) in the DB. When using fake (constructed) paths, there is a higher chance to get duplicates, but a SQL query to identify these are way harder, as it is constructed in code, not in SQL