BASSMOD 2.0 - Copyright (c) 1999-2004 Ian Luck. All rights reserved
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Files that you should have found in the BASSMOD "package"
=========================================================

Win32 version
-------------
BASSMOD.TXT   This file
BASSMOD.DLL   The BASSMOD module
BASSMOD.CHM   BASSMOD documentation
C\            C/C++ API and samples...
  BASSMOD.H     BASSMOD C/C++ header file
  BASSMOD.LIB   BASSMOD import library
  MODTEST.EXE   BASSMOD example player
  MODTEST.C     Example player source-code
  MODTEST.RC    Example player resource file
  CONTEST.EXE   BASSMOD console example program
  CONTEST.C     Console example program source-code
  MAKEFILE      Makefile for examples
DELPHI\       Delphi API and samples...
  BASSMOD.PAS   BASSMOD Delphi unit
  BMDEMO.DPR    Demo project file
  DEMO.DFM      Form for the BASSMOD demo
  DEMO.PAS      Unit for the BASSMOD demo
VB\           Visual Basic API and samples...
  BASSMOD.BAS   BASSMOD VB module file
  BASSTEST.VBP  Example program project file
  FRMMAIN.FRM   Main form for BASSTEST project
MASM\         MASM API and samples...
  BASSMOD.INC   BASSMOD MASM include file
  PLAYER.EXE    Example player
  PLAYER.ASM    Example player source-code
  RSRC.RC       Example player resource file
  TOOLBAR.BMP   Example player toolbar bitmap
  COMPILE.BAT   Example player compilation script

Linux version
-------------
BASSMOD.TXT   This file
LIBBASSMOD.SO  The BASSMOD module
BASSMOD.PDF   BASSMOD documentation
BASSMOD.H     BASSMOD C/C++ header file
CONTEST.C     Console example program source-code
MAKEFILE      Makefile for example

Mac OSX version
---------------
BASSMOD.TXT   This file
LIBBASSMOD.DYLIB  The BASSMOD module
BASSMOD.PDF   BASSMOD documentation
BASSMOD.H     BASSMOD C/C++ header file
MODTEST.C     Example player source-code
MODTEST.NIB   Example player resources...
  CLASSES.NIB
  INFO.NIB
  OBJECTS.NIB
CONTEST.C     Console example program source-code
MAKEFILE      Makefile for examples

PocketPC version
----------------
BASSMOD.TXT   This file
BASSMOD.DLL   The BASSMOD module
BASSMOD.CHM   BASSMOD documentation
BASSMOD.H     BASSMOD C/C++ header file
BASSMOD.LIB   BASSMOD import library
MODTEST.EXE   BASSMOD example player
MODTEST.C     Example player source-code
MODTEST.RC    Example player resource file
MODTEST.H     Example player resource header file


What's the point?
=================
BASSMOD is a stripped-down "MOD only" version of the BASS audio system.
This is useful if you only need to play some MOD music in a demo/etc...
If you require a more complete audio library, then you should get the
full BASS library (website URL below).


Requirements
============
BASSMOD uses the Windows MultiMedia drivers on Win32 & PocketPC platforms,
the OSS drivers on Linux, and the Core Audio drivers on Mac OS X, so there
are no special library/driver requirements.


Using BASSMOD
=============
There is no guarantee that all BASSMOD versions will be compatible with
all previous versions, so your program should use BASSMOD_GetVersion to
check the version that is loaded. This also means that you should put
the BASSMOD module in the same directory as your program, not just
somewhere in the path, to avoid the possibility of a wrong version being
loaded.

If you are updating your software from a previous BASSMOD version, then
you should check the "History" section (below), to see which (if any)
of the functions that you are using have been affected by a change.

Win32 version
-------------
C/C++, Delphi, Visual Basic and MASM APIs are provided, to use BASSMOD
with another language you'll first have to convert the header file. Or
you could load it dynamically (eg. use LoadLibrary & GetProcAddress).

To use BASSMOD with Borland C++ Builder, you'll first have to create a
Borland C++ Builder import library for it. This is done by using the
IMPLIB tool that comes with Borland C++ Builder. Simply execute this:

	IMPLIB BASSMODB.LIB BASSMOD.DLL

... and then use BASSMODB.LIB in your projects to import BASSMOD.

Linux version
-------------
A "LIB" file is not required for Linux, you can build your programs like
this, for example:

	gcc yoursource ./libbassmod.so -o yourprog
or
	gcc yoursource -lbassmod -o yourprog

In the first case, the LIBBASSMOD.SO file will need to be in the same
directory as the executable (and it can only be run from there). In the
2nd case, it will have to be somewhere in the path, eg. /usr/lib

Another option is to use the "rpath" linker option to specify exactly
where it should be loaded from at run-time, for example:

	gcc yoursource -lbassmod -Wl,-rpath,/some/path -o yourprog

