I just committed ipod-sharp to CVS, a library for manipulating iTunesDBs. It’s written entirely in C#. Currently you can use it to add/remove songs, and manipulate any existing playlists. There is also a cheesy little tool that lists the songs/playlists in a given iTunesDB.

I mostly wrote it to add iPod syncing to Muine. I have a patch which does this, but it needs a lot of work still. I haven’t yet totally worked out how the HAL integration will happen, for instance. For starters, I patched gnome-volume-manager to mount the appropriate partition when it sees an iPod and invoke ‘muine —ipod-sync ’. But that doesn’t cover unmounting. Also apparently you need to ‘eject’ the device for the iPod to put up the happy “ok to disconnect” screen.

You can get the code from the ‘ipod-sharp’ module in gnome CVS, or here. Hopefully I’ll get the Muine patch in a useable state soon.