
Welcome to Perex's player!!!

This is first program that use device /dev/gus of new driver for GUS card.
You can subscribe PMOD mailing list by sending command in the body of
e-mail 'subscribe pmod Your Name' to listserver@pf.jcu.cz.

			Author      : Jaroslav Kysela (on IRC: Perex)
			Mailing list: pmod@pf.jcu.cz (prefered)
			E-mail      : perex@pf.jcu.cz

Quick start:
============

  I assume that you unpack package in /usr/src directory. Now you have
in this directory two new directories: /usr/src/pmod and /usr/src/gus.
Directory /usr/src/pmod contains this module player and directory
/usr/src/gus contains gus driver. You _must_ install new gus driver
first - I don't use VoxWare driver for limitations.

  1. install gus module driver
	- you should check README and Makefile files in /usr/src/gus
	- type 'make' in /gus/src/gus
  2. compile LIBGUS library
	- check README and Makefile files in /usr/src/gus/libgus
	- type 'make install' if you have system based on ELF
	- type 'static' if you haven't system based on ELF
  3. compile pmod
	- check README and Makefile files in /usr/src/pmod
	- type 'make'	

Supported formats:
==================

  - XM  - Fast Tracker II - eXtended Module - 2-32 channels
  - S3M - Scream Tracker III - 2-16 digital channels (no AdLib)
  - MTM - Multitracker - 2-32 channels
  - MOD - 4/6/8/10-32 channels
  - 669 - Composer 669 - 8 channels

Keys:
=====

  'q', End, Esc	       - quit
  'b', Left	       - previous pattern
  'f', Right           - next pattern
  'l'                  - loop pattern
  'p', PageUp          - previous song
  'n', PageDown, Space - next song
  '+', Up	       - volume up
  '-', Down	       - volume down
  'd'                  - disable all channels
  'e'                  - enable all channels
  'x'                  - invert enable/disable for all channels
  '1'-'9','0'          - enable/disable channel  1-10
  Shift+'1'-'9','0'    - enable/disable channel 11-20

Accepted signals (useful for background playing):
=================================================

  SIGINT, SIGTERM      - quit
  SIGUSR1	       - previus song
  SIGUSR2              - next song

Notes:
======

  What is sample shrinking?

    Perex's player can play at this time modules to 16MB size. If module
    samples is bigger than GUS memory, pmod automaticaly try shrink some
    samples. You can disable this feature by option -s-.
    Warning! The quality of shrinked samples maybe poor!

  What is sample stretching?

    Now Perex's player support stretching of samples (oversampling).
    This function allow reproduce some samples better, but this is
    a little bit experimental feature.
    With option -e you can enable sample stretching, but sample width
    (8 or 16 bites) will not changed. Only spline method is used.
    With option -e2 you can enable sample stretching and if sample
    width is 8 bits, pmod resample this sample to 16 bits first.
    Next step is same as in -e option (the spline method).
    Thank you to Andreas Schiffler for help with spline method.

Tips:
=====

  - for GUS MAX owners - you can run pmod and Linux version of DOOM 
    at the same time!!! - try it..
  - for options help try run pmod without options and parameters

To do:
======

  - compressed files support
  - sample filtering
  - any ideas?

Changes:
========

v1.20a

  -  7.10.1995
  - instrument loading changed
  - 669 modules can be played with new gus driver again
  - loop bug fixed
  - check for s3m files from Scream Tracker 3.01 beta added
    (wrong sample header)
  - shrinking and stretching of samples added
  - song consistency bug fixed (very small songs is now played correctly)
  - gus driver is now controlled over GUS library only

v1.11h

  - 16. 7.1995
  - some fixes in frequency computing methods
  - segmentation fault bug fixed for music modules with wrong pattern order

v1.11g

  -  3. 7.1995
  - default panning changed in MOD loader for 10+ channels

v1.11f

  - 20. 6.1995
  - some cleanups for Linux 1.2.9+ (segmentation fault)

v1.11e

  - 27. 5.1995
  - better rewind/forward functions
  - floating point exception bug fixed

v1.11d

  - 18. 5.1995
  - next bug in PATTERN BREAK effect fixed
  - some updates for new version of gus driver
  - added options -op and -or for custom ultraclick elimination

v1.11c

  -  5. 5.1995
  - small bug in range check (options -r and -s) fixed
  - debug messages for FINE UP effect and KILL signal removed
  - added option -t

v1.11b

  -  4. 5.1995
  - effect PATTERN BREAK fixed
  - effects SLIDE UP and SLIDE DOWN fixed
  - added option -s - short sample 
    (very experimental - some short samples have another volume)

v1.11a

  -  2. 5.1995
  - support of MOD files with 10-32 channels
  - internal packing of song changed -> all loaders a little bit recoded
  - detection of module type
  - background playback
  - some keys for interactive control of player
  - pattern size bug in S3M loader fixed
  - changes in MOD loader
  - I hope that vibrato effect now sounds ok...
  - better options

v1.10b

  - 25. 4.1995
  - some changes in gus download routine
  - some changes in timer.c
  - some changes in load_mod.c
  - changes for computers without FPU (xm period -> frequency [table])
  - porta to note effect fixed

v1.10a

  - 31. 3.1995
  - fixed bug in S3M format (volume slide)
  - frequency tables recoded
  - corrected arpeg effect
  - loop effects in S3M loader fixed
  - >>>>>>>>>>>>>> XM loader <<<<<<<<<<<<<<<<
  - global volume effect fixed 
  - jump effect implemented

v1.02b

  - 29.12.1994
  - some click fixed

v1.02a

  - 26.12.1994
  - internal song packing changed (prepare for XM modules)
  - loop pattern effect implemented (for MOD and S3M files)
  - Scream Tracker 3.20 - new commands implemeted
  - MOD loader - recoded
  - some bugs in effects fixed

v1.01e

  - 23.12.1994
  - new version of driver
  - corrected small bug in MTM loader and MOD loader

v1.01d

  -  1.12.1994
  - corrected option -h
  - new version of driver - small change in init function (DMA report)

v1.01c

  - corrected version in program
  - message 'Global vol:' erased
  - glissando effect implemented, but no debugged
  - vibrato waveform effect implemented
  - tremolo waveform effect implemented
  - tremor effect implemented

v1.01b

  - 20.11.1994
  - vibrato recoded
  - tremolo added
  - S3M loader - added effect 'Z' - panning?
  - S3M loader - if unknown effect -> only warning

v1.01a

  - 19.11.1994
  - fixed bug in effects FINE PORT UP & FINE PORT DOWN
  - fixed bug if channels > 14
  - totaly recoded (for S3M format) - implemented more effects
  - better eliminate loop click (but it isn't still perfect)
  - S3M loader
  - MTM loader
  - 669 loader

v1.00a

  - first released (30.10.1994)