Mac OSX version
---------------
A "LIB" file is also not required for OSX, you can build your programs
like this, for example:

	gcc yoursource ./libbassmod.dylib -o yourprog
or
	gcc yoursource -L. -lbassmod -o yourprog

The LIBBASSMOD.DYLIB file must be put in the same directory as the
executable (it can't just be somewhere in the path). See the example
makefile.


Latest Version
==============
The latest version of BASSMOD can always be found at the BASS website:

        http://www.un4seen.com/


Copyright, Disclaimer, and all that other jazz
==============================================
The BASSMOD library is free for non-money making use... if you are
not charging for the software, then you can use BASS in it for free.
A mention in the credits would be nice though!

This software is provided "as is", without warranty of ANY KIND,
either expressed or implied, including but not limited to the implied
warranties of merchantability and/or fitness for a particular purpose.
The author shall NOT be held liable for ANY damage to you, your
computer, or to anyone or anything else, that may result from its use,
or misuse. Basically, you use it at YOUR OWN RISK.

Usage of BASSMOD indicates that you agree to the above conditions.

You may freely distribute the BASSMOD package as long as NO FEE is
charged and all the files remain INTACT AND UNMODIFIED.

All trademarks and other registered names contained in the BASSMOD
package are the property of their respective owners.


History
=======
These are the major (and not so major) changes at each version stage.
There are of course bug fixes and other little improvements made along
the way too. To make upgrading simpler, all functions affected by a
change to the BASSMOD interface are listed.

2.0 - 21/6/2004
---------------
* Decoding without output
	"decode only" device (BASSMOD_Init)
	BASSMOD_MusicDecode
* Non-interpolated mixing
	BASS_MUSIC_NONINTER (BASSMOD_MusicLoad/PlayEx flag)
* Flags adjustment without changing playback position
	BASSMOD_MusicPlayEx
* Adjustable channel and instrument volumes
	BASSMOD_MusicSetVolume
	BASSMOD_MusicGetVolume
* Support for UNICODE filenames
	BASS_UNICODE (BASSMOD_MusicLoad flag)
* Speedier file verification
	BASSMOD_MusicLoad
* Device volume is now always left as it is during init/freeing
	BASS_DEVICE_LEAVEVOL flag *removed*
* Improved documentation - search option added
* Further reduced size
* MacOSX & PocketPC ports introduced

1.6 - 15/8/2002
---------------
* Improved performance
	faster MMX mixers (over 50% faster in some cases!)
* Seeking in seconds
	BASSMOD_MusicPlayEx
	BASSMOD_MusicSetPosition
* Support for Modplug/ADPCM compressed files
	BASSMOD_MusicLoad
* Support for "Invert Loop" (EFx) MOD effect
* Loading without the samples
	BASS_MUSIC_NOSAMPLE (BASSMOD_MusicLoad flag)
* Paused status
	BASS_ACTIVE_PAUSED (BASSMOD_MusicIsActive)
* Device description function parameter change
	BASSMOD_GetDeviceDescription

1.3a - 9/12/2001
----------------
* FX sync actually included this time :)
	BASS_SYNC_MUSICFX
* Fix for dodgy Windows drivers
* Reduced DLL/SO size

1.3 - 26/11/2001
----------------
* XMPlay surround sound
	BASS_MUSIC_SURROUND (BASSMOD_MusicLoad/PlayEx flag)
	BASS_MUSIC_SURROUND2 (BASSMOD_MusicLoad/PlayEx flag)
* Playback length calculation
	BASS_MUSIC_CALCLEN (BASSMOD_MusicLoad flag)
	BASS_MusicGetLength
* Stereo sample suport in IT/XM/S3M formats
* UMX (Unreal/Tournament music package) format support
* User data passed to callback functions
	SYNCPROC - BASSMOD_MusicSetSync
* New synchronizer
	BASS_SYNC_MUSICFX
* Hi-res floating-point CPU usage monitoring
	BASSMOD_GetCPU
* Stop music on a backwards jump effect
	BASS_MUSIC_STOPBACK (BASSMOD_MusicLoad/PlayEx flag)
* Disable synchronizers option - saves a little CPU time
	BASS_DEVICE_NOSYNC (BASSMOD_Init flag)
* Leave the volume as it is during initialization/closing
	BASS_DEVICE_LEAVEVOL (BASSMOD_Init flag)

0.7 - 1/12/1999
---------------
* First release


Credits - API/Sample Contributors
=================================
Delphi - Titus Miloi, Rogier Timmermans
Visual Basic - Adam Hoult


Bug reports, Suggestions, Comments, Enquiries, etc...
=====================================================
If you have any of the aforementioned please see the BASS forum (at
the website). If you can't find an answer there, you can email:

        bassmod@un4seen.com

