GNUpod

From Wikipedia, the free encyclopedia

GNUpod is a collection of Perl scripts that allows you to use your iPod with Linux and many other operating systems (eg, NetBSD, Solaris, and Mac OS X) with a working copy of Perl 5.6 or higher. The main advantage to using GNUpod is that, unlike other iPod-management utilities, it does not require X11 to run, and it can easily be scripted, allowing users to develop their own utilities for managing their iPod.

Contents

[edit] Compatibility with the iPod

The iPod uses a proprietary, binary format to store the database of music on it. The name of the file is called iTunesDB, fittingly because iTunes is the official software to manage an iPod, both on Macintosh or Windows.

Instead of directly manipulating the binary file, like iTunes and other programs do, GNUpod uses an XML document called GNUtunesDB. This makes it easy to edit your database directly and create playlists, it also eases on development of GNUpod, since tunes2pod.pl (converts iTunesDB into GNUtunesDB) and mktunes.pl (converts GNUtunesDB into iTunesDB) are the only two scripts that need to use the binary format.

[edit] Playlists

iTunesDB is not "smart" about sorting playlists. It has the name of the playlist, then the ID of each song in the order they go. Most iPod-manipulation programs make this transparent, by having sortable columns for playlists.

However, GNUpod has a special format in GNUtuneDB to manipulate playlists. For example, to create a playlist of songs at bitrate 128 Kbp/s

<playlist name="bogus">
 <add bitrate="128" />
</playlist>

However, if you use a non-GNUpod utility and later use tunes2pod.pl, the XML file's playlist entry will resemble that of iTunesDB, instead of your expressions that you used. For example:

<playlist name="bogus">
 <add id="23" />
 <add id="54" />
 ...
</playlist>

[edit] Syncing GNUtunesDB and iTunesDB

Because of the special format that GNUpod uses, it can be easy to 'ruin' the organisation on your iPod. A simple mistake of simply not using mktunes.pl to convert GNUtunesDB into iTunesDB should be fixed before using a non-GNUpod utility. Also, if you use a non-GNUpod utility, you must make certain that you use tunes2pod.pl before using GNUpod, or you might end up with songs in your Music directory, but not in either GNUpodDB or iTunesDB, you will need to run gnupod_check.pl to search for 'missing' songs.

[edit] External link

In other languages