UPDATE - 02/21/2007

foo_pod is officially on my "Not Recommend" list. Since it has not been kept up-to-date, nor has the developer released the source code so anyone else could keep it up to date, it has slowly become incompatible with the very products it was designed to manage in the first place.

This doesn't mean you should stop using it. There's no problem if you are not sharing your iPod with anyone else. There's also no problem if you are not connecting anyone else's iPod to your computer. There's no problem as long as you don't have any friends. But once you introduce another iPod or another computer into the equation, things start to break (and you might lose those friends). Considering the popularity of iPods these days, you are very likely to find yourself in a situation where you have multiple iPods to manage. Unfortunately, there's no one around to fix foo_pod. I can't fix it. The developer refuses to fix it. And if it's going to cause problems, well.. remember the old joke:

"Hey doc, it hurts when I do this!"
then your doctor says, "So stop doing that."

Do I have any other recommendations? Yes!
iPod Manager - use, love it!

 

Foobar2000: Unofficial foo_pod Users Guide

updated 04-17-2006

foo_pod is a plugin for Foobar2000 that allows you to transfer music to an iPod without the use of iTunes. In addition to most iTunes features, it supports transcoding (re-encoding files from formats the iPod cannot play to those it can), allows for alternate metadata (a non-destructive method for transposing tags on-the-fly), converts ReplayGain data to SoundCheck data, and allows basic iTunesDB database maintenance.

Sections

