Jaq and I share two computers, an iMac G4, and a Dell PC. I also bought a Linksys NSLU2 and a large USB Hard Drive, so that all of our music and videos can be stored on a server, and accessed from either computer (or the Xbox) without having to make sure the iMac was on. (That was the main computer, and the one we fight to get onto).
Of course, the NSLU2 helped remove clutter from the iMac’s hard drive, not to mention freeing up a heap of space.
Anyway, because we have a rather large music collection, it’s meaningless and wasteful to have copies of music stored in two places - I set up an SMB share on the NSLU2, wrote a small AppleScript to mount this on bootup, and pointed iTunes towards this location.
This has the feature of storing one copy of all of our music, in the one location. There are some drawbacks, however:
- If I import music, it doesn’t appear in Jaq’s library by default. Similarly, if she imports, I don’t see it. Every now and then you need to drag the Music folder onto iTunes, and wait for it to update the library. Both of us need to do this, incase both of us have imported music.
- If one of us edits a track’s artist, title or album, iTunes for the other user sometimes cannot find the track. If you then re-import you wind up with two copies of the track, one of them (the one with the rating, and playcount) is a ‘dead track’.
- Sometimes a re-import causes a track to appear twice in the library. Sometimes it creates a second copy of the file in the directory.
- There is a lot of music in our library that one or other of us doesn’t really like that much. For instance, I listen to a lot of Classical music, but don’t like Red Hot Chilli Peppers. Even if you remove a track from your library, it gets re-added when you do a re-import.
Of course, there are some great benefits, too:
- Each person gets to have their own rating and playcount for each track. Initially we had a shared iTunes library file (both of us had read/write access to it), which worked well when only one user could run iTunes at a time, but fails dismally when multi-user is taken into account.
- Our iTunes library only takes up half of the space.
- I can modify the tags belonging to a track, and it gets propogated to her library.
I’m fairly confident the benefits outweigh the costs, but I’m still keen to come up with a better solution. Here are some ideas I have had to resolve some of the issues.
iTunes stores a copy of it’s library in an XML file - it should be a trivial task to scan this and get some information that might be useful. For instance, compare the location field of each track to the directory structure, and work out if there are tracks that need to be added, or the path they have needs to be updated.
-
This requires a couple of things:
- A decent XML parser (in some cases just a simple grep will do the trick - for instance seeing if a filename exists in the XML file).
- An interface (AppleScript) to iTunes, to tell it to add/remove/re-locate files.
That sounds like a great idea. My sister and I share an iTunes library as well (between two macs though) and we have experienced every one of the problems you have described. I’d like to see whatever you can make of this idea as it would be greatly beneficial in my similar situation.
1 week, 5 days after the fact.
I’ve done a bit of stuff - see the posts a little newer than this one. I wasn’t able to get it to the stage where it was fully automated, but it gets pretty close - at least it gives you a list of songs that might be duplicated, or need to be ‘reconnected’.
I’ll write up a conclusive post later that has source code for all of the parts. I may even create a simple application that runs all of the scripts, and gives lists of files/tracks that need to be fixed, and recommended fixes.
The biggest hassle now is that I’ve done the fixes by hand, so I don’t need it.
1 week, 6 days after the fact.
Thanks for the link from TUAW!
I actually haven’t seen these downsides because there is only one iPod in my household. My wife has a regular Rio Forge 512 flash based player. This makes it really easy for us:
The files are stored on the server and my mac accesses them. I have my library shared so that she can open iTunes and listen to my music and she also has access through the windows explorer to the network share and she just pulls any song that she wants directly onto her mp3 player (making sure it is not an AAC file!).
This setup works quite well but i guess i could forsee some problems in the future if i were to buy her a shuffle or a mini… she says she’s happy with what she has now… but you know women: always telling you they’re happy when they’re not!
Thanks for the great info!
-Mark
2 weeks, 2 days after the fact.
The problem wouldn’t appear with multiple iPods, but multiple Computers, or Users with seperate accounts, accessing, and modifying the directory structure.
If you are only reading from the directory, and not modifying the filenames or locations, then any number of people can access it with no ill effects.
Occasionally, iTunes surprises me and is able to find tracks I thought it might not be able to.
2 weeks, 5 days after the fact.
if you feel like getting your hands dirty you can install an open linux on your nslu2 then run mt-daapd (a linux implementation of the iTunes (DAAP) server) on it. details on http://www.nslu2-linux.org/wiki/Unslung/Mt-daapd
while you’re there you should check out overclocking the nslu2 - http://www.nslu2-linux.org/wiki/HowTo/OverClockTheSlug - yes with 2 minutes and a pair of tweezers you can make the box run at the speed it’s makers intended.
1 month after the fact.
oh yeah here’s a better guide: http://www.tomsnetworking.com/Sections-article88.php
1 month after the fact.
I have installed mt-daapd, and then uninstalled (or deactivated it), as it took ages to start, and I didn’t really need it anyway. It just means you have to go through the network to view tracks, rather than having the library stored locally, and the tracks stored remotely.
1 month after the fact.
Oh, and I’m not quite game to overclock mine. Thanks for the link though, I hadn’t seen it (and I’ve looked at most of NSLU2-Linux).
1 month after the fact.