Tracker 4.42

# Chapter 6: How to use tracker

## 6.1: Compression

Various compression methods are supported through pipes. There is a simple-minded configuration file ``compression_methods`' (check ``Makefile`' to see where you want to install it). Its format is:

      extension       command line in printf format.

For instance,

      .gz	        gzip -dc %s

(simple, isn't it ?)

## 6.2: Environment variables

`TRACKER_DEFAULTS`
  The set of options invoked by default, e.g., my options are

        -scroll -freq 44 -color -tolerant

`MODPATH`
  A path where you wish to look for mod files. This is a sh-styled path: ``setenv MODPATH dir1:dir2:...`'
`TRACKER_COMPRESSION`
  Overrides the default ``compression_methods`' file... Very useful when, for example, you want to use a binary fetched from the net.

## 6.3: Command line switches:

Note that tracker now accepts directories as arguments. It will automatically recurse down the tree to find modules.

```-stereo/-mono`'`
  switch between stereo and mono output. Some modules need mono output to sound right. Apart from that, on stereo-capable machines, mono output usually uses less CPU.
```-mix <percent>`'`
  for stereo output, decide how to mix left/right channels. 0 is spatial stereo, 100 is mono. The change tends to be exponential, so you may want to experiment with values around 90+.
```-frequency <freq>`'`
  set the audio output frequency (kHz). The normal output frequency is a `normal' frequency for your machine. Normally <freq> will be rounded to an actual output frequency available on your machine.
```-oversample <n>`'`
  where n is usually 1, 2 or 4. Controls the accuracy of the sound reproduction by trying to use 1,2 or 4 sample values to render a given sample. The higher, the better, but the more CPU it uses. Changing the frequency usually works better, but there are cases where 2 or 4 will give you a better rendering for some module. The default value (1) is quite good at high frequencies, but not so good on, for instance a sparc station 1 at 8000 Hz. The code in ``resample.c`' is optimized to get oversample 2 and 4 to be reasonably efficient... After 4, you probably won't hear any significant improvement. 0 is a special mode, called linear resampling. See ``resample.c`' for details.
```-new/old/both`'`
  select a soundtracker format, between new (31 instr), old (15 instr) and both (auto-detect what's going on). You should only use it if tracker gets very confused on a module.
```-picky`'`
  do not allow for any problems in a module.
```-tolerant`'`
  allow for many problems that would normally stop a module
```-repeats / -repeats <n>`'`
  repeat each module n times. With no value (or a 0), repeat the module forever.
```-looping`'`
  make module list loop as a whole.
```-verbose`'`
  show a sample listing for the module.
```-scroll`'`
  scroll-display the module being played.
```-color/-bw`'`
  use with terminals with color-ansi capability (e.g., kterm) to get a colorful scroll.
```-speed <n>`'`
  change the base tempo to n. The normal value is 50 (PAL video frequency). Some modules have been written on a buggy NTSC composer, so you may wish to use -speed 60. Weird values like -speed 10 or -speed 2000 are allowable. Note that the samples may sound a bit strange since you only change the tempo, but the samples till play at the same speed.
```-pal/-ntsc`'`
  pal or ntsc tempo. Shortcut for the ``speed`' option.
```-speedmode (normal|old|finefirst|normalfirst|alter)`'`
  compatibily hack for old soundtracker tunes and various variants. ``old`' (also known as VBLANK mode) will force all speed commands to affect only the major tempo. ``alter`' is an alternate version of the automaton found in some soundtracker tunes. Other options are mostly there for debugging purposes.
```-transpose <k>`'`
  transpose the song up k half-notes. If k is negative, obviously transpose the song down. The results will vary according to the module. This command changes only the pitch independently from the speed, so modules which use samples as `strictly instruments' will work better. Of use when you get bored....
```-start n`'`
  start the module at pattern number n instead of number 0.
```-randomize`'`
  plays the module list in random order.
```-list file`'`
  plays the modules listed in the given file (one module name per line, spaces are significant).

The Amiga version uses `ReadArgs` style argument parsing, and doesn't recognize the precise same options.

## 6.4: Sample control

```-cut 012...abcd`'`
  suppress samples from the audio output.
```-add 012...abcd`'`
  add samples to the audio output (exclusive with cut).
```-halve 012...abcd`'`
  halve these samples volume.
```-double 012...abcd`'`
  double these samples volume (exclusive with halve).

## 6.5: Runtime controls

`n`
  go to next song.
`p`
  restart current song/go to previous song.
`>`
  fast forward.
`<`
  rewind.
`S`
  NTSC tempo (60 Hz). Amiga audio hardware for the reason this exists.
`s`
  PAL tempo (50 Hz).
`q`
`x`
`e`
  quit right away.
`m`
  switch to monaural mode.[1]
`M`
  go back to stereo mode.
`+`
  (Sparc only) increase sampling rate.[2]
`-`
  (Sparc only) decrease sampling rate.

[1] This key is equivalent to ``-mix 100`', i.e., it does not reduce the CPU bandwidth used by tracker as when in true mono mode.

[2] Warning: there is a bug in the SunOS 4.1.3 kernel that may manifest itself when using this option