I am not the creator of foo_pod, I am only the creator of this site.(If I had created foo_pod, I would create a Foobar 0.9 version ASAP, but that's just me.)  foo_pod itself is maintained by the following members of the HA forums: Aero (foo_pod programming) and Otto42 (additional resources). For an up-to-date discussion, please read the Hydrogenaudio thread. -- Start from the end. The thread is quite lengthy, and the beginning is out of date.

This document is based on version 0.9.9n.

Everywhere you see "<need information>", these are sections I am not familiar with and therefore need more information. Please let me know if anything else is missing or in error.

 

Installation

foo_pod requires Foobar v0.8 (latest: v0.8.3). It does not work with Foobar v0.9.

I am hosting the old version since it seems to have been pulled from the official site (pick one):

To install foo_pod

Configure iTunes so it does not load when you connect your iPod. (not required, but highly recommended)

 

How-to Guide

Connecting your iPod

As long as Windows detects that it is plugged in properly, foo_pod should see it fine.

Transferring songs and playlists

To transfer tracks

To transfer a playlist

To transfer an Audiobook

Managing playlists on your iPod

Deleting songs and playlists from your iPod

To delete a song

To delete a playlist

Ejecting your iPod

Advanced
(incomplete list)

Organize music on your iPod however you want

Sort albums by year on your iPod

 

Context-Menu Options

Right-click files or playlists to use these options.

For songs and playlists not on your iPod

Send file(s) to iPod
Copies files to your iPod

Duplicate songs are automatically ignored. What this means is you can have Song A in Foobar Playlists 1 and 2, and if you send both playlists to the iPod, Song A will be copied once, but still appear in both playlists on the iPod.

Select to Ignore Playlist
Ignores the the songs in the current database. Allows you to specify an unlimited number of playlists which foo_pod will not use when syncing or sending playlist. This is useful for keeping playlists of songs that you do not want on your iPod. This list of Playlists is saved between Foobar sessions, so the playlist will remained ignored until you un-ignore it.

Send To iPod as Audiobook
Audiobooks are treated differently on the iPod in a number of respects - they have automatic bookmarking, which allows you to return to a specific point in a song. Also, on newer iPods (4G+), there is a menu item that displays audiobooks, and they can be played faster or slower than normal speed. This feature requires that an AAC encoder is available - the default configuration uses FAAC.exe, located in the Foobar2000 folder, but the settings can be changed in the Preferences/Transcoder tab.

For songs on your iPod
After your iPod is connected, select the iPod playlist -- default name: "iPod (foo_pod)"

Save iPod Files To Disk
Allows you to copy songs from the iPod to your hard drive in a structured fashion, based on a user-configurable TAGZ format string.

To use this feature, select one or more files from the iPod playlist, right click and select "Save iPod files to disk". Then select the starting folder for the files to be copied. The formatting can be modified in Preferences / Main.

(Personally, I prefer the masstagger, but you have to remember to "copy files". If you accidentally move a file instead of transferring, the iTunesDB database will not get updated and will become inaccurate.)

Delete Selected File(s)
Manually remove files from the iPod without having to do a sync.

 

Menu

When foo_pod is installed, you will get a "foo_pod" submenu under the Foobar2000 Components menu. You may rearrange the menu however you like. This is the default arrangement:

Load iPod Songs to Foobar2000 Playlist
Creates a new Foobar2000 playlist and populates it with all of the files on the iPod.

See Preferences / Main for options:

Load iPod Playlists As Tabs
Creates a new Foobar playlist for each playlist on the iPod. These playlists are noted by the suffix " [iPod]" at the end of the playlist name.

Load iPod Smart Playlists As Tabs
Will read any smart playlists on the iPod and display the iPod songs that match the rules (i.e. the songs that are displayed on the iPod).

Close iPod Playlist Tabs
Closes all iPod playlists in Foobar. The iPod playlists can be edited (songs added, removed, reordered) like any Foobar playlist, and when you are done, right click on a song in the playlist and select the "Update Playlist On iPod" option. This will copy files (if necessary) to the iPod and create the specified playlist.

Send Current Playlist to iPod
Sends songs in current playlist to your iPod. Does not create the playlist.

Duplicate songs are automatically ignored. What this means is you can have Song A in Foobar Playlists 1 and 2, and if you send both playlists to the iPod, Song A will be copied once, but still appear in both playlists on the iPod.

Send All Playlists to iPod
<need information>

Sends songs in all playlists to your iPod.

Duplicate songs are automatically ignored. What this means is you can have Song A in Foobar Playlists 1 and 2, and if you send both playlists to the iPod, Song A will be copied once, but still appear in both playlists on the iPod.

Sync Current Playlist
(disabled by default - still testing)

This will copy files to the iPod, and delete files from the iPod to make it look like the list of files you want to sync. If you sync one file, it will delete all songs from the iPod, and leave that one file.

Does not transcode files.

(enable with Preferences / Main / "Enable Sync")

Sync All Playlists
(disabled by default - still testing)

This will copy files to the iPod, and delete files from the iPod to make it look like the list of files you want to sync. If you sync one file, it will delete all songs from the iPod, and leave that one file.

Does not transcode files.

(enable with Preferences / Main / "Enable Sync")

OttoFill
Mimics the "Auto Fill" function in iTunes, except this works on all iPods, not just iPod Shuffles. It will not automatically start on hard drive based iPods, and will warn you if you attempt to delete all songs.

There are 3 sources that OttoFill can source files from:

NOTE: Currently, the slider for selecting how much space to use for music is disabled at 100%. Future versions will enable this setting.

(named after hydrogenaudio forum member Otto42, who wrote the original iPod transfer code from which foo_pod is based)

Cull 1 Star Songs From iPod
Removes all songs from the iPod that are rated with one star.

Delete All iPod Music And Playlists
Removes all songs and all playlists from your iPod. Use with caution.

Preferences
Where you change how foo_pod works. (Detailed coverage below)

Select iPod to Use
Opens a small window and lets you switch between two or more iPods connected at the same time.

Import iTunesDB Database as XML
Overwrites the current iTunesDB file with an XML file, preferably a backup created with the 'Export' function (below).

Export iTunesDB Database as XML
Saves a copy of the current iTunesDB file as an XML file. This allows easy human access to the database.

To edit, I recommend studying the iTunesDB wiki.

Rebuild iTunesDB Database on iPod
Scans for iPod-playable music anywhere on the iPod (not just in the Music folders) and re-creates a database of those files without moving them. This allows you to store your songs in human-readable folders, rather than in F00 - F99.

Note: The iPod cannot read files with a total path and filename of greater than 127 characters, so foo_pod truncates long filenames during transfer to alleviate this. Tracks with file paths longer than 127 characters may not play after being manually copied.

It deletes existing playlists, and dynamic data: rating, playcounts, and last played time. It preserves Smart Playlists.

Update iTunesDB Database on iPod
Updates information about songs that are already in the iPod database. Use this function if you alter tags or ReplayGain data on files on the iPod.

Fix Skipped Songs on the iPod
Addresses an issue on the iPod Photo/Color where certain songs with long filenames are consistently skipped. This is not necessary on other iPods.

Backup the iPod Database
Saves a copy of the current iTunesDB file.

Restore the iPod Database
Overwrites the current iTunesDB file, preferably a backup created with the 'Backup' function above.

Add iPod Browse Menu Speedup
(experimental)

Addresses a potentially serious bug when using both foo_pod and iTunes to add songs to the same iPod. Symptoms of this problem are weird items (missing or out of order entries) in the Artist/Album/Genre browse menus on the iPod.

This is temporary. Adding/removing songs to/from the iPod will disable this. To have this permanently in effect, open the Preferences menu, select the Advanced tab, and use the option "Speed up iPod Browse Menu".

A side-effect is that the iPod browse menus will now list in strict alphabetic order. (For example, "The Beatles" will appear after 'T' instead of after 'B'.)

Remove iPod Browse Menu Speedup
(experimental)

Disables the 'browse menu speedup' function. (above)

iPod Free Disk Space
Reports how much space is remaining on your iPod.

Mount iPod
Forces the iPod to mount. Useful when you have ejected your iPod but kept it plugged into your computer. Is also useful for troubleshooting.

Eject iPod
Safely disconnects your iPod from Windows.

Playlist Editor
Manage playlists and Smart Playlists

No changes take place on the iPod until you press Apply.
 

Preferences

The most important of those items is "Preferences". It has four tabs.

Preferences / Main

foo_pod Playlist Name
The Foobar playlist can have a custom name, But if it is empty, foo_pod uses the device name. It will first try to find the device name via iPodService. If that is not available, it will use the Windows drive name for the playlist.

Automatically Update
Update the "iPod (foo_pod)" playlist after any send/sync/delete.

foo_pod Playlist Sort Format
Sorts the iPod playlist displayed in Foobar.

Default: %ARTIST% - %ALBUM% - $num(%TRACKNUMBER%,3) - %TITLE%

Enable/Disable using the "Sort" checkbox.

Force iPod Drive Letter
<need information>

(My interpretation: This selects the device at a given drive letter. This may be useful for managing an iPod that foo_pod does not detect any other way. Side-effect: when set to "C:", it may treat your hard drive as an iPod -- "iPod Free Disk Space" is one of the few functions that work in that situation.)

Default is blank.

Eject iPod at Exit
This will safely eject the iPod when Foobar2000 exits.

Enable Sync Functions
(disabled by default - still testing)

This will copy files to the iPod, and delete files from the iPod to make it look like the list of files you want to sync. If you sync one file, it will delete all songs from the iPod, and leave that one file.

Automatically skips syncing files with either "IPOD" or "COPY_TO_PORTABLE" metadata set to "NO", "FALSE", or "0" (zero). IPOD, COPY_TO_PORTABLE, NO, and FALSE are all case insensitive.

Does not transcode files.

Minimize Foobar During Transfers
Minimizes Foobar during copy and sync functions.

"Save iPod Files to Disk" Format
Allows you to copy songs from the iPod to your hard drive in a structured fashion, based on a user-configurable TAGZ format string.

For example, the default string is

Send/Sync Playlist Settings
<need information>

Create iPod Playlists
<need information>

Create Randomize Playlists
<need information>

Custom Format
<need information>

Replay Gain / Sound Check Conversion
Translation between ReplayGain values and the values used by the SoundCheck feature on the iPod. There are 3 new preferences dealing with ReplayGain - disable, Prefer Album Gain, and Prefer Track Gain. Prefer Album Gain will cause foo_pod to search for album gain on any transferred files and use that value, otherwise it will attempt to use track gain.

3G iPod Line Out Mode
Since third-generation iPods do not have SoundCheck available via the Line Out port (it only works via the headphone jack), this feature applies the ReplayGain corrections using a different method. Unlike SoundCheck, this can not be turned off on the iPod.

iPod Preamp Volume Adjustment
Raises the volume of all songs by the percentage shown by the slider. It allows different settings for tracks whether or not they have SoundCheck data. (For example, this can be used to reduce the volume for files without SoundCheck data.)

This is equivalent to the 'volume' feature in iTunes.

Preferences / Transcoder

Transcoding allows audio file formats that the iPod can't play (anything except for MP3, AAC, WAV, and AIFF) to be converted to MP3 format and copied to the iPod. To use the transcoding feature, you must have the foo_podclienc and foo_podtranscoder components installed, and a recent (version 3.96 is preferred) version of lame.exe in the Foobar2000 folder.

Files are transcoded to a local temporary folder then moved to the iPod.

The Foobar Advanced Limiter will be applied to transcoded songs, to prevent clipping. (Note: due to a bug in Foobar2000, this feature only works on Foobar2000 0.8.3 and higher.)

When transcoding, foo_pod writes out the following metadata to the transcoded files:

Transcoder Process Priority
Allows the transcoder to use more/less CPU time.

Preferences / iPod Service

Don't Use iPodService
(disabled by default)

This is only useful in rare cases, and should normally not be set.

iPod Device Name / iPod Owner's Name
Self explanatory. strings that you can set if you wish

Enable Disk Mode
Highly recommended. The equivalent of iTunes' Enable Disk Mode. (When I disable this, it ejects my iPod. I'm not sure why this is an option.)

