catcodec(1) An open source tool to decode/encode the sample catalogue for OpenTTD

SYNOPSIS

[-d sample_file ] [-e sample_file ]

DESCRIPTION

catcodec decodes and encodes sample catalogues for OpenTTD. These sample catalogues are not much more than some meta-data (description and file name) and raw PCM data.

Decoding a sample catalogue, e.g. sample.cat, results in a sample.sfo that contains the file names and descriptions of the samples and all samples with the file name as specified in the catalogue.

Encoding a sample catalogue, e.g. sample.cat, reads sample.sfo for the file names and descriptions. It will then load the samples described in sample.sfo and encodes these into sample.cat.

Generally speaking encoding a file and then decoding it results in the same file. Decoding of the original, Transport Tycoon Deluxe, sample format will force the output to be 11025 Hz, 8 bits mono because the meta-data of some of the samples is incorrect or even missing.

Only PCM WAVE files with only the format and data chunks are supported. Any other formats need to be converted into this. Furthermore only 11025 Hz, 22050 Hz and 44100 Hz with 8 or 16 bits per sample single channel PCM WAVE files are supported.

OPTIONS

-d sample_file
Decode the given sample catalogue into its components. The sample_file must have the extension '.cat'. For the output meta-data file the '.cat' is replaced with '.sfo'. The actual samples, in PCM WAVE format, are extracted into files using the file names, including extension, as described in the catalogue or meta-data file.

If any of the files already exists a backup is made, by adding '.bak', overwriting the existing backup.

-e sample_file
Encode the components for the given sample file into a sample catalogue. The sample_file must have the extension '.cat'. For the input meta-data file the '.cat' is replaced with '.sfo'. The actual samples, in PCM WAVE format, are read from files using the file names, including extension, as described in the meta-data file.

If the sample_file already exists a backup is made, by adding '.bak', overwriting the existing backup.

AUTHORS

An Remko Bijker Aq [email protected]