Author Topic: iTunes xml parser for Traktor / Serato / Rekordbox  (Read 14832 times)

Barbie-qu

  • Jr. Member
  • **
  • Posts: 69
Hey, alec.tron, Thanks for replying on this and my other post.
I'll probably try the trial and error approach you suggested and see what I can learn. The obvious character violations should be relatively easy to search for, but for the others let's see.
Do you have a list of invalid characters and mappings that you are willing to share?

Cheers, T.

alec.tron

  • Sr. Member
  • ****
  • Posts: 752
I only went through that myself once when I switched over my library to be DJ software agnostic with my setup, as all DJ packages had severe issues & drawbacks when it comes to library & metadata & I was severely fed up with what was available, so I use MB as my main organisational tool for playlists & metadata ever since, and transfer through xml.

As for what I remember - try googling for regular expressions to find non-ascii / non-uniform characters
That was a good starting point and this would be the 'list of invalid characters' you are after, but that did not find all. So after that I went through via trial and error as well to find the last handful of files...
Since then it's been pretty much problem free in that regard though (alas, and worth noting - I also use a foobar based renaming script, foo_fileops [out of habbit - I'm sure MusicBee has something similar], to rewrite the file name out of discogs (foo_discogs ) generated metadata - to fix diacritics & special signs to ascii/file-system conform characters - as to not to introduce files with new issues).

c.

Barbie-qu

  • Jr. Member
  • **
  • Posts: 69
Ok, a quick update on my attempts to import the MusicBee iTunes XML into Denon Engine Prime.

In short, it is possible, although your tagging needs to be pretty clean. However it doesn't work if you store your files on a network drive.


There were a few items that caused my import to fail and through a trial and error process I found all the issues.
I did this by making copies of partsof my library and using a portable install of MB I created different XML files which I then tried to import into Engine Prime.

Issues preventing successful import
Some dates were not formatted YYYY
Some playlists had no contents (due to the filter criteria not returning results, or renaming of target directories etc.). Removing these playlists in MB allowed the syncing.
Playlists that were organised in folders did not import, but a flat list of auto and static playlists imported ok.
When non-numeric characters (e.g. A, B, Side A) were present in the track number field the import worked, but no track number data was added to Engine Prime for these entries.

I saw strange behaviour when importing that I now think is due to the files being stored on a network drive. There were times it went through the import process but then reported 0 tracks in the Engine Prime collection. Other times the tracks imported, but then seemed to disappear from the folder they were in previously.
It seems this is due to the way EP handles the relative path to the files.

One final note is that I didn't notice import issues caused by non-ascii characters in the filenames or metadata.
Last Edit: July 27, 2020, 11:23:37 PM by Barbie-qu

alec.tron

  • Sr. Member
  • ****
  • Posts: 752
One final note is that I didn't notice import issues caused by non-ascii characters in the filenames or metadata.
Yea, it's target system specific. Serato (in file paths) & Traktor (in metadata) are both notoriously bad when dealing with diacritics...
c.

not_phonemic

  • Newbie
  • *
  • Posts: 8
Holy sh*t, thank god for you. I've been trying to find workaround for this forever...

alec.tron

  • Sr. Member
  • ****
  • Posts: 752
Holy sh*t, thank god for you. I've been trying to find workaround for this forever...
Happy to hear this is still helping people!
Chur.
c.

alec.tron

  • Sr. Member
  • ****
  • Posts: 752
Just a heads up:
For MusicBee 3.4.7708  the output xml formatting was changed, see:
https://getmusicbee.com/forum/index.php?topic=33221.msg187251#new
resulting in the xml showing different behaviour in Traktor,Serato and Rekordbox5 with this recent version - i.e. not being able to read the xml natively anymore at all (both Traktor & Rekordbox5 error/crash now on import), or with some rather odd behaviour (Serato... converts iTunes xml playlists straight to Root level playlists in the serato collection [NOT in the itunes node...!!!] - so beware, this can mess up your whole library!)

But - looks like the parsers' output, even with the new xml from  MusicBee 3.4.7708+, does still work for all 3 target packages [even though the xml now has a double   <key>Folder</key><true/> declaration for each playlist... but, this seemingly doesn't have an affect as far as I can tell after some brief testing in all 3 targets].
Sing out though if anyone using MusicBee 3.4.7708+ and the xml parser and is spotting any new issues with the reformatted output file in any of the mentioned DJ packages.
Cheers.
c.
Last Edit: February 09, 2021, 09:59:45 PM by alec.tron

alec.tron

  • Sr. Member
  • ****
  • Posts: 752
There's been a new patched version where the xml scheme changed slightly, see
Heya,
had a check in all targets (with MB 3.4.7711 P), here's what i found:
- Traktor 3 (3.4.1x) can now can natively import the MusicBee iTunes xml (and doesn't need the parser's reformatting anymore)
- Rekordbox 5 (5.8.0) can now can natively import the MusicBee iTunes xml(and doesn't need the parser's reformatting anymore)
But
- Serato DJ Pro (2.0.2) can import the native xml, but loses grouping and all playlists sit in a flat list (using the parser with this new xml still seems to work though - since I haven't used Serato in years, that's probably the end for me using the parser, until I need Serato compatibility of the xml again...)

Churs.
c.

So looks like the parser can be retired for Traktor & Rekordbox.
c.