To hell with it, maybe I should just get an iPod after all. The fourth-generation ones are out now, with the clicky-wheel from the mini-iPod, better battery life, and a lower price (I can live without the dock and case). It still doesn’t have the other features I’d like, but it’s better to have something at all than to chase a ‘perfect’ goal forever…
The problem then becomes one of management. I’d obviously need iTunes in order to load songs, manage playlists, and so on, but of the three systems I have, all of the songs are stored on the Linux file server, the one where iTunes isn’t available. There isn’t enough room to mirror the entire library on the iBook, and I don’t have FireWire or even USB2 on the Windows system (which I’d prefer to avoid and is also low on space).
Fortunately you can add songs to an iTunes library from a network share, so I can do all of the management from the iBook, but then that creates a couple more problems. First, it doesn’t seem to let me edit ID3 tags on songs in the library that are from a network share. Whether this is a limitation of iTunes or a permissions problem or what isn’t clear yet, so I still need to do some investigation there.
The second problem is that now I have a redundant data problem. Although I can’t fit my whole music library on the iBook, I *do* have a subset of my favourite tracks loaded on it so I can listen to them while roaming. Adding the songs from the network share makes the local ones show up twice in the library, and it’s not immediately obvious which one is the local one and which is the remote one (idea to Apple: smart playlists based on filename/path). What I really need is two separate libraries, one just for the networked songs and one for the local copies, but iTunes just has one big library per user.
There is a way around it though, if you cheat a bit. Since everything is stored in ~/Music/iTunes, all I had to do was take the existing directory, rename it to iTunes.local, restart iTunes and add the network songs to the now-empty library, quit iTunes, and rename the newly-recreated iTunes directory to iTunes.remote. Now all I have to do is make ~/Music/iTunes a symbolic link to whichever library I want to work on at the time before starting iTunes. (If I were really lazy I’d make wrapper scripts to do it automatically from the Dock or Finder.)
It’s a bit of a kludge, but should work well enough. Now where are all those pennies…