Almost always a partial write to database.xml — VirtualDJ was closed mid-save or the disk hiccupped. MLD diagnoses and restores from backups.
VirtualDJ launches and shows "database corrupt" or your library appears empty. The usual cause is a partial write to database.xml — VirtualDJ was force-quit during a save, the disk got disconnected mid-write, or an antivirus tool quarantined the file. Unlike Rekordbox's encrypted SQLite, VirtualDJ's database is plain XML, so partial writes leave malformed XML that the parser refuses.
Supported today
Rekordbox · Serato DJ · VirtualDJ (incl. Favorite Folders) on Windows 10+ and macOS (Apple Silicon + Intel).
Plain-XML databases like VirtualDJ's are easier to repair than encrypted ones — once you understand the schema. MLD knows VirtualDJ's exact format (regular playlists, Favorite Folders, M3U references, history) and can salvage the valid parts even when the file as a whole is malformed. The automatic timestamped backups (taken before every MLD operation) are the safety net if in-place repair isn't enough.
VirtualDJ closed unexpectedly during a save, disk filled up mid-write, external drive disconnect while VirtualDJ was writing, or antivirus tools quarantining the file mid-transaction.
Yes. Favorite Folders metadata is part of the database.xml schema MLD reads and writes. If the Favorite Folders section is intact, it survives in-place repair; if a backup restore is needed, the most recent backup has them too.
Standalone M3U files are separate from database.xml — they're plain text playlist files. Database corruption doesn't affect them. MLD can re-import them after the repair if needed.
Only as a last resort. Starting fresh means re-importing every track and losing every cue point, beatgrid, and Favorite Folder you've ever set.
Yes. MLD detects portable mode and targets the database.xml inside the portable install folder, not the system VirtualDJ folder.
Free tier covers detection and viewing. Lifetime access is $49 — $19 for the first 100 DJs.