            OOOOO OOOOO OOOOO      mmSAP 1.6b by Michael Kalouš (BAKTRA)       0 0 0
            O     O   O O   O      http://mmsap.sourceforge.net/               0 0 0
OOOOO OOOOO OOOOO OOOOO OOOOO      zylon@post.cz                               0 0 0
O O O O O O     O O   O O          Made in Czech Republic                     0  0  0
O O O O O O OOOOO O   O O          Free software under GNU GPL               0   0   0
---------------------------------------------------------------------------------------

1.Features
==========
* All capabilities (and drawbacks) of libSAP 2.0
* GTK+ GUI
* Silence detector with automatic subsong/tune progress
* Playlist
* Four playlist pass modes
* POKEY visualization
* POKEY setup
* STI (Sap time information) support
* Drag and Drop support
* Single instance concept

2. What it requieres
====================
* GTKmm 2.10.2 (official c++ interface for GTK+, see www.gtk.org). Maybe versions 2.6.x will
  work, but of course, in this case you have to compile from sources.
* ALSA libraries, tested with 1.0.11rc2, 1.0.13,1.0.14 or SDL 1.2.11
* All dependencies for those libraries
* Warning: I have experienced problems with SDL 1.2.10,1.2.11 and Trident 4DWave sound chip.
  I've tested also CMI8738 and VIA AC97. These cards work.
* Hardware: Tested with AMD Athlon XP 2200+,512 MB RAM, but much less powerfull computer
  will be suitable.

3. How to run
=============
Try ./mmsap-als [filespec] or ./mmsap-sdl [filespec]
if it complains about missing shared libraries, download and install them or try to compile
from sources. mmsap binary also accepts one command line parameter - sap tune to play.
The binaries were compiled with OpenSUSE 10.2. If you have another distribution, compile
from sources. Use your package manager to install gtkmm2-devel-2.x.x package.

4. How to compile
=================
Be sure that development versions of all libraries are installed and run
./compile-alsa to compile the ALSA variant
./compile-sdl to compile the SDL variant

5. Playlist file format
=======================
Plain text, each line is an absolute file specifier. If the file specifier is relative,
it's automatically converted. Lines starting with hashes (#) are ignored, so m3u files can be
imported. When the playlist is saved, all comments are removed and all file specifiers will
become absolute.

6. Visualization
================
There is "Visualization" tab in Preferences dialog. You can use tune sap/sync.sap to synchronize
visualization bars with music. This must be done, because on PC, the audio is buffered.
If update time is larger than 40ms, the best value for synchro is probably zero.

7. SAP time information (STI)
=============================
This is special feature of mmSAP since version 1.5. When SAP tune is opened (e.g. intro_music.sap) mmSAP
also looks for intro_music.sap.sti. In .sti file, on each line, there is a length of one
subsong in format: min:sec. This information is then used for better playlist passing.
SAP file format is not harmed by this feature. If .sti information is missing, nothing bad
happens. STI supports up to 32 subsongs. If you specify 0:00 for subsong time, the silence
detector or autocontinue is used. Try sap/marching_drums.sap and sap/marching_drums.sap.sti.
You may add the sti information to some tunes if necessary. Autocontinue is a little bit dumb.

8. About
========
This program was created as a GTKmm exercise. GTKmm is good interface to
GTK+, so I want to learn how to use it. However, glademm source generator is a little bit buggy. The libglademm
is better but is not shipped with Linux distributions. That means, next time, I'll use liblglade and wrap().
