Monday, October 21, 2019

iTunes XML and Music in Catalina

Dani Deahl:

According to Apple, the new Music app, which replaces iTunes, removes support for automatically syncing playlists with third-party apps using XML. XML file support is a popular organizational feature for DJs who use it to sort tracks into playlists and utilize the “Share iTunes Library XML with other applications” option to seamlessly transmit data between apps.


Tons of popular DJ apps, like Rekordbox and Traktor, read XML files and relied on iTunes’ syncing feature.


A statement from Apple initially said XML would not be supported within the app. This story has also been updated to clarify that Music supports a new method for automatically syncing playlists that third-party apps can be updated to support.

Nick Heer:

I’d love to hear a good explanation of why XML music libraries are no longer supported in Catalina. This seems to be arbitrary.

Not even a preference or a way to script it.

Ewan Spence:

Since iTunes 11 Apple has offered an SDK to access the iTunes library without going through the iTunes XML file, and this sandboxed approach continues to work on Catalina. Yes there should be a cut-off point, but that should be communicated well in advance and any mitigating action is promised should be delivered.

Kirk McElhearn:

DJs don’t use iTunes to play music, but they do use its powerful organizational tools to manage and find music, which is then played by specific apps for DJing. Those apps accessed the XML file simply to find the locations of files and play them; with the ability to dump an XML file, nothing much should change, other than the need to do this manually.


The big problem here is that developers, aware of this change since the initial beta release of macOS Catalina, have not done the necessary work to update their software. Apple provides an iTunesLibrary framework, available since iTunes 11, which allows developers to directly access the .itl file used to store information about the Music app’s library. Some developers of DJ apps have already made the transition. It’s not that hard to learn how to use this instead of using the XML file.

Jamie Zawinski (tweet):

As someone who has used the various iTunes APIs extensively, I can make this authoritative statement:

Hahahahahahahahaha, no.

The XML files are the only way to make anything work.

Also note that the article appears to say that one of the features they removed was the ability to export and import playlists as XML files. The fact that there is an API that lets you interrogate the contents of the iTunes library does not change the fact that people out there have a lot of those XML files that they use on a daily basis, since that’s the interchange format between iTunes and various DJ software.

Also, ITLibrary is a read-only interface. So tell me how I use that write ObjC code to take my old XML files and then tell iTunes, “make a playlist from these tracks”?

Kirk McElhearn:

In the macOS Catalina Music app, you can no longer have this file created automatically, but you can create it manually.


To do this, choose File > Library > Export Library, name the file, and save it.

Peter N Lewis:

They changed iTunes bundle ID when they renamed it to Music. That seems unnecessary and annoying.

The bundle identifier for Contacts is still

Matthias Gansrigler:

I love those optimized apps!

Peter Steinberger:

With the new iTunes-is-now-shoved-into-Finder there’s now no more progress indicator for a manual backup? Button is gray and you gotta wait. (Not that the progress was very accurate, but still).

Damien Petrilli:

The split of iTunes had one (overlooked) effect: the media keys / touch bar / AirPods play button only controls the music App and not the TV App if you are watching videos.

Damien Petrilli:

Another perk of killing iTunes I guess. Playing local videos used to be energy efficient, not anymore.

It’s even worst than Safari and Xcode cumulated.

Damien Petrilli:

After iOS, macOS Music App:

1. You barely see the difference between the active and disabled gray
2. The active gray is lighter than disabled gray.


I can’t right click on songs to get things like the metadata or file location, it sometimes refuses to close, the UI glitches (the pause button doesn’t change to play when paused) and the three dots menu doesn’t work for any of the songs or albums

Kirk McElhearn:

What Do You Think of the New macOS Media Apps that Replace iTunes?

Currently, 29% like them, 57% miss iTunes, and the rest don’t have a preference.

Ed Starkie:

After the Catalina update, all of my music in iTunes was gone except for 7 or 8 items from the iTunes store. Otherwise ~32 GB of music gone.

Grady Booch:

I truly loathe/abhor/execrate/abominate/curse/ahathematize and generally do not like the new @Apple Music app that comes with Catalina.

(It broke much of my album art, it is buggy with regard to sorting, and it is less customizable with regard to presentation.)


Update (2019-10-25): Doug Adams:

  1. ITLibrary does not know about Work and Movement tags.
  2. ITLibrary does not know the difference between playlists in the Music app and playlists in the TV app. You can ask for discrete music tracks or TV tracks or movie tracks, but not discrete playlists from either app.
  3. ITLibrary does not know what a subscription playlist is. It’s an Apple Music playlist you have added to your library. ITLibrary sees it as a Regular playlist.
  4. Ditto Loved and Disliked for tracks
  5. Ditto Loved and Disliked for playlists
  6. ITLibrary does not distinguish among types of cloud tracks (uploaded, matched, duplicate, etc)
  7. ITLibrary does not provide a Track ID which is used to correlate the tracks in a playlist to their library entries and vice versa.

And I’m sure I’ve run into other minor impediments. Wait, bonus gripe: converting decimal persistent IDs to hexidecimal.

Update (2019-11-02): Adam Bell:


Update (2019-11-06): See also: Casey Liss.

1 Comment RSS · Twitter

Using iTunes with Apple Music and a local library was always kinda awkward so I decided to split it into my local one (With the amazing Swinsian app, which is really a proper iTunes replacement if you don't need local music synced to your iPhone) and just as a streaming client for Apple Music. I'm really happy with my new setup and I wrote a small post here:

Leave a Comment