No, sorry, you've jumped to one conclusion too far:-)

I use iTunes to encode everything (with iTunes LAME) and all the music is stored on the linux server (NFS shared to the Mac/PC). My scripts parse the XML backup file and make the appropriate files for my server to hand out to the Rio Receivers (and also .M3Us to update the RioCar) via Apache and perl CGIs to read these files.

I check nightly if anything has changed and rebuild if required, but a cold reboot of a Rio will initiate a rebuild if any change is detected.

It's not perfect, I'd rather the rio server (the perl CGIs) could simply access the real iTunes data directly without any inbetween 'rebuilding' of additional data files, but that is much trickier (probably beyond my capabilities). However, it does work. So I use iTunes to maintain the music and all that music and any iTunes playlists are (nearly) immediately available to all the Rios.

The biggest problem at present is detecting any changes. It used to be easy since I only had to check for any change in the XML file size, but Apple now write 'usage' info every time you play anything which scotched that idea. I'm still looking for the definitive answer to that one.

Anyway, sorry to disappoint you.