All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Tracklist config file

As QuakeForge supports playing arbitrarily sized audio files, it seemed rather obvious that QuakeForge should be able to use them as BGM in place of the CD drive.

However, requiring specific names and locations for the files seemed overly onerous. Thus QuakeForge looks for tracklist.cfg in the root of the game directory (eg. id1, same place as pak0.pak, config.cfg, etc).

Using the following tracklist.cfg:

// sample track list
  2 = "music/track02.cdda.ogg";
  3 = "music/track03.cdda.ogg";
  4 = "music/track04.cdda.ogg";
  5 = "music/track05.cdda.ogg";
  6 = "music/track06.cdda.ogg";
  7 = "music/track07.cdda.ogg";
  8 = "music/track08.cdda.ogg";
  9 = "music/track09.cdda.ogg";
  10 = "music/track10.cdda.ogg";
  11 = "music/track11.cdda.ogg";

and the following commands in the id1 directory:

mkdir music
cd music
cdparanoia -B 2-
oggenc *.wav
rm *.wav
cd ..
pak -vcf quake1-music.pak tracklist.cfg `find music -type f print`
rm -rf music tracklist.cfg

a convenient pak file can be made of the Quake CD audio. Of course, the last two commands are optional if you prefer to have the files loose in the filesystem.

Tracklist format

The tracklist config file is a Property List consisting of a dictionary mapping the track numbers to the file to be played when that track is requested. The keys of the dictionary are the track number (the Quake CD has only tracks 2 to 11 as audio tracks) as a property list string, and the values are the file to play, also as a property list string.

However, if the value is an array of strings, that track will become a playlist, and each file specified in the array will be played in order, looping back to the first file in the list.

The files may be .wav, .ogg (Ogg Vorbis), .mid or .midi (MIDI), or .flac files. MP3 is not supported, and is not likely to ever be supported.