PHATDB

Author: David Collett
Contact: daveco@users.sourceforge.net
Web site:http://phatdb.sourceforge.net/

Introduction

PHATDB is a tool to generate database and signature files for Kenwood ACDrive / mCD ('enhanced' cd) Car Stereo Head Units.

You can read more about it in the PhatHack wiki:

http://wiki.phathack.com/ACDrive

This software provides GNU/Linux users which a way to generate database files without the windows-only phatnoise media manager software provided by Kenwood.

Since version 0.0.2, windows binaries are also available.

Building

You need libid3tag and openssl (libcrypto) to build phatdb.

./configure
make
make install

Usage

ACDrive USB headunits understand FAT formatted disk only, furthermore, the database must contain short (8.3) filenames. For phatdb to generate the database correctly, USB drives MUST be mounted as 'msdos' (NOT 'vfat') so that the short filenames are shown.

NOTE: Since version 0.0.2, this is no longer necessary. Linux has an ioctl which allows retrieval of short filenames from mounted vfat volumes.

For a disk to be recognised by an ACDrive head-unit, it must contain an 'mcd' directory in its root. This directory must contain the files:

pkeys2.e
pkeys2.sig

These files are NOT distributed with phatdb, they can be found in the phatnoise distribution or on the sample mCD CD which came with your head-unit.

To generate a database with all the music on a USB hard-drive mounted at /media/usbdisk:

phatdb -g /media/usbdisk

This will create the files:

/media/usbdisk/mcd/mcd.db
/media/usbdisk/mcd/mcd.sig

The disk should now play as enhanced media in your head-unit.

Limitations

Browsing and Index searching should work correctly, however phatdb does not currently generate voice-prompt files. It is recommended that you disable this feature when using phatdb. A future version may support voice prompting.

For a discussion of future features and enhancements of phatdb see the wiki page here:

http://wiki.phathack.com/ACDrive

There is also a forum to discuss ACDrive hacking:

http://forum.phathack.com/

Download

Releases are made through the sourceforge files page:

http://sourceforge.net/project/showfiles.php?group_id=191389&package_id=224808

Development

PHATDB includes a library (phatlib) which can be used to add phatdb support to other applications. The API is simple and is documented in phatlib.h. phatdb (in main.c) is a good example of how to use the API. Internally, phatlib has a more powerful low-level API. If application programmers wish to use this, they will probably have to copy the phatlib sources to their own tree and compile statically.

PHATDB uses darcs for revision control. You can obtain the full repository here:

darcs get http://phatdb.sourceforge.net/phatdb

PHATDB is written in C and requires the following libraries:

Additionally, PHATDB includes GPL'd code from a number of other projects:

Licence

This program can be distributed under the terms of the GNU GPL. See the file COPYING.