Tracker 4.42

## Program organization

Most files are system independent, with some exceptions.

The ``Arch`' directory.
  holds a ``config.h`' and an ``audio.c`' file for every configuration tracker has been compiled on. ``config.h`' specifies various things about the machine. ``audio.c`' is the audio driver itself.
``Arch/Unix/ui.c`' and ``Arch/OS2/ui.c`'
  provide some `user interface' under Unix or OS/2. Mainly deals with raw mode and stuff like that, plus color xterms recently.
The ``Arch/Amiga`' directory
  the Amiga version of tracker holds more system specific code than the other versions. Namely, the audio drivers hooks in at the Amiga audio driver level (bypasses ``resample.c`' completely, See Amiga audio hardware, See Resampling details, See Amiga implementation, for details).

If you need to understand how tracker works, a good place to start with is ``extern.h`', which holds commented prototypes for most functions. Also, See Resampling details.

## 4.2: Generic problems

My computer barfs on the ``Makefile`'
  your ``make`' probably doesn't understand nested macros, like `CFLAGS = $(CFLAGS_${MACHINE})`
  Quick fix
    edit the ``Makefile`' and replace `CFLAGS` and others with their definition, i.e., for a Silicon Graphics machine: `CFLAGS_sgi = -O2`
  Real fix
    install a real ``make`', like ``gnumake`'.
What's `stricmp` ?
  that's ``strcmp` without caring about cases'. On some machines, there is a function called `strcasecmp` instead. A `#define strcasecmp` in your machine's ``config.h`' will be enough. If you really don't find it, it's easy to roll your own, or even replace it with `strcmp` at low cost.
tracker does not recognize any module
  maybe the decompression isn't working correctly. First try out tracker with uncompressed modules. Be aware that tracker doesn't support XPK modules, and has only external support for PowerPacker. To achieve support for lha and other standard compressed formats, there is a good chance you'll have to edit the `COMPRESSION_FILE` and install some utilities. Also, don't forget that tracker supports only Soundtracker/Protracker modules for the time being.
I don't get any sound.
  Don't forget to check that your machine is audio capable. Do you have a sound card ? Do you manage to get sound out of other programs ? Is your loudspeaker hooked in ? Does your machine output sound through headphones by default ? Is the audio package installed... Sounds stupid, but this is the most probable problem. Try to keep a key depressed: if you get some hashed sound output, the user interface is broken. You'll have to check how to put your tty in cbreak mode. Check the `HAS_TERMIOS` and `HAS_SGTTY` entries.

If tracker doesn't compile more or less cleanly, check that it pulled the right ``config.h`' file, and check the definitions in that file.

If you manage to get sound output from tracker, but if the result is garbled you probably need to check Performance issues.