Stop iPodService On Exit
<need information>

Preferences / Advanced

Metadata Prefix
Allows the use of a second set of metadata items for the iPod while not disturbing the regular metadata. Default = "POD_"

Global Alternate Metadata
Allows the use of Foobar TAGZ strings to configure how songs are displayed on the iPod, in a global fashion. This does NOT alter the tags of your files in any way. The Metadata Prefix option (above) supersedes this option.

    Defaults:

NOTE: Debug your strings before using them. A simple typo can cause you to misplace a lot of music on your iPod.

(see Alternate Metadata for example strings)

Flag Compilation Albums
Enables the iPod's "compilation bit" for files with certain criteria.

Default: $if(%album artist%,1,0)

Console Debug Mode
Controls what type of information is sent to the Foobar console.

"All Debug Messages" can be very verbose, so it should probably only be used if you suspect a problem with foo_pod and need to report debug information.

Default: "Errors and Warnings"

Speed Up iPod Browse Menus (experimental)
Addresses a potentially serious bug when using both foo_pod and iTunes to add songs to the same iPod. Symptoms of this problem are weird items (missing or out of order entries) in the Artist/Album/Genre browse menus on the iPod.

A side-effect is that the iPod browse menus will now list in strict alphabetic order. (For example, "The Beatles" will appear after 'T' instead of after 'B'.)

