When Apple renamed iTunes to "Music" they changed it so that it no longer automatically updates an XML file of library metadata, because fuck you, that's why.
That file was the fastest and most convenient way to get info about your music, e.g. by using the Mac::
So I tried writing a command line program that talks to a running iTunes via the ObjC AppleScript RPC crud (SBApplication iTunesApplication and such) that would iterate everything and generate a (hopefully) identical XML file to the one that Apple's no longer generating. I thought that maybe doing this nightly would be good enough for my needs, and would allow the things that parse that XML to continue to work. But it is mind-bogglingly slow. Like, I think it will take 3+ hours to write this file. Which is maybe not terrible for an overnight task, but does make debugging it a lot harder. I'm about 1/4th of the way done writing this thing and I'm already sick of it.
Has anyone else come up with a better solution yet?
Remember, APIs only ever get less useful over time!
Update: I wrote a thing to do this. It was very complicated, and is included in the jwzlyrics Xcode project.