The iPod as Filesystem!
Jun. 13th, 2006 09:57 amOne of my complaints about the iPod is that, unlike the Rockbox and related technologies, the iPod is completely dependent upon the iTunes database for navigation. It was impossible to just dump files into the iPod and get them to work the way you want.
Was. The absolutely coolest project came across my virtual desk this morning: FusePod. Linux has long had the capability to support FUSE, the Filesystem In Userspace project, which can take anything that can rationally be described as a heirarchy (and the iTunes.db does that) and lays it out as a filesystem, so that all the traditional and well-evolved filesystem tools can be used on it.
It works wonderfully. You mount the iPod as a filesytem normally, and looking into that path you see the usual iTunes.db-mangled layout. You then run fusepod, giving it both that path and a new mountpoint as arguments, and when you look at that new mountpoint you see the iTunes.db as the filesystem, like so:
Using it is still a little twonky. You have to write the file paths into the symbolic link thing "add_songs," which is kinda like a directory and kinda not. It's a write-only path; when you check files into it, they appear in the other parts of the filesystem where they belong, under "Album", "Artists", and so on. Unfortunately, as of version 0.4, this doesn't happen automatically; you have to call a program to sync this wishlist with the on-pod iTunes.db before you unmount, but this is most definitely the correct step in the correct direction.
[Edit] Even better: There's now an unofficial gentoo ebuild for it! I installed it by hand, but this is just as good.
Was. The absolutely coolest project came across my virtual desk this morning: FusePod. Linux has long had the capability to support FUSE, the Filesystem In Userspace project, which can take anything that can rationally be described as a heirarchy (and the iTunes.db does that) and lays it out as a filesystem, so that all the traditional and well-evolved filesystem tools can be used on it.
It works wonderfully. You mount the iPod as a filesytem normally, and looking into that path you see the usual iTunes.db-mangled layout. You then run fusepod, giving it both that path and a new mountpoint as arguments, and when you look at that new mountpoint you see the iTunes.db as the filesystem, like so:
# ls /mnt/music/That's so cool I could just squee.
Albums/ Artists/ Playlists/ add_songs sync_ipod.sh*
All/ Genre/ add_files.sh* statistics
Using it is still a little twonky. You have to write the file paths into the symbolic link thing "add_songs," which is kinda like a directory and kinda not. It's a write-only path; when you check files into it, they appear in the other parts of the filesystem where they belong, under "Album", "Artists", and so on. Unfortunately, as of version 0.4, this doesn't happen automatically; you have to call a program to sync this wishlist with the on-pod iTunes.db before you unmount, but this is most definitely the correct step in the correct direction.
[Edit] Even better: There's now an unofficial gentoo ebuild for it! I installed it by hand, but this is just as good.
no subject
Date: 2006-06-14 01:43 am (UTC)no subject
Date: 2006-06-14 04:33 am (UTC)no subject
Date: 2006-06-14 07:28 am (UTC)Oh yes, and so could I.
In fact, that's almost as cool as some of the wacky shit I've done with ssh. ;)
no subject
Date: 2006-06-14 05:01 pm (UTC)