This is the 'more permanent' version of the "iPod Browse Menu Speedup" option (above) -- it is not disabled when uploading/downloading songs to/from the iPod.

Use non-modal progress dialogs (may cause crashes)
Allows you to continue using Foobar while the progress dialog boxes are in operation. (the little windows that pop up during transfer and delete)

Even though this option used to cause crashes in earlier versions, it was reinstated by popular demand. Use with caution.

iTunesDB Format
Support for the iTunes 4.9 format has been removed due to problems. The only option is "iTunes 4.7/4.8 Compatible". This should not be an issue even if you are using a much higher version of iTunes.

ReplayGain Adjustment
Changes the ReplayGain target level.

ReplayGain defaults to a target of 83dB which some people find too quiet. If you prefer a level of 89dB for example, adjust the slider to +6dB.

 

Preferences / Podcast

Documentation is included on the tab itself, but these functions require at least a third-generation iPod with the 2005-06-26 update. In order to enable a function, the TAGZ string must return a "1" for those tracks.

Podcast
(disabled by default)

These tracks will appear in a Podcast menu on the iPod.

Bookmarkable

These tracks will support bookmarks. This allows the position in a track to be saved, and when you return to that track, it will continue from its last played position. This is usually for audiobooks, but you may use it for anything.

Shuffle Skip

