Have a feature request or suggestion? Post your idea here!

Post

1 follower Follow
0
Avatar

2.0.3 Playlist/Library XML Interface

First, I'd like to say THANK YOU for publishing the Library XML!  ( http://rekordbox.com/support/developer.php?lang=en )  Now I can collect and partially manage mix parameters ( Cue points, especially ) across my entire library.

However, when importing a playlist via Bridge, RB will not update various track parameters in the <COLLECTION> -> <TRACK> element.  If the track is new to the library (or has been removed) then the collection attribute is read in its entirety.

Especially important for my workflow are the attributes in <POSITION\_MARK> (various cues) but I'm also very interested in <TRACK> -> Mix, Comments, and Genre from a library management perspective.  

I consider position markers unique for each set/playlist, and having this interface work for the <COLLECTION> attribute in the bridge import direction would considerably help my workflow and enable me to capture and restore playlist specific cue points and hot cues, have library info for which tracks were played where, and do bulk editing of track data fields (such as updating a genre with new lingo, etc.) and I don't want to have to nuke tracks to make the interface work (which is my current work-around.)  A simple check box in File->Preferences->Bridge page to turn on/off library updates (default=off) could be done if the developers feel paranoid about this, but they should be horrified that customers are resulting to brute force as a work-around (and if I nuke the wrong track in the process, it could be very difficult to notice! ;^)  This could be REALLY AWESOME!

A side note for those playing with this API:  If you build a playlist with the XML bridge, make sure each track is instantiated in the <COLLECTION> attribute.  If you don't, then the omitted tracks will not show up in the playlist.

Thanks,

-Pope

pope

Post is closed for comments.

5 comments

0
Avatar

BTW, through testing, even with the work-around of killing a track then reloading it via XML, the <TEMPO> attribute is completely ignored on import.  On an aside, from the XML description, I learned that this is called the "Inizio"...learn something new every day!

A feature request is extending the first beat marker functionality to block out phrases (e.g. 8 measures) bonus points if the number of measures are configurable and you can drop more than one Inizio (because lots of producers like to do half-phrases or half measures)

pope 0 votes
Comment actions Permalink
0
Avatar

Here's a sample of an XML bridge file my script creates that enters a playlist and loads files with preset cue points:

<?xml version="1.0" encoding="utf-8"?>

<DJ\_PLAYLISTS Version="1.0.0">

<PRODUCT Name="rekordbox" Version="2.0.3" Company="Pioneer"/>

<COLLECTION Entries="4">

<TRACK Location="file://localhost/D:/raw%20tracks/Library/2Timesdope%20-%204%20My%20People.aif">

<POSITION\_MARK Type="0" Start="0.006" Num="-1"/>

<POSITION\_MARK Type="0" Start="200.934" Num="0"/>

<POSITION\_MARK Type="0" Start="245.585" Num="2"/>

</TRACK>

<TRACK Location="file://localhost/D:/raw%20tracks/Library/3Db%20-%20Baader%20%28Dredzone%20Remix%29.aif">

<POSITION\_MARK Type="0" Start="42.843" Num="-1"/>

<POSITION\_MARK Type="0" Start="199.532" Num="0"/>

<POSITION\_MARK Type="0" Start="256.51" Num="2"/>

</TRACK>

<TRACK Location="file://localhost/D:/raw%20tracks/Library/4Kuba%20-%20Charlie%20Chaplin%20%28Access%20Denied%20Remix%29.aif">

<POSITION\_MARK Type="0" Start="0.007" Num="-1"/>

<POSITION\_MARK Type="0" Start="57.707" Num="1"/>

<POSITION\_MARK Type="0" Start="180.462" Num="0"/>

<POSITION\_MARK Type="0" Start="209.399" Num="-1"/>

<POSITION\_MARK Type="0" Start="214.757" Num="-1"/>

<POSITION\_MARK Type="0" Start="223.768" Num="-1"/>

</TRACK>

