Forum: VirtualDJ Plugins

Use this forum if you have questions about plugins development, or if you want to talk with other developers.
Topic: [New Tool] VDJ8 Database Tools - Feedback needed


After some thoughts I decided to create a new tool for various operations with VirtualDj 8 database files.
Unlikely previous attempts of mine, this tool will NOT mess with your files and tags since VirtualDj 8 is absolutely capable of doing so.
What this tool will do, is to perform batch operations on the database file itself.
This tool won't do anything that a good XML editor with some RegEx scripts can do already. However it aims to simplify the process for users that don't know how to use RegEx.

Currently (2017-10-05) this tool is mostly in it's design stage, and that's where I need your feedback:

This tool will perform the following actions: (Edited 2017/10/06)

  • Reorder All POI's
    Reorder your POI's (basically your hotcues) in chronological order
  • Colorize All Action POI's
    Set a specific color for all action POI's so that they can stand out from the rest "normal" POI's
  • Lock All Cues
    Choose to lock cues for files that already hove some, or for ALL tracks.
  • Unlock All Cues
    Unlock all cues (if they are locked)
  • Delete POI's
    Choose to delete various types of POI's independently from each other (e.g. Delete action pois but keep the rest, or delete beatgrid pois only, e.t.c.)
  • Delete Comments
    Delete All Comments from DB
  • Format Track Numbers with a leading zero (e.g. 01 instead of 1)
  • Copy One DB Field to Another
    Copy information from one database field to another.
  • Switch One DB Field with Another
    Switch information between two database fields.
  • Clear a DB Field
  • Reset Cover Field
    Reset all linked covers for all files
  • Clear Track Color on Browser
    Clear the colors set by the user in VirtualDj browser


Until I finish the code behind these actions, I would like to know what other actions you may need from such a tool.
You can ask for anything, but remember 1) The action that you ask for will affect ALL files on your DB, and 2) This tool will modify ONLY your database file (so don't ask for anything that involves reading/writing to file tags)
I can't make a promise that I will fulfill every wish, but if a wish is reasonable enough and it can be done in a batch, I will add it.

Edit 2017/10/06:
Do you think a concatenate function would be useful ? (In other words merge the data of two fields and save them on any field)

Thank you!

Posted Thu 05 Oct 17 @ 8:46 am
Looks great!

Just a thought:
In the event we get a corrupted database.xml file, do we know what the issues often are?
And can we detect them?

Because then a couple of suggestions could be:
Backup and delete broken track entries
Backup and cut of file at corruption (and adding a new XML end)
Show unavailable drives (I think VDJ will try to fix those if it can, but if it has no place to go...)

Posted Thu 05 Oct 17 @ 9:24 am
VirtualDj 8 already detects and tries to fix corrupted database files (and also keeps a backup of the original file)
So I don't think this is a job for this tool.
However I'm thinking for a function that could possibly "split" the database on 2 parts:
1) With all files present on the system right now and 2) One with all missing files. But I can't think of any real case usage of this function...

Posted Thu 05 Oct 17 @ 9:31 am
Can we please have an option to delete (cleanup) all "online" files.

I only use Deezer now and again and to listen to new music, and once the track is finished with it leaves an entry on the DB permanently. The only option at the moment for these entries is to search for "netsearch" and delete them manually.

I'm pretty sure the Database>remove missing files from search DB doesn't clear these at present.

Thank you.

Posted Thu 05 Oct 17 @ 9:37 am
One thing that immediately comes to mind (that I've wished for in VDJ itself) is to set colours for tracks based on certain criteria - for example "make all reggae tracks green". It would set all your existing tracks that match genre=reggae to green, but also automatically do that to any newly imported ones.

I understand that the second (automatic) part would not be possible with your new tool, but you could achieve the first part.

It could also be used to set colours for certain tempos or tempo range. Lots of possibilities.
----------------------------------------------------------------------------------------------------------------------------------

[edit] another one that I've asked for more than once - to be able to list all "faulty" files. In VDJ 7 they used to be marked in the browser with a ! but I think this has been removed from the VDJ 8 browser. So the flagged files are still in the VDJ database but there's no way of filtering them or showing them in the 8 browser.

A bit more information (what exactly is wrong with the file) would be useful, but let's start with being able to see them. :-)
[thinking] this could perhaps be an option for the first idea - if track is flagged, colour it red.

Posted Thu 05 Oct 17 @ 5:48 pm
The problem with criteria based coloring is what happens when a track falls on more than one categories.

Color all "Reggae" tracks "Blue"
Color all 128+ BPM tracks "Orange"

What happens when a "Reggae" track has 129 BPM ? What color it should get ?


Posted Fri 06 Oct 17 @ 6:32 am
It's unlikely that a reggae track would be 129 bpm, but I see your point. :-)

However, the same would be true if the colouring was done "manually". You can't win 'em all.

What about the flagged faulty tracks?



Posted Fri 06 Oct 17 @ 5:53 pm
ZiglarHome userMember since 2011
1.Convert database entries or entire database from windows readable format to mac readable format.
What i have realised is virtual dj on a mac can try to read windows formatted database files and do some conversion but then you loose all cue points.

Posted Fri 06 Oct 17 @ 7:45 pm
Macs can read, but, can't write to NTFS drives.
I have used my Mac for over 7 years reading and writing to an external hard drive formatted for NTFS.
I have plugin software by Paragon that enables reading and writing to NTFS drives totally seamlessly.

Click here

Posted Fri 06 Oct 17 @ 9:42 pm
groovindj wrote :
It's unlikely that a reggae track would be 129 bpm, but I see your point. :-)

However, the same would be true if the colouring was done "manually". You can't win 'em all.

What about the flagged faulty tracks?




Ok, I can try to come up with some "Colorize tracks based on various criteria" action(s)

Can you please explain better what you do mean by "faulty" tracks ?
IIRC, VirtualDj 7 would use the exclamation mark in time field when the track was VBR and was not yet analyzed (and therefore the time shown could be wrong)
I believe VirtualDj 8 still uses the exclamation mark on such cases, but I don't have any VBR files on my library anymore, nor any not scanned tracks! :P
Anyway, please explain better what you want, and if the info is present on the DB I can add an action

Posted Fri 06 Oct 17 @ 10:02 pm
From the VDJ 7 manual:
Exclamation ( ! ) in Time column – indicates that the file is corrupted (probably following a bad copy) and that it may finish abruptly or there may be excessive noise in the track

In the 7 DB they were marked as faked="1" but in the 8 DB they're corrupted="1".

Posted Fri 06 Oct 17 @ 10:46 pm
Do you have such files ? Can you send me a database copy with that info ? I have mot a single file flagged as corrupted and since this info could be held on 2 different nodes inside the XML, I need to know where...

So I either have to find such a file, or a database file with that info...

Posted Sat 07 Oct 17 @ 9:47 am
It's part of the infos line for each listed file.

<Infos SongLength="402.155102" FirstSeen="1307100840" Bitrate="320" Corrupted="1" Color="2465469" Cover="2" />

Last night I checked to see if the VDJ 8 browser still shows ! for these files, and yes it does. If you add corrupted="1" to a track in your DB you'll see the ! shown next to the track length in the browser.

Posted Sat 07 Oct 17 @ 9:55 am