libipoddevice
libipoddevice is a device-specific layer for the Apple iPod (http://www.apple.com/ipod). libipoddevice provides iPod-specific HAL event notification to applications, and along with objects representing an iPod, which gives the application access to properties and features of an iPod.
libipoddevice also provides a debugging program, ipod to view iPod device properties, listen for iPod HAL events, and safely eject iPods (iPods must be unmounted, then ejected).
In order for libipoddevice to detect an iPod, the iPod must be first mounted, and HAL must detect the mounted iPod volume. Best results come from a setup where gnome-volume-manager detects the presence of an iPod, and calls pmount-hal to mount the iPod. However, libipoddevice also has submount support, and should work with a submount/gnome-volume-manager setup as well.
libipoddevice does not provide any feature-specific iPod support, like reading/writing the iTunes Song Database (iTunesDB). This functionality is met by ipod-sharp, a Mono library that provides bindings to libipoddevice and feature-specific support.
Tarball Releases
Download a released tarball of libipoddevice.
- libipoddevice- (http://banshee-project.org/files/libipoddevice/) ()
- View All Releases (http://banshee-project.org/files/libipoddevice/)
Unstable/Unreleased SVN Sources
libipoddevice is available in GNOME SVN (http://svn.gnome.org/) in module libipoddevice. The following command can be used to checkout the latest sources:
$ svn co http://svn.gnome.org/svn/libipoddevice/trunk libipoddevice
Building libipoddevice
libipoddevice requires HAL 0.5.2 or later, which requires a fairly new D-Bus, hotplug, and udev. Any system running GNOME 2.11/2.12 should meet these requirements however (SuSE 10, Ubuntu Breezy, Foresight Linux, Fedora Core 4, Gentoo Linux 2006.0). Also required are development packages for glib/gobject.
After obtaining sources from a tarball or SVN, extract/change into the root libipoddevice source directory, and, if from SVN:
$ ./autogen.sh --prefix=/usr
OR, if from tarball:
$ ./configure --prefix=/usr
Then,
$ make && sudo make install
configure should automatically detect if you have pmount enabled. However, you can specify custom unmount/eject commands by passing --with-unmount-command="/path/to/unmount %d and --with-eject-command="/path/to/eject %d. Also, %d can be used for a device node, %m for a mount point, and %h for a HAL Volume ID.
If you are using submount, you can pass --enable-submount to configure if it is not automatically detected.