<TRACK Location="file://localhost/D:/raw%20tracks/Library/Fat%20Riderz%20-%20Deadline%20X%20%28Rektchordz%20Remix%29.aif">

<POSITION\_MARK Type="0" Start="4.79" Num="-1"/>

<POSITION\_MARK Type="0" Start="34.217" Num="1"/>

<POSITION\_MARK Type="0" Start="39.653" Num="-1"/>

<POSITION\_MARK Type="0" Start="48.828" Num="-1"/>

<POSITION\_MARK Type="0" Start="258.222" Num="0"/>

<POSITION\_MARK Type="0" Start="294.92" Num="-1"/>

</TRACK>

</COLLECTION>

<PLAYLISTS>

<NODE Type="0" Name="ROOT" Count="1">

<NODE Type="1" Name="playlist - test.mmp" Entries="4" KeyType="1">

<TRACK Key="file://localhost/D:/raw%20tracks/Library/2Timesdope%20-%204%20My%20People.aif"/>

<TRACK Key="file://localhost/D:/raw%20tracks/Library/3Db%20-%20Baader%20%28Dredzone%20Remix%29.aif"/>

<TRACK Key="file://localhost/D:/raw%20tracks/Library/4Kuba%20-%20Charlie%20Chaplin%20%28Access%20Denied%20Remix%29.aif"/>

<TRACK Key="file://localhost/D:/raw%20tracks/Library/Fat%20Riderz%20-%20Deadline%20X%20%28Rektchordz%20Remix%29.aif"/>

</NODE>

</NODE>

</PLAYLISTS>

</DJ\_PLAYLISTS>

pope 0 votes
Comment actions Permalink
0
Avatar

I've thought about this more, and a new feature request is the result:

One of my biggest pet peeves with Rekordbox is the fact that the database is the repository for all Cues/Loops.  I *HATE* this.  I think it is fine if the database keeps the LAST set of cues and therefore that becomes the default on the next mix, but really each Playlist should have it's own set of per-track Cues/Loops that trumps the database.  Looking at the XML spec for Rekordbox, the hooks appear to be there.  So, please do this!  (and make an XML import set the cues and update metadata, too!)

pope 0 votes
Comment actions Permalink
0
Avatar

I corralled 2.0.7 into a sandbox and gave it a cursory set of tests:

1)  Have not yet found anything 'broken' from the last version

2)  Have not yet tried modifying track tempo settings using the XML Bridge interface....

3) Library behavior with respect to Cue/Loop/Hotcue has not changed, e.g.: items imported via XML Bridge do not update the main library with new Cue/Loop/Hotcue values if those entries have already been set in the library.

Put another way, I can't see what has been 'fixed' with the XML Bridge interface, unless the fix was focused on Tempo/Inizio behaviors.

SO, I can still import a playlist and tracks using the interface, but if the track is already in the library, it will ignore my new cue settings on import.  It's okay, really;  I've been erasing my library after generating each set because I keep the database externally (with cue points and loops archived on a per-set basis) and only push my current set out to the decks using the XML Bridge interface.  As a result, every set I've performed since version 2 is archived as a live recording along with all the performance parameters used for that set.  If I wanted to use a segment of a particular set, I can cut it out and paste it into a new set and all the cues are ready rock with no futz...then edit it and keep those results, and so on...

pope 0 votes
Comment actions Permalink
0
Avatar

Just being pedantic to follow up my previous posts with tests on 2.1.1 (even though there is no sign that pioneer or mixvibes even reads this crap, it's not evident from the release behavior)

Item (2) above, does not appear to be resolved in 2.1.1.  The xml import drops a red marker, but there is no beat grid following that point.  Re-analyzing the track drops a default beat grid which is usually incorrect. This behavior is also mentioned in this thread: 

**   ** http://pioneerdj.zendesk.com/entries/27227787-Rekordbox-beat-grid-sucks-compared-to-Traktor-Pro-

Item (3) above appears to be resolved, with an option upon import to update the library cue points, thanks!

pope 0 votes
Comment actions Permalink