Author Topic: Any tips for workflow when using DJ software?  (Read 427 times)

Barbie-qu

  • Jr. Member
  • **
  • Posts: 67
Seeing as many of the DJ apps such as Rekordbox, Serato, Denon Engine Prime and Traktor have quite poor library management features, and Musicbee is much more powerful, does anyone have any tips for using Musicbee in their workflows?

Currently all my music is organised in Musicbee, but I also need to use Denon Engine Prime, so i'm particularly interested in this software, but tips for any of the major platforms could be helpful.

Questions I have include:
* How to leverage the extended tagging capabilities of Musicbee when tag support is much more limited in the DJ software. i.e. do you use Musicbee to filter/sort/find tracks and create playlists or crates, and then import into your DJ software?
* How do you get your playlists or collections of music into your DJ software?
* How to maintain a subset of my main music library for DJ use but only use Musicbee for tagging and creating playlists or crates.
* Is is possible to update metadata through Musicbee and reimport into the DJ software in a relatively painless way? Or is this a concept that should be avoided?
* How do you minimise the risk of the DJ software overwriting your metadata if your DJ tracks are part of your main music collection?
* How do you manage multiple genres as most(?) DJ SW does not support this.

Cheers.
Last Edit: July 16, 2020, 08:59:38 PM by Barbie-qu

alec.tron

  • Hero Member
  • *****
  • Posts: 686
Hai.

* How do you get your playlists or collections of music into your DJ software?
iTunes xml hook ;)

* Is is possible to update metadata through Musicbee and reimport into the DJ software in a relatively painless way? Or is this a concept that should be avoided?
Yes, most have a possibility to force 're-read' metadata

* How do you minimise the risk of the DJ software overwriting your metadata if your DJ tracks are part of your main music collection?
Here's the painful part... you first need to understand what the package you want to use does, and where it has data practice/handling oddities.
I've written a few python scripts that pick up and fix some of the bad metadata habbits for the packages I use.
This:
* How do you manage multiple genres as most(?) DJ SW does not support this.
Being one of them... as many mangle multi value metadata, and have been doing so since forever unfortunately, despite it being requested for a decade plus.
But hey, Serato has had requests to support Track Ratings from 1000s of users for 2 decades now... :D
And, they're still ignoring it. But, Serato is a lost cause on that imo...

Anyway, my hope is on Traktor, Denon and/or Mixxx to finally bite the bullet and support multi- & custom-value metadata natively...  all I can suggest is - chime in on the threads about these, and file support requests. Only if users get vocal will manufacturers/devs consider new features.
Until then I'll only get by by having one parent library, and a few USB children in sync, and giving access to them only to write the prorietary Traktor/Serato fields to file, then fix them up before alllowing them back into the parent library.
So yea, not (average) user friendly, but easy/quick enough to do when you know how to fix up metadata via code/scripts and have a decent backup system [vital anyway - do NOT use 1 main library that you barely back up... otherwise you're in for a world of frustrations... even moreso if you use powerful tools, i.e MusicBee/Foobar or Python via Mutagen or taglib...].

c.
Last Edit: July 17, 2020, 03:43:55 PM by alec.tron

Barbie-qu

  • Jr. Member
  • **
  • Posts: 67
Hey Alec.tron, that's a super useful reply. Thanks  8)
A lot of your answers chime with my experiences previously - e.g. basically having to work around the limitations of the DJ software.


Quote
Until then I'll only get by by having one parent library, and a few USB children in sync, and giving access to them only to write the prorietary Traktor/Serato fields to file, then fix them up before alllowing them back into the parent library.


This part is interesting, but i don't totally get it. Are you browsing your MB library through the XML hook, then adding these tracks to your <DJ software> library for analysis/writing cue points, and then removing them from your DJ software library later?
What do you mean when you say "fix them up before alllowing them back into the parent library."

Cheers.

 

alec.tron

  • Hero Member
  • *****
  • Posts: 686
Briefly>

I have a main library MusicBee is allowed to access. This is backed up automatically in intervals.
If I need to use new data/tracks, or xml  in DJ software - it then gets sync'ed (see SyncBack for a decent tool for that) to a large USB drive I use to DJ off.
Traktor/Serato may then load the data from the USB drive, inject their proprietary metadata into the files, which then messes up other fields & values (concatenating multi values, messing up dates, overwriting keys, etc), as you might know/find...
Then, after a session of playing / preparing cue points / analyzing, I take the usb drive, hook it back up to the desktop with the main library, and have a custom python program (using https://mutagen.readthedocs.io ) to compare all fields of the files Traktor / Serato have written to (time stamp) and compare them, in code, with the metadata from the main library on the same files. If this python code then finds messed up metadata in fields, I copy the original values back from main library on to the USB files, and only then sync them back from USB to library.
Meaning I get to keep the Traktor & Serato metadata I am after, as well as not shred my own curated metadata...
Sounds convoluted, and it is, but again, once set up, fixing up a batch of 100s of files takes less than a minute.

Unfortunately these python scripts are so bare bones, and hardcoded to my library & backup system, there's no way/point in passing them on. So unfortunately  you will need to write something yourself for that.
Or - annoy the shit out of Denon, Native Instruments and Serato, to fix up there broken metadata handling code... finally...  

Hope this helps.
c.
Last Edit: July 17, 2020, 11:13:08 PM by alec.tron

Barbie-qu

  • Jr. Member
  • **
  • Posts: 67
Ok, i get it now.
By exporting/syncing copies of thetracks from your main library to the DJ software you ensure that only one program can write metadata to the files at a time. Then by reimporting with a check on important metadata from the DJ software you add the proprietry tag data to your main library.
If you delete the track off your USB drive and then re-add it later, does it still exist in the DJ database?

Nice solution by the way. Tootally understand where you're coming from regarding your code as it wouldn't be transferable. I couldn't code a solution myself, but i know people who could.

BTW I'm already on it regarding requests for better tag support: https://denondjforum.com/t/right-click-write-information-to-tag/14828/7

alec.tron

  • Hero Member
  • *****
  • Posts: 686
If you delete the track off your USB drive and then re-add it later, does it still exist in the DJ database?
Not sure what the use case is, but sure, all DJ programs just use absolute paths / file pointers, and as long as you don't agree to remove the missing file from DB, if you were to scan/load it it would be shown as missing, then it will re-appear once the file is back under the same location/name.
c.