Autofix does the legwork of finding where your files went — proposing a replacement path for anything the database, folders, playlists or history worksheet has marked Not Found. It only ever works on Not Found rows: anything you’ve already reviewed is left alone.
When to use it #
Straight after an export, before you start reviewing rows by hand. Let Autofix take the first pass, then spend your time on whatever it couldn’t resolve.
How it searches #
| Repair | How Autofix searches |
|---|---|
| Database | Your file system — the database can only be repaired against files that actually exist. |
| Everything else | Your database — if it’s in a folder, playlist or history, it has to exist in the database first. |
So if folder, playlist or history rows are still Not Found when Autofix finishes, their files aren’t in your VirtualDJ database. Add them in VirtualDJ, then run the repair again.
That split isn’t arbitrary: everything in VirtualDJ, from history to playlists to folders, ultimately traces back to a track you loaded from the database. Fix the database against the real files, and everything downstream can trust it.
The standard pass — /stage:autofix #
Running /stage:autofix works through three rounds automatically, each one a little more forgiving than the last:
| Round | What it checks |
|---|---|
| Sweep | The file name alone, ignoring most of the folder structure — the fastest, most obvious match. |
| Context | File name plus the parent folder — useful when several files share a similar name but only one fits the surrounding folder. |
| Close | The folder alone, without leaning as much on the filename — useful when a track’s been renamed but the folder still clearly points to the right place. |
If an exact match is found, the row’s status is set to Autofix. If there’s a plausible but not certain match, it’s set to Possible — worth a look before you validate.
The Keyword round — /stage:autofix /keyword #
Whatever’s left after the standard pass gets a second, more intensive attempt using keyword matching — artist, album, remix and similar metadata clues. It’s run separately, on request, rather than automatically, since it’s more resource-intensive and takes longer.
/keyword— runs the Keyword round using VDJTools’ own curated keyword dictionary/keyword:<word1,word2,...>— runs it against your own supplied list instead
If there’s a clear winner, it’s reconnected. If there are two or more close matches, the row’s set to Possible for you to review. If nothing convincing turns up, it’s left unresolved — Autofix won’t force a guess.
Key arguments #
/repair:<target>/stage:autofix— the standard three-round pass/stage:autofix /keyword— the Keyword round, run on its own/keywordor/keyword:<word1,word2,...>
Example commands #
vdjtools /repair:database /stage:autofix
vdjtools /repair:history /stage:autofix /keyword:artist,album,remix
Example output #
Virtual DJ Tools (vBeta)
Copyright© 2024-2026 Quick Apps UK. All rights reserved
Build: 1.0.38.0
repair: database
stage: autofix
Database loaded: 11 songs from C:UsersDJOneDriveVirtualDJdatabase.xml
Database loaded: 1 songs from D:VirtualDJdatabase.xml
Database loaded: 33755 songs from E:VirtualDJdatabase.xml
Database loaded: 3133 songs from F:VirtualDJdatabase.xml
Database loaded: 0 songs from H:VirtualDJdatabase.xml
AutoFix complete: 1571 fixed, 7530 not fixed
Safety notes #
Autofix only ever proposes a value into the worksheet — nothing is written to VirtualDJ until you validate and import as normal. Treat every proposed row as a suggestion worth a glance, not a finished answer.
Limitations #
Autofix can leave rows unresolved, and can occasionally propose a wrong match — particularly in the Keyword round, where the matching is looser by design. Always review before validating.
Common scenario #
A drive letter changes and hundreds of tracks show as missing. The standard pass clears most of them in seconds. The handful left over — tracks with unusual names or thin metadata — are exactly what the Keyword round, or a manual update, is for.