Hello everyone,
I’m writing to propose a couple of quality-of-life features after spending days trying to clean up my extensive local library. My main goal was simple: identify physical duplicate tracks (files with 0 play counts) and remove them from my hard drive to save space and avoid clutter.
Before posting, I searched the forums and saw that I’m not alone in wanting better metadata control. I noticed the April 2025 request about “Choosing which metadata to include on CSV export”, the ongoing 2023-2026 thread about “Editing Play Counts”, and older reports about broken paths during exports. I want to unify these requests by explaining the technical roadblock we are hitting and how it affects professional library management.
To achieve my goal of finding unplayed duplicates, I tried to extract my metadata (Play Counts, Star Ratings, and File Paths) to cross-reference them in Mp3tag. Here is the journey and the walls I hit:
1. The Database Attempt: I accessed the database2 SQLite file and mapped the structure (mediaItems, mediaItemUserData, localMediaItemLocations). However, the data is stored in Apple’s Binary Property List (bplist00) format, and the physical file paths are compiled as encrypted NSURL Bookmarks. This makes it impossible to extract a simple CSV using SQL or Python scripts without breaking macOS security protocols.
2. The Smart Playlist & Sandboxing Roadblock: Next, I created a Smart Playlist with the rule “Play Count < 1”. It worked perfectly inside djay Pro! But when I tried to export these tracks to an external tag editor (like Mp3tag), a text editor, or VLC via drag-and-drop, macOS strict sandboxing blocked the file paths. It either drops standard text (Title/Artist) or refuses the drop entirely. Furthermore, the native “Export to CSV” option does not include Play Counts, Ratings, or the actual local file paths.
The Proposal: Since macOS sandboxing and NSURL Bookmarks lock our files and metadata tightly inside the djay Pro ecosystem, I’d like to suggest two features that would greatly help DJs managing large local libraries:
-
Native Duplicate Management: A built-in tool or Smart Playlist rule to easily identify and delete physical duplicate files directly from the app’s interface.
-
Advanced Export Options: The ability to export a Playlist or Smart Playlist as a
.csvor standard.m3ufile that explicitly includes the physical File Path, Play Count, and Star Rating (solving the previous community requests for better CSV exports).
Having access to our own play history and metadata outside the app would be a game-changer for library management.
If you like this idea and would find it useful, please consider leaving a vote/upvote on this post so the development team can see it!
Thanks for reading and for the amazing software.