PhatBox FLAC support release notes

Update: FLAC is now fully supported by the latest PhatNoise Music Manager, and the whole process is the same as for mp3s. If you still want to do manual tinkering, read on.

FLAC, is a free, lossless audio codec (hence the name FLAC). A file encoded with FLAC will not lose any audio quality, unlike the popular lossy formats mp3, wma, or ogg. While achieving this quality, the resulting file size will be a bit larger than the lossy codecs, but about half the size of the original wav file. Thus, FLAC is an excellent replacement for wav, the choice of true audiophiles, but does not have all the benefits of the lossy codecs. The PhatBox now supports FLAC playback just like mp3, wma, or wav, and is one of the first consumer devices to support FLAC, or any type of lossless compression.

FLAC is currently supported in only the firmware of the PhatBox. The PhatNoise Music Manager (PMM) does not yet support creating FLAC files, or adding them to the PhatBox. However, it is not difficult to do this manually. To add files to a playlist, first copy them onto the PHTDTA partition, preferably in some organized manner (I keep all FLAC files in the flac subdirectory). Then, before you start PMM, edit the m3u file for the desired playlist. These are usually found as Profiles/Default/p<number-1>.m3u on PHTDTA. Add two lines at the end that look like:

#Artist - Title
/dos/data/flac/Artist - Title.flac
Note that /dos/data is prepended to the path of the file on PHTDTA, and that the correct slashes are used to mark the directories. The first line is what will be displayed on a text capable head unit.
Adding another line to tracks.db will allow inter-track seeking. If you use PMM >= 1.85, be sure to remove the tracks.idx file or update it to match your new tracks.db if you know the tracks.idx specs.
After finishing modifications to the .m3u files, start PMM, connect the cartridge, then eject the cartridge. The playlists will now be ready for playback on the PhatBox.

The biggest limitation of FLAC files is that seeking will be extremely slow if a seek table is not present. These are generated by default with the reference encoder, but if you try encoding through pipes or other funny options, they may not be generated. Double check that these are present if you plan to seek through a file, pause playback, or resume playback in the middle of a file.