I've 14 years of iTunes files that have happily migrated across 5 Macs. I'm rather tied to my play counts, etc. This has always been located in the directory /Sounds and is now some 320Gb. I've never bought a single MP3/whatever from Apple; all of this is my own ripped music. Never particularly liked iTunes, but it worked OK, although was/is still getting worse with each release as Apple pushes their streaming service, which like all streamers, is rent don't buy, is poorly curated and doesn't have all the music I have.
Then along comes the new 16" MacBook Pro which forces Catalina with it's new "can't use the /root directory" rules. The migration tool failed to work.
It's a simple requirement; copy /Sounds on old Mac to /somewhere/Sounds on new mac (don't want it in 'my' Home directory). Alas it's failed every time due to the "binary" nature of the iTunes database file which can't be simply edited to relocate the files.
Have tried many techniques to move this massive directory from the old Mac to the new. I've managed to get the database to import to the new Mac, containing all the metadata (play count, etc.). Unfortunately the file locations (for 22,000 songs) are all incorrect: clicking on one results in the dialog "the original file can't be found, would you like to locate it", click Locate then navigate to the new location results in that SINGLE file being located, but it won't find any more, not even in that album. It's really not acceptable to do that for the other 21,999 songs.
I can import the entire library, but this looses the entire play count -- the point of the exercise -- so is unacceptable.
Migration Process
The following migration works when migrating from old Mac running Mojave to new Mac running Catalina when the import fails. Assumes original location of music files is in /Sounds.
Summary:
- Copy
/Sounds
directory from old Mac to /Users/Sounds
on new Mac
- (Takes a while to copy the 300Gb of files over the network!)
- Copy
~/Music/iTunes/iTunes Library.itl
from old Mac to same location in new Mac
- (probably best to rename the existing iTunes Library.itl file)
- Create
/Sounds
symbolic link in root directory (see man synthetic.conf
)
echo -e 'Sounds\tUsers/Sounds' | sudo tee -a /etc/synthetic.conf
- Reboot; check that
/Sounds
files are mounted (e.g. ls /Sounds
)
- Start iTunes and all files and metadata (play count) are back
Edit 1:
Incredibly irritatingly the Music application which has been working well today as I spent lots of time organising my library and adding in more music, has
failed to save the library. So has completely failed following a reboot.
Investigating the root cause.
Also investigating alternatives to the useless Music application.
Edit 2:
No idea why Music failed to save the database. So had to recreate it again. Useful practice I suppose...
Catalina stashes the library metadata into a file called
Music Library.musiclibrary
which lives in the directory Music prompts you to create when you <opt><click> on Music to open it. This time around it created the file and it's some 210mb in size. The actual music files are in a different location; only the metadata's stored in that file.
Now check that this file's been modified recently.
It's irksome how "just good enough" the iTunes applications are. iTunes is certainly not a great application, but I've always struggled to find anything that's better, whether free or paid for.