These tracks will not be played when the iPod is in shuffle mode. This is usually for filtering out podcasts and audiobooks, but you may use it for anything.

 

Other Features

These are features of foo_pod that have no settings in the interface but are generally good to know.

Files:

foo_pod truncates long filenames. This is the only editing it does to your files.

It does not yet support album art, Ratings, Playcount, and Last_Played attributes.

Podcast support is in development. Use with caution.

Hardware:

It treats the iPod Shuffle just like any other iPod, with a few iPod Shuffle specific features, including writing two text files, "Track_Order.txt" and "Shuffle_Order.txt" to the root folder of the Shuffle. These allow the iPod Shuffle user to determine in which order songs will be played, in either normal or shuffle modes.

For better performance with a large number of files, it uses more folders to store music on the iPod.

It automatically creates all necessary folders, so that a completely blank iPod might be used without being initialized by iTunes or the iPod Updater. (<need information> ..I have never tried this. What about the firmware installation?)

Metadata: <need information>

Supports "COPY_TO_PORTABLE" as a technical info metadata item (i.e. accessible in TAGZ as %__COPY_TO_PORTABLE%).

The metadata entries for discs and sets of discs are "DISCNUMBER" and "DISCCOUNT", respectively. For example, to indicate that a song if from Disc #2 of a 6 disc set, you would set DISCNUMBER to 2, and DISCCOUNT to 6. These values are stored in the iTunesDB database.

Alternate Metadata Example Strings

This list of metadata strings is designed to transfer the naming schemes used in my Masstagger article.

Title
$if2(%title%,%_filename%)

Use the title. But if for some weird reason the song doesn't even have a title tag, it's probably not tagged at all. So, we'll have to resort to the filename.

Artist
$if(%album artist%,$if($stricmp(VA,%album artist%),%album%,%album artist%),%artist%)

If this is a compilation disc use the album artist. If there's no real album artist (it's "VA"), use the album name instead.

Album
[[$right(%date%,2)-]%album%]

This allows the iPod to sort albums by year. If the album has a date, prefix the name with the last two digits of the year.

Genre
[%genre%]

Use it if it exists

Composer
$if(%album artist%,%artist%,)

Use the track artist for compilation discs.

Comment
<leave empty>

As far as I can tell, iPods don't use the comment field.

Tracknumber
[%tracknumber%]

Use it if it exists

Disable "Flag Compilation Albums" because the Alternate Metadata strings are doing all the work.

 

Downloadable Manual

Here are two PDF versions of this document (now includes a Table of Contents and Index). It has been resized to 4.75" square, the size of a CD booklet. Some formatting has been changed to make it more readable in print.

Linear version (343K PDF)

The pages are in numerical order. Recommended for online viewing.

 

Booklet version (263K PDF)

Formatted as a dual-sided cropped 2-up saddle-stitch booklet on 8.5x11 paper. Recommended for printing.

(Do NOT take it to Kinko's. For printing, cutting, and binding, they will charge you $26 for a single book! That is, if they do it right in the first place. Shop around.)

 

Questions, comments about this document : contact me
Questions, comments about foo_pod : post in the Hydrogenaudio thread