Forum: VirtualDJ Technical Support

For reporting any bug, questions or comment related to the latest version of VirtualDJ
(NOTE: VirtualDJ continuously updated, so many older topic on this forum are most probably already fixed in the current build)

If you need extended support, contact our Support Team.
Forum Guidelines  (*) The moderators hold the rights to remove, move or modify posts.
Topic: Parse Filenames and Reload Tags
Levity1PRO InfinityMember since 2017
I've tried googling this but everything I've found has been too technical for me to understand

I store all of my files in Google Drive and have the files downloaded directly to my computers, so I don't need to rely on internet to access them. Whenever I update my library, it syncs the data across all of my devices.

What exactly does "Parse Filenames" mean?
If I were to select that option for my entire song library on my primary device, what would it do?
If I opened one of my backup devices with a different VDJ2018 account logged in, but the same library directory, what should I expect there?

Same question for reloading tags:
If I edited the tags on my primary device, then went to one of my backup devices with a different VDJ2018 account but the same shared library, what should I expect to happen when I click "reload tags" on my backup device?

Thanks in advance

Posted Thu 16 May 19 @ 7:56 pm
You can also sync the Ducuments>VirtualDJ folder and it will update the database, playlists, history etc. across all machines.

The location VDJ reads it from can also be changed in the registry too if need be.

No need to update manually.

Posted Thu 16 May 19 @ 8:07 pm
1. Parse filenames will try to take Artist and Title data from the filename itself (it assumes that you store your files as artist - title.mp3)
For the same files it should give the exact same results

2. Reload tags literally what it says. It re-reads the tags of the files and updates the database info.

Now let's go to the purpose of your question and let's explain a few things:

1. When VirtualDJ sees a new file (a file that doesn't exist in it's database) for the first time it will read it's tag and store the data of the tag in it's database. If the song has no tag data at all, then (and only then) it will try to parse the filename by it's own (without you telling it to do so) in order to fill the database.
2. From that point on VirtualDJ will NEVER-EVER again read the tags of the files automatically.
3. From that point on VirtualDJ ALWAYS relies to it's database for searching and displaying data.
4. VirtualDJ won't alter/change the songs tag data unless you explicitly tell it to do so. When you edit a song's data inside VirtualDJ (by using tag editor) you are editing/changing the database contents. Not the tag of the file itself. There's a button on Tag Editor "Write Tag" for that job. If you don't press that button VirtualDJ will save your modifications on it's database, but not on your file(s) tag!
There's one "exception": If in VirtualDJ settings you set the option 'setTagsAuto' to 'yes' then the "Write Tag" button disappears from tag editor and any change you make from there saves both on database and files tags.
5. The "key" to determine if a song is new or not (if it exists in database or not) is it's complete filename.
E.G: C:\Users\Space\Music\Albums\2019\Cool Artist - Super Duper Cool Song.mp3

Now that you know how VirtualDJ works, let's go back to what you want to do, and how it's easier to do it.
1) The location of your Google Drive folder must be the exact same on all connected PC's.
If you noticed my example above, it mentions a file stored on user's "Music" folder.
However "Music" folder is a "special" folder and it doesn't have the same path on all PC's.
In the example above the "Music" folder resolves to C:\Users\Space\Music but in my PC it resolves to C:\Users\GTsag\Music
If you haven't understand why, it's because the username you use on Windows takes part on the real location of the folder.
Same rule applies for Desktop, Documents, Pictures,Videos and Downloads special folders.
So, when you set up Google Drive on each PC you must make sure it doesn't store it's files inside a special folder/location.
I would change the default location of Google drive to "C:\Music" for each PC (Unless all your PC's have a second HDD you can use and set Google Drive to store files there)
2) I would create a 'special' folder inside Google Drive to store a copy of my database.
This is the most tricky part.
Create a folder named 'VDJ DB' inside Google Drive.
Now, each time you work on a PC and you get finished you must copy it's database inside this folder.
Then on another PC you must copy this database back again to VirtualDJ before you start it for VirtualDJ to see the changes made with the first PC.
Step by step example using 2 PC's A and B, assuming that they have the Google Drive folder located in C drive
PC A: Start VirtualDJ, Play, Edit, Set Cues e.t.c.
PC A: Close VirtualDJ
PC A: Go to Documents\VirtualDJ\ folder.
PC A: Copy the database.xml file and "folders" folder
PC A: Paste the database.xml file and "folders" folder to "VDJ DB" folder in Google Drive
PC A: Wait for Google Drive to finish syncing
PC B: Wait for Google Drive to finish syncing
PC B: Copy the database.xml file and "folders" folder FROM "VDJ DB" folder in Google Drive
PC B: Go to Documents\VirtualDJ\ folder.
PC B: Paste the database.xml file and "folders" folder
PC B: Open VirtualDJ, do stuff.
PC B: Close VirtualDJ
PC B: Go to Documents\VirtualDJ\ folder.
PC B: Copy the database.xml file and "folders" folder
PC B: Paste the database.xml file and "folders" folder to "VDJ DB" folder in Google Drive
PC B: Wait for Google Drive to finish syncing

If you Google Drive folder is set on any drive besides C the steps are the same, only that instead of going to Documents\VirtualDJ folder you need to go on the VirtualDJ folder on the root of the drive (e.g. D:\VirtualDJ)

Finally, advanced syncing:
The location that VirtualDJ stores it's databases is pretty much hardcoded.
However you can use a trick to make Google Drive (or any other similar application like Dropbox) to sync it as well besides the fact that it's not located inside the Google Drive folder.
This trick is advanced and you should not proceed unless you understand 100% what we are doing.

The way to do it is to either edit windows registry or create a junction point in Windows. Junctions are something like shortcuts, but they work on filesystem level and OS sees them as "true" directories instead of shortcuts.

If the Google Drive folder is on C drive then the entire Documents\VirtualDJ folder needs to "move" inside Google Drive
If it's on any other drive then only the VirtualDJ folder on the root of the drive needs to "move"

In the first case (everything is on C drive) you can either use a junction point or edit Windows registry to change the location of VirtualDJ home folder.
Since editing the registry is easier, it's recommended to use that way to move your VirtualDJ home folder inside Google Drive.
Open registry editor, navigate to HKCU\Software\VirtualDJ and edit the HomeFolder key to point on the new location inside Google Drive.

In the second case (Google Drive is on a drive different than C) the only solution is a junction. The example here assumes drive D is the drive with Google Drive folder
Open Windows Explorer and go to D drive
Rename VirtualDJ folder to VirtualDJ2
Open an elevated command prompt
type (and hit enter after each line)
mklink /j "D:\VirtualDJ" "D:\Google Drive\VDJ DB"

Now on your D drive you should see that a VirtualDJ folder has been created and that it has a small arrow like a shortcut
Go on VirtualDJ2 folder, copy it's content and paste them inside the new created VirtualDJ folder.
Now if you go to D:\Google Drive\VDJ DB folder you should see the same files as in D:\VirtualDJ folder!
And your folder should sync in the cloud!
Do the same on all PC's and now everything should sync.

However there's a catch:
You should NOT have 2 PC's that sync via Google Drive running VirtualDJ at the same time.
Doing so will result in an absolute nightmare with files trying to sync "both ways" and you'll end up with hundreds if conflicted copies of your database.

I realize that this post may have more information than you asked, but since this subject comes up from time to time I thought I would give the most complete answer for other guys reference as well.

Posted Fri 17 May 19 @ 7:57 am