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