Djay2 Track history lost after ipad synch

Loving the app, but I have recently lost all my set history after synching my ipad
I can see how many tracks were in each mix but none of the track details are visible
I can reload each track from music library and cue points are all in place but track name no longer shows in history list which is quite annoying
Any ideas?
Thanks
Imran

Hi Bob,

This is a known issue and our developers are currently looking into it.

The issue you’re referring to only started occurring with iOS 7 and is due to the fact that the songs may suddenly receive a different iTunes Persistent ID after syncing. So, it’s not because djay is corrupting the files, but because the songs are no longer available under the old ID.

As already mentioned, our developers are aware of this issue and we’ll be sure to fix this with an update.

Hi Greg,

We found out that the iTunes PID can change and does not necessarily have to be the same on all devices even though you synced them with the same iTunes library. I believe this started around iOS 7. This is why djay now uses its own ID to identify your songs so your data does not get lost after syncing and also that iCloud sync works across devices even if the iTunes PIDs are different.

The hash algorithm that we use will do you no good as it has nothing to do with the original iTunes PID. I recommend maybe writing a script that will search for the particular track via name/artist etc. and then spitting out the PID on that device.

Why not implement an auto-export to iCloud so that

a) The history can be saved before djay has a chance to corrupt it; and
b) The history can be useful on more than just the device you last DJ’d on.

I use both the Mac and iPad versions of djay and it would be nice if the two could actually share histories instead of just tiny little bits of metadata. I am torn, as I prefer the interface of djay2 on the iPad to the older and less flexible interface on djay for the Mac, but because it corrupts the histories regularly, I can’t rely on it. So I am going to have to give up on using the iPad version until you guys finally get the simple issue of syncing histories (without the corruption part). This is really unfortunate as I love nearly everything else about djay 2.

That’s great news if true. Have they finally implemented a history sync back to the Mac (either to iTunes or djay 1 for the Mac)? That’s the only remaining major pain-in-the-ass missing feature. Otherwise the software is fantastic.

Because algoriddm hasn’t seen fit to allow export of playlists (histories) from djay 2 for iOS, I’ve had to resort to pulling the playlists off of my iPad as .plist files and then try to script recreating a playlist of the same name with the same contents in iTunes on OSX.

Strangely, the “Persistent ID” (PID) that’s stored in the djay .plist file for each track is not consistent with the PID stored in the .XML file version of the iTunes library for the same track. So when I tell iTunes to add the track with the djay 2 PID to the playlist, it fails because it can’t find it. Using the the PID from the iTunes XML database for the same track DOES work.

Since algoriddm refuses to export playlist/histories from djay 2 back to iTunes on OSX, can you at least let me know why the PID stored in djay does not match the one in iTunes? Clearly, you’ve got some way of determining the correct PID when djay runs, as I can select that same track from that same history in djay on either my iPhone or my iPad and it works fine.

So this leaves two possibilities that I can think of. Either
a) iTunes changes the PID when the track is synced to an iOS device and so the PID that djay uses is correct for that device; or
b) djay uses some sort of hash algorithm for some reason to convert the PID in the .plist file to the correct one.

If a) is correct, then iTunes must be consistent with the PID on all iOS devices synced with the library, as I managed (using the iMazing tool) to copy all the histories off my iPad onto my iPhone and updated the index.plist to include both the iPad and iPhone histories and it works perfectly. If a) is true, then has algoriddm figured out how to translate between the iOS PID an the OSX PID?

It seems more logical that a) would be false, but if b) is true, then I fail to understand the logic of that. If b) is true, then can you reveal the method to convert to the actual PID so I can get these histories into iTunes or Excel for the clients and guests who want a list of songs played? Taking screen shots from the iPad just doesn’t cut it.

Here’s the snippet from the djay 2 .plist file:

Artist
James Blake
Duration
277.05900000000003
Name
Limit To Your Love
Persistent ID
785E6C4D0ECA9F5F

Here’s the snippet of the same track in the iTunes XML file (some elements removed):
45237

Track ID45237
NameLimit To Your Love
ArtistJames Blake
Total Time277059
Persistent ID E4D11FB64E3015A7
Track TypeFile

Note: I added bolding tags to the PID for both snippets for clarity.

Seems your HTML editor stripped out the XML tags, but you can see the references

Hi Warren,

Thanks for your informative response!

Wow. Apple really dropped the ball on that, then. I am shocked, but as an iOS developer myself not entirely surprised that they would leave all those apps that rely on PID on iOS hanging like that. I remember when my histories on djay would have tracks just disappear after a sync. I guess that’s why. It is incredible to me that they would not resolve such a nasty bug.

The most logical thing to me would be to use a CRC algorithm on the file that also takes into account the date added to arrive at a PID for each. Of course, with iTunes Match, this would not entirely work as the file itself could be replaced by the Match version which would resolve to a different CRC number.

Unfortunately, your suggestion won’t work 100% of the time as there are only 4 bits of information available in the .plist file for each track: name, artist, time and the apparently useless PID - which leaves 3. While time may be enough to distinguish most tracks with identical names and artists (this happens a lot with remixes, etc), I’d have to be pretty vigilant about making sure to remove all duplicates from iTunes to avoid adding the wrong duplicate to the playlist. Not the worst problem in the world, but not a 100% robust solution either.

What would be really fantastic is if you were able to sync histories across platforms so I didn’t have to go through all this stuff just to get
a) The histories on my djay 2 for iPhone to match my histories for djay 2 for iPad. In the last month alone I’ve been caught off-guard at a dance when I’ve suddenly been asked to DJ because the scheduled DJ is leaving early, etc, but only have my iPhone on me. With my histories automatically synced, it would have been pretty easy to have a base to start from that I know worked on a previous night.
b) Be able to, either directly or via djay for OSX, sync the histories back to iTunes as playlists. This would have two benefits - one major and one minor:

  • I could provide people with the playlist from nights I’ve DJ’d without having to type them up or take crude screen shots (major)
  • at home, I could call up the playlists on Apple TV via home sharing without having to use djay (minor)

In the meantime, if history syncing is not a priority for you, if you could at least add more track info to the .plist files to help identify the track that would be appreciated. A lot of the DJs in the West Coast Swing world are now using DJ as their main app - a lot of them after seeing me use it on my iPad. They use the OSX version, though, because of the export to iTunes capability even though the iOS version is VASTLY superior. I dislike the OSX version enough and really like the iOS version enough to keep using the iPad despite the (for me) huge flaw of not being able to export histories back to OSX (again either via djay OSX or direct to iTunes).

I’d be most grateful if you’d implement even a simplistic, bare-bones version of this for your next iOS release. All I care about is getting the track history back into iTunes as a playlist some how, some way.

Thanks

Greg

So in DJay 2, you can READ iTunes Playlists, but you can’t WRITE them in other words…? Please, guys, give us this feature. It’s killing me.

Good to know this is being looked at, it happened to me today, i had 2 sessions from a resent gig with some great mixes but cant remember what songs i used…

Good news, it appears this problem has also been fixed in the latest update, my history is back to normal.

Track list us back as well as some cool new features
Thanks for the fix