This project is read-only.


Unzip the package under any directory you want. As this program does not write anything to the registry, this package does not need any fancy installation wizard.


Before executing this program, you may need to edit a few files.


You need to define your own libraries. A library defines all information about synchronization. One library is mapped to one foobar2000 playlist, and a device is synchronized with a library.

One XML file in Libraries directory defines a library. Any XML file in that directory should conform to Library.xsd. As there are a few sample libraries, you can start with one of them if you are not familiar with XSD. The following is an example.

<?xml version="1.0" encoding="utf-8" ?>
  Name="Palm Pre"
  xsi:schemaLocation=" Library.xsd"
  <PlaylistName>Palm Pre</PlaylistName>
  <DeviceName>Palm Pre</DeviceName>

Only subsequent lines will be explained. Name at the third line defines the name of this library. As this program uses this name to identify this library, the Name should be unique. The rest of files can be interpreted as follows:
  • PlaylistName: All songs in foobar2000’s playlist named “Palm Pre” will be synchronized.
  • PlaylistRootPath: All songs in “Palm Pre” playlist are in “d:\Music” or its subdirectories.
  • DeviceName: “Palm Pre” device is the target device to synchronize.
  • DeviceRootPath: Assuming that “Palm Pre” is mounted on “f:”, all files will be copied to a directory named “f:\Music” or its subdirectories.

If there is an audio file in the computer named “d:\Music\ABC\DEF\GHI.mp3”, this file will be copied to “f:\Music\ABC\DEF\GHI.mp3”, unless special directory structure handling is defined.

The device “Palm Pre” is defined in an XML file in Devices directory. Currently, the package defines the following names:
Although some device definitions are provided, you may need to add additional device by creating an XML file in Devices directory. For more information, refer to Devices.

More Configurations for Advanced Users

This section is for advanced users. If you don't need to add your own device, you may want to skip the rest of this page.


Open config file using any text editor.

TempDirectory is where temporarily used files are created. This program will create and remove files during conversion.

flacwav and oggwav specify how to execute decoders. This program will replace %input% and %output% with audio files, and then execute the command. The default values are valid as this package contains both codecs/flac.exe and codex/oggdec.exe.

Similarly, pcmmp3 and wavmp3 specify how to execute MP3 encoders. The default values are also valid.
If you want to use different encoders and/or decoders, you can change those variables.


All files under Devices are about devices. All XML files are read by this program, and they should conform to Device.xsd. The following is a sample file:

<?xml version="1.0" encoding="utf-8" ?>
  Name="Palm Pre"
  xsi:schemaLocation=" Device.xsd"

The name of device this file defines is Palm Pre as Name attribute specifies.

Encoder defines what types of audio files this device can recognize. In this sample file, only MP3 is allowed. If a device is capable of handling OGG and FLAC, these types can be also added. If the source format is OGG and the device is incapable of handling OGG, this audio file will be converted to an MP3 file during synchronization. For more information, see Transcoding.

Text is about Romanization. If the value is LATIN, romanization is performed; Hangul in file names and texts in artist, album name and song name will be romanized. If the value is NONE, this program does not alter anything. For more information, see Hangul.

Artwork is about cover arts. If the value is EMBED, cover arts will be embedded in audio files. If the value is NONE, this program does not do anything regarding cover arts. See Artwork for more information.

Structure defines how to create directories in the device. If the value is NONE, the original directory structure will be kept. If the value is ONELEVEL, the depth of directories will be at most one. Currently, only the inner-most directory will be kept, and other levels will be ignored. If the source file name is “d:\Music\ABC\DEF\GHI.mp3”, PlaylistRootPath of a library is “d:\Music” and DeviceRootPath of a library is “f:\Music”, for example, this file will be copied to “f:\Music\DEF\GHI.mp3”. See Directory structure for more information.

Last edited Aug 28, 2009 at 6:34 AM by linjus, version 8


No comments yet.