diff options
Diffstat (limited to 'Game/Code/lib/bass')
-rw-r--r-- | Game/Code/lib/bass/bass.txt | 3316 |
1 files changed, 1658 insertions, 1658 deletions
diff --git a/Game/Code/lib/bass/bass.txt b/Game/Code/lib/bass/bass.txt index d7c5aecf..cdaa7bf0 100644 --- a/Game/Code/lib/bass/bass.txt +++ b/Game/Code/lib/bass/bass.txt @@ -1,1658 +1,1658 @@ -BASS 2.4
-Copyright (c) 1999-2008 Un4seen Developments Ltd. All rights reserved.
-
-Files that you should have found in the BASS package
-====================================================
-Win32 version
--------------
-BASS.TXT This file
-BASS.DLL The BASS module
-BASS.CHM BASS documentation
-MP3-FREE
- BASS.DLL BASS module using the Windows MP3 decoder
-C\ C/C++ API and examples...
- BASS.H BASS C/C++ header file
- BASS.LIB BASS import library
- BASS.DSW Visual C++ workspace for examples
- MAKEFILE Makefile for all examples
- MAKEFILE.IN Makefile helper macros
- 3DTEST\ 3D/EAX example
- 3DTEST.C
- 3DTEST.RC
- 3DTEST.DSP
- MAKEFILE
- BASSTEST\ Simple playback example
- BASSTEST.C
- BASSTEST.RC
- BASSTEST.DSP
- MAKEFILE
- CONTEST\ Console example
- CONTEST.C
- CONTEST.DSP
- MAKEFILE
- CUSTLOOP\ Custom looping example
- CUSTLOOP.C
- CUSTLOOP.DSP
- MAKEFILE
- DSPTEST\ DSP example
- DSPTEST.C
- DSPTEST.RC
- DSPTEST.DSP
- MAKEFILE
- FXTEST\ DX8 effect example
- FXTEST.C
- FXTEST.RC
- FXTEST.DSP
- MAKEFILE
- LIVEFX\ Full-duplex example
- LIVEFX.C
- LIVEFX.RC
- LIVEFX.DSP
- MAKEFILE
- LIVESPEC\ "Live" version of spectrum analyser example
- LIVESPEC.C
- LIVESPEC.DSP
- MAKEFILE
- MULTI\ Multiple device example
- MULTI.C
- MULTI.RC
- MULTI.DSP
- MAKEFILE
- NETRADIO\ Internet streaming example
- NETRADIO.C
- NETRADIO.RC
- NETRADIO.DSP
- MAKEFILE
- PLUGINS\ Plugins example
- PLUGINS.C
- PLUGINS.RC
- PLUGINS.DSP
- MAKEFILE
- RECTEST\ Recording example
- RECTEST.C
- RECTEST.RC
- RECTEST.DSP
- MAKEFILE
- SPEAKERS\ Multi-speaker example
- SPEAKERS.C
- SPEAKERS.RC
- SPEAKERS.DSP
- MAKEFILE
- SPECTRUM\ Spectrum analyser example
- SPECTRUM.C
- SPECTRUM.DSP
- MAKEFILE
- SYNTH\ Synth example
- SYNTH.C
- SYNTH.DSP
- MAKEFILE
- WRITEWAV\ WAVE writer example
- WRITEWAV.C
- WRITEWAV.DSP
- MAKEFILE
- BIN\ Precompiled examples
- 3DTEST.EXE
- BASSTEST.EXE
- CONTEST.EXE
- CUSTLOOP.EXE
- DSPTEST.EXE
- FXTEST.EXE
- LIVEFX.EXE
- LIVESPEC.EXE
- MULTI.EXE
- NETRADIO.EXE
- RECTEST.EXE
- SPEAKERS.EXE
- SPECTRUM.EXE
- SYNTH.EXE
- WRITEWAV.EXE
-VB\ Visual Basic API and examples...
- BASS.BAS BASS Visual Basic module
- 3DTEST\ 3D/EAX example
- PRJ3DTEST.VBP
- PRJ3DTEST.FRM
- PRJDEVICE.FRM
- BASSTEST\ Simple playback example
- PRJBASSTEST.VBP
- FRMBASSTEST.FRM
- CUSTLOOP\ Custom looping example
- PRJCUSTLOOP.VBP
- FRMCUSTLOOP.FRM
- MODCUSTLOOP.BAS
- DSPTEST\ DSP example
- PRJDSPTEST.VBP
- FRMDSPTEST.FRM
- MODDSPTEST.BAS
- FXTEST\ DX8 effect example
- PRJFXTEST.VBP
- FRMFXTEST.FRM
- LIVEFX\ Full-duplex example
- PRJLIVEFX.VBP
- FRMLIVEFX.FRM
- MODLIVEFX.BAS
- LIVESPEC\ "Live" version of spectrum analyser example
- PRJLIVESPEC.VBP
- FRMLIVESPEC.FRM
- MODLIVESPEC.BAS
- MULTI\ Multiple device example
- PRJMULTI.VBP
- PRJMULTI.FRM
- PRJDEVICE.FRM
- NETRADIO\ Internet streaming example
- PRJNETRADIO.VBP
- FRMNETRADIO.FRM
- MODNETRADIO.BAS
- CLSFILEIO.CLS
- PLUGINS\ Plugins example
- PRJPLUGINS.VBP
- FRMPLUGINS.FRM
- RECTEST\ Recording example
- PRJRECTEST.VBP
- FRMRECTEST.FRM
- MODRECTEST.BAS
- SPEAKERS\ Multi-speaker example
- PRJSPEAKERS.VBP
- FRMSPEAKERS.FRM
- SPECTRUM\ Spectrum analyser example
- PRJSPECTRUM.VBP
- FRMSPECTRUM.FRM
- MODSPECTRUM.BAS
- SYNTH\ Synth example
- PRJSYNTH.VBP
- FRMSYNTH.FRM
- MODSYNTH.BAS
- WRITEWAV\ WAVE writer example
- PRJWRITEWAVE.VBP
- PRJWRITEWAVE.FRM
- MEMORY\ Playing from memory example by Jobnik
- PRJMEMORY.VBP
- FRMMEMORY.FRM
- SYNCTEST.BAS
- CBASS_TIME.CLS
-DELPHI\ Delphi API and examples...
- BASS.PAS BASS Delphi unit
- 3DTEST\ 3D/EAX example
- D3TEST.DPR
- DTMAIN.PAS
- DTMAIN.DFM
- DTSELECT.PAS
- DTSELECT.DFM
- BASSTEST\ Simple playback example
- BASSTEST.DPR
- BTMAIN.PAS
- BTMAIN.DFM
- CONTEST\ Console example
- CONTEST.DPR
- CUSTLOOP\ Custom looping example
- CUSTLOOP.DPR
- UNIT1.PAS
- UNIT1.DFM
- DSPTEST\ DSP example
- DSPTEST.DPR
- DTMAIN.PAS
- DTMAIN.DFM
- FXTEST\ DX8 effect example
- FXTEST.DPR
- TEST.PAS
- TEST.DFM
- LIVEFX\ Full-duplex example
- LIVEFX.DPR
- UNIT1.PAS
- UNIT1.DFM
- MULTI\ Multiple device example
- MULTI.DPR
- UNIT1.PAS
- UNIT1.DFM
- UNIT2.PAS
- UNIT2.DFM
- NETRADIO\ Internet streaming example
- NETRADIO.DPR
- UNIT1.PAS
- UNIT1.DFM
- PLUGINS\ Plugins example
- PLUGINS.DPR
- UNIT1.PAS
- UNIT1.DFM
- RECORDTEST\ Recording example
- RECORDTEST.DPR
- UNIT1.PAS
- UNIT1.DFM
- SAMPLEVIS\ Visualisation example
- SAMPLEVIS.DPR
- MAIN.PAS
- MAIN.DFM
- SPECTRUM_VIS.PAS
- CIRCLE_VIS.PAS
- OSC_VIS.PAS
- COMMONTYPES.PAS
- SPEAKERS\ Multi-speaker example
- SPEAKERS.DPR
- UNIT1.PAS
- UNIT1.DFM
- STREAMTEST\ User stream example
- STREAMTEST.DPR
- STMAIN.PAS
- STMAIN.DFM
- WRITEWAV\ WAVE writer example
- WRITEWAV.DPR
- UNITMAIN.PAS
- UNITMAIN.DFM
- DYNAMIC\ Dynamic-loading Delphi API
- DYNAMIC_BASS.PAS Dynamic-loading Delphi unit
-MASM\ MASM API and examples...
- BASS.INC BASS MASM include file
- PLAYER\ Example MOD player
- PLAYER.EXE
- PLAYER.ASM
- RSRC.RC
- TOOLBAR.BMP
- COMPILE.BAT
-
-NOTE: To run the example EXEs, first you will have to copy BASS.DLL into the
- same directory as them.
-
-NOTE: To avoid unnecessary bloatage, the BASS DLLs are not digitally signed.
- Signed versions are available on request (email: bass@un4seen.com).
-
-MacOSX version
---------------
-BASS.TXT This file
-LIBBASS.DYLIB The BASS module
-BASS.CHM BASS documentation
-CHMOX.APP CHM file viewer
-BASS.H BASS C/C++ header file
-MAKEFILE Makefile for all examples
-MAKEFILE.IN Makefile helper macros
-MP3-FREE
- LIBBASS.DYLIB BASS module using the OSX MP3 decoder
-3DTEST\ 3D example
- 3DTEST.C
- MAKEFILE
- 3DTEST.NIB
-BASSTEST\ Simple playback example
- BASSTEST.C
- MAKEFILE
- BASSTEST.NIB
-CONTEST\ Console example
- CONTEST.C
- MAKEFILE
-CUSTLOOP\ Custom looping example
- CUSTLOOP.C
- MAKEFILE
-DSPTEST\ DSP example
- DSPTEST.C
- DSPTEST.RC
- MAKEFILE
- DSPTEST.NIB
-LIVESPEC\ "Live" version of spectrum analyser example
- LIVESPEC.C
- MAKEFILE
-MULTI\ Multiple device example
- MULTI.C
- MAKEFILE
- MULTI.NIB
-NETRADIO\ Internet streaming example
- NETRADIO.C
- MAKEFILE
- NETRADIO.NIB
-PLUGINS\ Plugins example
- PLUGINS.C
- MAKEFILE
- PLUGINS.NIB
-RECTEST\ Recording example
- RECTEST.C
- MAKEFILE
- RECTEST.NIB
-SPEAKERS\ Multi-speaker example
- SPEAKERS.C
- MAKEFILE
- SPEAKERS.NIB
-SPECTRUM\ Spectrum analyser example
- SPECTRUM.C
- MAKEFILE
-WRITEWAV\ WAVE writer example
- WRITEWAV.C
- MAKEFILE
-
-
-What's the point?
-=================
-BASS is an audio library for use in Windows and MacOSX software. Its
-purpose is to provide the most powerful and efficient (yet easy to use),
-sample, stream, MOD music, and recording functions. All in a tiny DLL,
-under 100KB in size.
-
-See the documentation for descriptions of all the BASS functions. You
-should also look at the included example program source-codes for some
-examples of how to use BASS in your own programs.
-
-
-Requirements
-============
-Win32 version
--------------
-BASS requires DirectX 3 or above for output. BASS does not require that a
-soundcard with DirectSound/DirectSound3D hardware accelerated drivers is
-installed, but it does improve performance if there is one. BASS also takes
-advantage of MMX, which improves the performance of the MOD music playback.
-
-MacOSX version
---------------
-OSX 10.3 or above is recommended. BASS uses CoreAudio for output, so there
-are no special library/driver requirements. BASS supports both PowerPC and
-Intel Macs.
-
-
-Main Features
-=============
-* Samples
- supports WAV/AIFF/MP3/MP2/MP1/OGG and custom generated samples
-
-* Sample streams
- stream any sample data in 8/16/32 bit, with both "push" and "pull" systems
-
-* File streams
- MP3/MP2/MP1/OGG/WAV/AIFF file streaming
-
-* Internet file streaming
- stream files from the internet, including Shout/Icecast
-
-* User file streaming
- stream files from anywhere using any delivery method
-
-* Multi-channel streaming
- support for more than plain stereo, including multi-channel OGG/WAV/AIFF files
-
-* MOD music
- uses the same engine as XMPlay = best accuracy, speed, and quality
-
-* MO3 music
- MP3/OGG compressed MOD music
-
-* Add-on system
- support for more formats is available via add-ons (aka plugins)
-
-* Multiple outputs
- simultaneously use multiple soundcards, and move channels between them
-
-* Recording
- flexible recording system, with support for multiple devices
-
-* Decode without playback
- streams and MOD musics can be outputted in any way you want
-
-* Speaker assignment
- assign streams and MOD musics to specific speakers
-
-* High precision synchronization
- synchronize events in your software to the streams and MOD musics
-
-* DirectX 8 effects
- chorus/compressor/distortion/echo/flanger/gargle/parameq/reverb
-
-* User defined DSP functions
- custom effects may be applied to musics and streams
-
-* 32 bit floating-point decoding and processing
- floating-point stream/music decoding, DSP, FX, and recording
-
-* 3D sound
- play samples/streams/musics in any 3D position, with EAX support
-
-* Small
- BASS is under 100KB (on Windows), so won't bloat your distribution
-
-
-Using BASS
-==========
-There is no guarantee that all future BASS versions will be compatible
-with all previous versions, so your program should use BASS_GetVersion
-to check the version that is loaded. This also means that you should
-put the BASS module in the same directory as your executable (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 BASS version, then
-you should check the "History" section (below), to see if any of the
-functions that you are using have been affected by a change.
-
-Win32 version
--------------
-C/C++, Visual Basic, Delphi and MASM APIs are provided, to use BASS with
-another language you'll first have to convert the header file. Or, as a
-last resort, you could use LoadLibrary and GetProcAddress.
-
-The downside is that you have to manually import each function that you
-use, with the GetProcAddress function. But it has been made a lot simpler
-to import BASS this way by the use of the BASSDEF #define. Here's a small
-example:
-
-#define BASSDEF(f) (WINAPI *f) // define the functions as pointers
-#include "bass.h"
-...
-HINSTANCE bass=LoadLibrary("BASS.DLL"); // load BASS
-BASS_Init=GetProcAddress(bass,"BASS_Init"); // get BASS_Init
-BASS_Init(-1,44100,0,hWnd,NULL); // call BASS_Init
-
-To use BASS 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 BASSBCB.LIB BASS.DLL
-
-... and then use BASSBCB.LIB in your projects to import BASS.
-
-To use BASS with LCC-Win32, you'll first have to create a compatible
-import library for it. This is done by using the PEDUMP and BUILDLIB
-tools that come with LCC-Win32. Run these 2 commands:
-
- PEDUMP /EXP BASS.LIB > BASSLCC.EXP
- BUILDLIB BASSLCC.EXP BASSLCC.LIB
-
-... and then use BASSLCC.LIB in your projects to import BASS.
-
-For the BASS functions that return strings (char*), VB users should use
-the VBStrFromAnsiPtr function to convert the returned pointer into a VB
-string.
-
-MacOSX version
---------------
-A separate "LIB" file is not required for OSX. Using XCode, you can simply
-add the DYLIB file to the project. Or using a makefile, you can build your
-programs like this, for example:
-
- gcc yoursource -L. -lbass -o yourprog
-
-The LIBBASS.DYLIB file must be put in the same directory as the executable
-(it can't just be somewhere in the path). See the example makefiles.
-
-LIBBASS.DYLIB is a universal binary, with support for both PowerPC and
-Intel Macs. If you want PowerPC-only or Intel-only versions, the included
-makefile can create them for you, by typing "make ppc" or "make i386". It
-will also process any BASS add-ons placed in the same directory.
-
-
-Latest Version
-==============
-The latest version of BASS can always be found at the BASS website:
-
- www.un4seen.com
-
-
-Licence
-=======
-BASS is free for non-commercial use. If you are a non-commercial entity
-(eg. an individual) and you are not charging for your product, and the
-product has no other commercial purpose, then you can use BASS in it
-for free. If you wish to use BASS in commercial products, then please
-also see the next section.
-
-TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, BASS 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 AUTHORS SHALL NOT BE HELD
-LIABLE FOR ANY DAMAGE THAT MAY RESULT FROM THE USE OF BASS. YOU USE
-BASS ENTIRELY AT YOUR OWN RISK.
-
-Usage of BASS indicates that you agree to the above conditions.
-
-All trademarks and other registered names contained in the BASS
-package are the property of their respective owners.
-
-Commercial licensing
---------------------
-BASS is available for use in your commercial products. The licence
-types available are as follows:
-
-SHAREWARE: Allows the usage of BASS in an unlimited number of your
-shareware products, which must sell for no more than 40 Euros each.
-If you are an individual (not a corporation) making and selling your
-own software (and its price is within the limit), this is the licence
-for you.
-
-SINGLE COMMERCIAL: Allows the usage of BASS in a single commercial
-product.
-
-UNLIMITED COMMERCIAL: Allows the usage of BASS in an unlimited number
-of your commercial products. This licence is on a per site basis. So
-if your company has two sites that use BASS, then two licences are
-required.
-
-Please note the products must be end-user products, eg. not components
-used by other products.
-
-These licences only cover your own software, not the publishing of
-other's software. If you publish other's software, its developers (or
-the software itself) will need to be licensed to use BASS.
-
-These licences are on a per-platform basis, with reductions available
-when licensing for both platforms. In all cases there are no royalties
-to pay, and you can use future BASS updates without further cost. One
-licence covers one person or entity and is not transferable.
-
-These licences do not allow reselling/sublicensing of BASS. For example,
-if a product is a development system, the users of said product are not
-licensed to use BASS in their productions; they will need their own
-licences.
-
-If the standard licences do not meet your requirements, or if you have
-any questions, please get in touch (email: bass@un4seen.com).
-
-Visit the BASS website for the latest pricing:
-
- www.un4seen.com
-
-MP3
----
-MP3 technology is patented, and Thomson license the use of their and
-Fraunhofer's patents. The inclusion of an MP3 decoder (eg. BASS) in a
-commercial product requires an MP3 patent licence. Contact Thomson for
-details:
-
- www.mp3licensing.com
-
-Alternatively, the "MP3-FREE" BASS version does not include its own MP3
-decoder but instead makes use of the operating system's already licensed
-decoder.
-
-NOTE: When using the OS's MP3 decoder, BASS still does the file handling
- so all the usual features are still supported, including streaming,
- tag reading, pre-scanning, gapless playback, etc...
-
-
-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 BASS interface are listed.
-
-2.4 - 2/4/2008
---------------
-* "Push" streaming
- STREAMPROC_PUSH (BASS_StreamCreate "proc")
- BASS_StreamPutData
- LIVEFX and MULTI examples updated
-* "Push" buffered file streaming
- STREAMFILE_BUFFERPUSH (BASS_StreamCreateFileUser system)
- BASS_StreamPutFileData
-* STREAMFILEPROC replaced by table of callbacks for each file operation
- BASS_FILEPROCS (FILECLOSEPROC/FILELENPROC/FILEREADPROC/FILESEEKPROC)
- STREAMFILEPROC *removed*
-* 64-bit file positioning
- BASS_SampleLoad
- BASS_MusicLoad
- BASS_StreamCreateFile
- BASS_StreamGetFilePosition
-* File buffer level retrieval
- BASS_FILEPOS_BUFFER (BASS_StreamGetFilePosition mode)
-* Sinc interpolated MOD music mixing
- BASS_MUSIC_SINCINTER (BASS_MusicLoad flag)
-* MO3 v2.4 support
- BASS_MusicLoad
-* MOD orders positioning incorporated into channel functions
- BASS_ChannelGetLength
- BASS_ChannelSetPosition
- BASS_ChannelGetPosition
- BASS_MusicGetOrderPosition *removed*
- BASS_MusicGetOrders *removed*
-* Channel attribute functions consolidated
- BASS_ChannelSetAttribute
- BASS_ChannelGetAttribute
- BASS_ChannelSlideAttribute
- BASS_ChannelIsSliding
- BASS_ChannelSetAttributes *removed*
- BASS_ChannelGetAttributes *removed*
- BASS_ChannelSlideAttributes *removed*
- BASS_ChannelSetEAXMix *removed*
- BASS_ChannelGetEAXMix *removed*
- BASS_MusicSetAttribute *removed*
- BASS_MusicGetAttribute *removed*
-* Floating-point volume and panning
- BASS_SetVolume
- BASS_GetVolume
- BASS_RecordSetInput
- BASS_RecordGetInput
- BASS_ATTRIB_PAN/VOL (BASS_ChannelGet/Set/SlideAttribute options)
- BASS_ATTRIB_MUSIC_VOL_CHAN/INST (BASS_ChannelGet/Set/SlideAttribute options)
- BASS_SAMPLE (volume/pan/outvol members)
- BASS_CONFIG_MAXVOL *removed*
- BASSTEST and RECTEST examples updated
-* Output device volume control on Vista (as on other OS)
- BASS_SetVolume
- BASS_GetVolume
-* Multiple update threads
- BASS_CONFIG_UPDATETHREADS
- BASSTEST example updated
-* Global volume range increased to 10000
- BASS_CONFIG_GVOL_SAMPLE/STREAM/MUSIC (BASS_SetConfig options)
- BASSTEST example updated
-* Setting and retrieving of a sample's data
- BASS_SampleSetData
- BASS_SampleGetData
- BASS_SampleCreate
- BASS_SampleCreateDone *removed*
-* Channel flag setting mask
- BASS_ChannelFlags
- BASS_ChannelSetFlags *removed*
- SPEAKERS example updated
-* 256 sample FFT
- BASS_DATA_FFT256 (BASS_ChannelGetDat flag)
-* Channel locking to prevent access by other threads
- BASS_ChannelLock
-* Manual channel buffer updating
- BASS_ChannelUpdate
- BASS_ChannelPreBuf *removed*
-* Configurable manual update length
- BASS_Update
-* Extended device information retrieval and detection of new/removed devices
- BASS_GetDeviceInfo
- BASS_RecordGetDeviceInfo
- BASS_DEVICEINFO structure
- BASS_GetDeviceDescription *removed*
- BASS_RecordGetDeviceDescription *removed*
- BASS_INFO (driver member) *removed*
- BASS_RECORDINFO (driver member) *removed*
- MULTI example updated
-* Default device change tracking on Windows (as on OSX)
- BASS_Init
- BASS_RecordInit
-* Speaker detection from Windows control panel
- BASS_DEVICE_CPSPEAKERS (BASS_Init flag)
-* Channel automatically stopped & resumed for DX8 effects
- BASS_ChannelSetFX
- BASS_ChannelRemoveFX
-* "double" precision position conversion
- BASS_ChannelBytes2Seconds
- BASS_ChannelSeconds2Bytes
-* Separate config functions for pointers
- BASS_SetConfigPtr
- BASS_GetConfigPtr
- BASS_CONFIG_NET_AGENT/PROXY (BASS_SetConfigPtr options)
-* Configurable file format verification length
- BASS_CONFIG_VERIFY (BASS_SetConfig option)
-* Stream filename retrieval
- BASS_CHANNELINFO (file member)
-* Channel sample retrieval
- BASS_CHANNELINFO (sample member)
-* META syncs no longer receive metadata in the "data" parameter
- BASS_SYNC_META (BASS_ChannelSetSync type)
-* Separate sync for OGG logical bitstream changes (instead of BASS_SYNC_META)
- BASS_SYNC_OGG_CHANGE (BASS_ChannelSetSync type)
- NETRADIO example updated (C version)
-* Message syncing removed (use PostMessage instead)
- BASS_SYNC_MESSAGE (BASS_ChannelSetSync flag) *removed*
-* Data retrieval from stopped/paused channels
- BASS_ChannelGetData
-* Callback "user" parameters changed to pointers
- BASS_StreamCreate / STREAMPROC
- BASS_StreamCreateFileUser
- BASS_StreamCreateURL / DOWNLOADPROC
- BASS_RecordStart / RECORDPROC
- BASS_ChannelSetDSP / DSPPROC
- BASS_ChannelSetSync / SYNCPROC
-
-2.3.0.3 - 30/7/2007
--------------------
-* FX state resetting
- BASS_FXReset
-* PLS/M3U playlist URL processing
- BASS_CONFIG_NET_PLAYLIST
- NETRADIO example updated
-* Internet stream connection status retrieval
- BASS_FILEPOS_CONNECTED (BASS_StreamGetFilePosition mode)
-* Lyrics3v2 tags
- BASS_TAG_LYRICS3 (BASS_ChannelGetTags type)
-* IT virtual channel configuration
- BASS_CONFIG_MUSIC_VIRTUAL
-* Accurate speaker detection on Vista
- BASS_INFO (speakers member)
-* Device output/input rate retrieval on Vista
- BASS_INFO (freq member)
- BASS_RECORDINFO (freq member)
-* Syncing upon position changes
- BASS_SYNC_SETPOS (BASS_ChannelSetSync type)
-* Improved stall handling
- BASS_SYNC_STALL
-* Invalid decoding channel flags produce an error instead of being ignored
- BASS_StreamCreate/File/User/Url
- BASS_MusicLoad
-
-2.3.0.2 - 22/1/2007
--------------------
-* Retrieval of a sample's existing channel handles
- BASS_SampleGetChannels
-* 8192 sample FFT
- BASS_DATA_FFT8192 (BASS_ChannelGetData flag)
-* Adjustable recording buffer
- BASS_CONFIG_REC_BUFFER (BASS_SetConfig option)
-* Stopping decoding channels before the end
- BASS_ChannelStop
-* Sample channels created paused to prevent overriding before playback
- BASS_SampleGetChannel
-* Separate "MP3-FREE" version using Windows/OSX MP3 decoder
- BASS_CONFIG_MP3_CODEC *removed*
-
-2.3.0.1 - 12/6/2006
--------------------
-* Ability to move a channel to another device
- BASS_ChannelSetDevice
- MULTI example updated
-* Support for ID3v2.4 tags at end of file
- BASS_TAG_ID3V2 (BASS_ChannelGetTags type)
-
-2.3 - 21/5/2006
----------------
-* MOD message/instrument/sample text retrieval, merged with stream tag retrieval function
- BASS_ChannelGetTags
- BASS_TAG_MUSIC_NAME/MESSAGE/INST/SAMPLE (BASS_ChannelGetTags types)
- BASS_MusicGetName *removed*
- BASS_StreamGetTags *removed*
-* Plugin information retrieval
- BASS_PluginGetInfo
- BASS_PLUGININFO/FORM structures
- BASS_CHANNELINFO (plugin member)
- PLUGINS example updated
-* RIFF/WAVE "INFO" tag retrieval
- BASS_TAG_RIFF_INFO (BASS_StreamGetTags type)
-* More specific WAVE format information
- BASS_CTYPE_STREAM_WAV_PCM/FLOAT (channel types)
- BASS_CTYPE_STREAM_WAV (channel type flag)
-* Proxy server configuration
- BASS_CONFIG_NET_PROXY (BASS_SetConfig option)
- BASS_CONFIG_NET_NOPROXY *removed*
- NETRADIO example updated
-* Passive FTP mode
- BASS_CONFIG_NET_PASSIVE (BASS_SetConfig option)
-* Agent changes take immediate effect
- BASS_CONFIG_NET_AGENT (BASS_SetConfig option)
-* Minimum time gap between creating new sample channels
- BASS_SAMPLE (mingap member)
- BASS_SampleGetChannel
-* Support for Unicode plugin filenames
- BASS_PluginLoad
-* Device output/input rate retrieval (MacOSX only)
- BASS_INFO (freq member)
- BASS_RECORDINFO (freq member)
-* Extended version info (minor revision)
- BASS_GetVersion
-* Unsupported codec error code
- BASS_ERROR_CODEC
-* Optional use of the Windows MP3 codec
- BASS_CONFIG_MP3_CODEC (BASS_SetConfig option)
-* 3D support for MacOSX
- BASS_Set3DFactors
- BASS_Get3DFactors
- BASS_Set3DPosition
- BASS_Get3DPosition
- BASS_Apply3D
- BASS_ChannelSet3DAttributes
- BASS_ChannelGet3DAttributes
- BASS_ChannelSet3DPosition
- BASS_ChannelGet3DPosition
- 3DTEST example added (Win32 example also updated)
-* VB version of SYNTH example added
-
-2.2 - 2/10/2005
----------------
-* Add-on plugin system
- BASS_PluginLoad
- BASS_PluginFree
- BASS_StreamCreateFile/User/Url
- BASS_SampleLoad
- PLUGINS example added
-* MOD position & syncing in bytes
- BASS_ChannelSetPosition
- BASS_ChannelGetPosition
- BASS_MusicGetOrderPosition added for orders position
- BASS_SYNC_MUSICPOS added for orders syncing
- MAKEMUSICPOS macro/define
- CUSTLOOP example updated
-* Stream/MOD "length" functions combined (also works with samples), new MOD orders length function
- BASS_ChannelGetLength
- BASS_MusicGetOrders
- BASS_StreamGetLength *removed*
- BASS_MusicGetLength *removed*
-* Support for AIFF files
- BASS_StreamCreateFile/User/Url
- BASS_SampleLoad
-* Support for 24 and 32-bit (integer) WAV files
- BASS_StreamCreateFile/User/Url
- BASS_SampleLoad
-* WAV files are no longer converted to the "device" resolution
- BASS_StreamCreateFile/User/Url
-* Recording master control
- BASS_RecordGetInput
- BASS_RecordSetInput
-* Adjustable prebuffering
- BASS_ChannelPreBuf
-* Floating-point data retrieval
- BASS_DATA_FLOAT (BASS_ChannelGetData flag)
-* Support for floating-point samples
- BASS_SampleLoad
- BASS_SampleCreate
-* Multi-channel samples
- BASS_SampleLoad/Create
- BASS_SAMPLE (chans member)
-* Sample lengths given in bytes
- BASS_SampleCreate
- BASS_SAMPLE (length member)
-* MOD music 8-bit resolution option
- BASS_MusicLoad
-* OGG vendor tag retrieval
- BASS_TAG_VENDOR (BASS_StreamGetTags type)
-* Configurable "User-Agent" header for internet streams
- BASS_CONFIG_NET_AGENT (BASS_SetConfig option)
-* Shoutcast metadata is now requested automatically
- BASS_STREAM_META flag *removed*
-* Download callbacks receive all data from start of file/stream (including any non-audio data)
- DOWNLOADPROC
-* Length when streaming in blocks is unavailable (BASS_ERROR_NOTAVAIL, not just 0)
- BASS_ChannelGetLength
-* Support for growing custom file streams
- BASS_FILE_LEN (STREAMFILEPROC action)
-* Query file action removed
- BASS_FILE_QUERY *removed*
-* Recording channel syncing
- BASS_ChannelSetSync
-* Info structure "size" members removed
- BASS_INFO structure
- BASS_RECORDINFO structure
-* Little bit of flag reshuffling
- BASS_MP3_SETPOS renamed to BASS_STREAM_PRESCAN
- BASS_MUSIC_CALCLEN value changed and renamed to BASS_MUSIC_PRESCAN
- BASS_MUSIC_POSRESET value changed
-* Add-on API enhancements
-* MacOSX port introduced
-
-2.1 - 28/11/2004
-----------------
-* Improved "mixtime" sync system, allowing custom looping
- SYNCPROC
- CUSTLOOP example added
-* FX can now be in the DSP chain, so can be prioritized and applied in floating-point
- BASS_ChannelSetFX
- BASS_CONFIG_FLOATDSP (BASS_SetConfig option)
-* Ability to set channel flags (eg. looping) independent of playback
- BASS_ChannelSetFlags
- SPEAKERS example updated
-* Stream/MOD "play" and channel "resume" functions combined
- BASS_ChannelPlay
- BASS_StreamPlay *removed*
- BASS_MusicPlay *removed*
- BASS_MusicPlayEx *removed*
- BASS_ChannelResume *removed*
-* Stream/MOD prebuffering functions combined
- BASS_ChannelPreBuf
- BASS_StreamPreBuf *removed*
- BASS_MusicPreBuf *removed*
-* MOD attribute functions combined, with added BPM/speed/globalvolume options
- BASS_MusicSetAttribute
- BASS_MusicGetAttribute
- BASS_MUSIC_ATTRIB_AMPLIFY
- BASS_MUSIC_ATTRIB_PANSEP
- BASS_MUSIC_ATTRIB_PSCALER
- BASS_MUSIC_ATTRIB_BPM
- BASS_MUSIC_ATTRIB_SPEED
- BASS_MUSIC_ATTRIB_VOL_GLOBAL
- BASS_MUSIC_ATTRIB_VOL_CHAN
- BASS_MUSIC_ATTRIB_VOL_INST
- BASS_MusicSetAmplify *removed*
- BASS_MusicSetPanSep *removed*
- BASS_MusicSetPositionScaler *removed*
- BASS_MusicSetVolume *removed*
- BASS_MusicGetVolume *removed*
-* Flag to reset bpm/etc as well as notes when seeking in MOD musics
- BASS_MUSIC_POSRESETEX (BASS_MusicLoad & BASS_ChannelSetFlags flag)
-* More flexible and concise sample channel creation system
- BASS_SampleGetChannel
- BASS_SamplePlay *removed*
- BASS_SamplePlayEx *removed*
- BASS_SamplePlay3D *removed*
- BASS_SamplePlay3DEx *removed*
-* Support for up to 30 speakers
- BASS_SPEAKER_N macro/define
-* More precise level measurement
- BASS_ChannelGetLevel
-* Level can now be retrieved from decoding channels
- BASS_ChannelGetLevel
-* Retrieval of a sample/channel's original sample resolution
- BASS_SAMPLE (origres member)
- BASS_CHANNELINFO (origres member)
-* Support for streaming WAV files in "blocks"
- BASS_StreamCreateURL
- BASS_StreamCreateFileUser
-* Status info (HTTP/ICY tags) available during connection to server
- BASS_STREAM_STATUS (BASS_StreamCreateURL flag)
- DOWNLOADPROC
- NETRADIO example updated (Delphi version also added)
-* Adjustable internet stream prebuffering
- BASS_CONFIG_NET_PREBUF (BASS_SetConfig option)
-* Option to bypass proxy server
- BASS_CONFIG_NET_NOPROXY (BASS_SetConfig option)
-* Option whether to allow channels to be played after BASS_Pause
- BASS_CONFIG_PAUSE_NOPLAY (BASS_SetConfig option)
-* Recording channel count now a separate parameter
- BASS_RecordStart (chans parameter)
-* Synchronizer for when a channel is freed
- BASS_SYNC_FREE (BASS_ChannelSetSync type)
-* Data start file position retrieval
- BASS_FILEPOS_START (BASS_StreamGetFilePosition mode)
-* Performance improvements
- MP2 decoding ~20% faster
- MP3/MP1 decoding & FFT processing all up to 10% faster
- OGG decoding ~3% faster
-* C/C++ examples reorganised, with makefiles & VC++ projects
-* Add-on API enhancements
-* More DLL shrinkage :)
-
-2.0 - 31/10/2003
-----------------
-* Multiple output device support
- BASS_Init (device number changes)
- BASS_SetDevice
- BASS_GetDevice
- BASS_ChannelGetDevice
- MULTI example updated (VB version also added)
-* Multiple recording device support
- BASS_RecordSetDevice
- BASS_RecordGetDevice
- BASS_RecordStart
- BASS_ChannelGetDevice
- HRECORD handle
- RECORDPROC (handle parameter)
-* Recording with DSP/FX
- BASS_ChannelSetDSP
- BASS_ChannelSetFX
-* Recording position retrieval
- BASS_ChannelGetPosition
-* Start recording paused
- BASS_RECORD_PAUSE (BASS_RecordStart flag)
-* Multi-channel streams, inc. support for multichannel OGG & WAV files
- BASS_StreamCreate
- BASS_StreamCreateFile/User/Url
-* FFT for individual channels, inc. multi-channel streams
- BASS_DATA_FFT_INDIVIDUAL (BASS_ChannelGetData flag)
- BASS_DATA_FFT512S/1024S/2048S/4096S *removed*
-* DSP prioritizing
- BASS_ChannelSetDSP
- DSPTEST example updated
-* Seeking in internet streamed files
- BASS_ChannelSetPosition
-* Enhanced custom file stream systems
- BASS_StreamCreateFileUser
- BASS_FILE_SEEK (STREAMFILEPROC action)
- BASS_STREAM_FILEPROC flag *removed*
-* Enhanced custom stream system with automatic stalling/resuming
- STREAMPROC
- BASS_STREAMPROC_END (STREAMPROC flag)
-* Synchronizer for stalled/resumed playback
- BASS_SYNC_STALL (BASS_ChannelSetSync type)
-* Synchronizer for completed download
- BASS_SYNC_DOWNLOAD (BASS_ChannelSetSync type)
-* End sync support for custom streams
- BASS_SYNC_END (BASS_ChannelSetSync type)
-* Synchronizer support for decoding channels
- BASS_ChannelSetSync
-* Unified configuration function
- BASS_SetConfig
- BASS_GetConfig
- BASS_SetBufferLength *removed*
- BASS_SetNetConfig *removed*
- BASS_SetGlobalVolumes *removed*
- BASS_GetGlobalVolumes *removed*
- BASS_SetLogCurves *removed*
- BASS_Set3DAlgorithm *removed*
- BASS_DEVICE_FLOATDSP flag *removed*
-* Internet stream saving to disk replaced by more flexible callback
- BASS_StreamCreateURL
- DOWNLOADPROC
- VB NETRADIO example updated
-* Buffer length retrieval when "streaming in blocks"
- BASS_FILEPOS_END (BASS_StreamGetFilePosition mode)
-* Individual sample rate setting for MOD musics
- BASS_MusicLoad
-* Channel type and default sample rate retrieval
- BASS_ChannelGetInfo (replaces BASS_ChannelGetFlags)
- BASS_CHANNELINFO
-* MOD music flag retrieval
- BASS_CHANNELINFO (flags member)
-* Adjustable instrument volumes in MOD musics
- BASS_MusicSetVolume (replaces BASS_MusicSetChannelVol)
- BASS_MusicGetVolume (replaces BASS_MusicGetChannelVol)
-* Automatically free a MOD music when it stops or ends
- BASS_MUSIC_AUTOFREE (BASS_MusicLoad flag)
-* Class GUID added to initialization parameters
- BASS_Init
- BASS_SetCLSID *removed*
-* Update period adjustable at any time
- BASS_CONFIG_UPDATEPERIOD (BASS_SetConfig option)
- BASS_DEVICE_NOTHREAD flag *removed*
-* Customizable maximum volume setting
- BASS_CONFIG_MAXVOL (BASS_SetConfig option)
- BASS_DEVICE_VOL1000 flag *removed*
-* Device volume is now always left as it is during init/freeing
- BASS_DEVICE_LEAVEVOL flag *removed*
-* Device driver name retrieval
- BASS_INFO (driver member)
- BASS_RECORDINFO (driver member)
-* Error codes are local to the current thread
- BASS_ErrorGetCode
-* Performance improvements
- MP2 decoding 15-20% faster
- MP3 decoding ~5% faster
-* Built-in CD functions removed (replaced in BASSCD)
- BASS_CDDoor *removed*
- BASS_CDFree *removed*
- BASS_CDGetID *removed*
- BASS_CDGetTrackLength *removed*
- BASS_CDGetTracks *removed*
- BASS_CDInDrive *removed*
- BASS_CDInit *removed*
- BASS_CDPlay *removed*
-* Force channels to use software mixing
- BASS_SAMPLE_SOFTWARE (BASS_StreamCreate/File/User/URL & BASS_MusicLoad flag)
-* Support for high-pass filter and forward/reverse (S9E/F) IT/MPT effects
-* BASS_MUSIC flags rearranged to mirror BASS_SAMPLE/STREAM counterparts
-* Output automatically started during initialization
-* BASS_ChannelGetData once again accepts any "length" param
-* All function comments have been removed from the API headers to avoid
- outdated/incorrect information - the BASS.CHM documentation should be used.
-* TMT Pascal API removed from main distribution - now available on the website
-* A few more 'K' knocked off the DLL size :)
-
-1.8a - 18/6/2003
-----------------
-* Tweaks 'n' fixes, including...
- Fixed seeking bug on 32-bit OGG streams
- Fixed seeking on a decoding channel after it has reached the end
- Low FPU precision (eg. when using Direct3D) issue addressed
- Improved speakers (BASS_INFO) detection
- BASS_ChannelSeconds2Bytes return value is rounded down to nearest sample
- BASS_ChannelGetData "length" param must equal a whole number of samples
- Slide syncs are triggered by "-2" volume slides on "autofree" streams
-* Support for UNICODE filenames
- BASS_UNICODE (BASS_SampleLoad/BASS_StreamCreateFile/BASS_MusicLoad flag)
-* 4096 sample FFT
- BASS_DATA_FFT4096/S (BASS_ChannelGetData flags)
-* Another 'K' knocked off the DLL size
-
-1.8 - 9/3/2003
---------------
-* 32-bit floating-point channels
- BASS_SAMPLE_FLOAT (BASS_StreamCreate/URL/File flag)
- BASS_MUSIC_FLOAT (BASS_MusicLoad flag)
- BASS_SAMPLE_FLOAT (BASS_RecordStart flag)
- BASS_DEVICE_FLOATDSP (BASS_Init flag)
- DSPTEST example updated
-* Support for 32-bit floating-point (type 3) WAV files
- BASS_StreamCreateFile/URL
- BASS_SampleLoad
-* Channel speaker assignment
- BASS_SPEAKER_FRONT (BASS_MusicLoad/BASS_StreamCreate/File/URL flag)
- BASS_SPEAKER_REAR "
- BASS_SPEAKER_CENLFE "
- BASS_SPEAKER_REAR2 "
- BASS_SPEAKER_FRONTLEFT "
- BASS_SPEAKER_FRONTRIGHT "
- BASS_SPEAKER_REARLEFT "
- BASS_SPEAKER_REARRIGHT "
- BASS_SPEAKER_CENTER "
- BASS_SPEAKER_LFE "
- BASS_SPEAKER_REAR2LEFT "
- BASS_SPEAKER_REAR2RIGHT "
- BASS_INFO (speakers member)
- BASS_DEVICE_SPEAKERS (BASS_Init flag)
- 4SPEAKER example replaced by SPEAKERS example
-* Recording input type retrieval
- BASS_INPUT_TYPE_xxx (BASS_RecordGetInput)
- RECTEST example updated
-* Non-interpolated MOD mixing
- BASS_MUSIC_NONINTER (BASS_MusicLoad/PlayEx flag)
-* Performance improvements
- FFT up to 100% faster!
- MP3(MPEG2/2.5) decoding up to 60% faster
- MMX mixers 5-10% faster
- MP3(MPEG1)/MP2/MP1/OGG decoding all ~5% faster
-* Optional disabling of FFT windowing
- BASS_DATA_FFT_NOWINDOW (BASS_ChannelGetData flag)
-* BASS_ERROR_FILEFORM - error code to distinguish between file and sample format
- BASS_MusicLoad
- BASS_SampleLoad
- BASS_StreamCreate/File/URL
-* BASS_StreamGetFilePosition mode flags added
- BASS_FILEPOS_DECODE/DOWNLOAD/END
-* DirectX 9 detection
- BASS_INFO (dsver member)
-* Initialization flags retrieval
- BASS_INFO (initflags member)
-* Half-rate MP3 playback option removed
- BASS_MP3_HALFRATE flag *removed*
-* New internal "plugin" system - BASSWMA is further integrated as a result
-* Improved documentation - integrated with BASSWMA, search option added
-* VB version of DSPTEST example added
-* Delphi RECORDTEST example added
-* Guess what... reduced DLL size again :)
-
-1.7 - 27/10/2002
-----------------
-* New alternative DX8 (DMO) effects implementation
- BASS_StreamCreate/File/URL
- BASS_MusicLoad
- BASS_ChannelSetFX
- SYNTH example updated
-* User file streaming
- BASS_STREAM_FILEPROC (BASS_StreamCreate flag)
- STREAMFILEPROC
-* DSP & FX support for decoding channels
- BASS_ChannelSetDSP
- BASS_ChannelSetFX
-* Support for DX8 (DMO) effects in IT/XM/MO3 files
- BASS_MusicLoad
-* Support for chained OGG streaming (and syncing)
- BASS_StreamCreateURL
- BASS_SYNC_META (BASS_ChannelSetSync type)
-* Attribute (volume/frequency/pan) sliding
- BASS_ChannelSlideAttributes
- BASS_ChannelIsSliding
- BASS_SYNC_SLIDE (BASS_ChannelSetSync type)
-* Recording without a callback function
- BASS_RecordStart
- LIVEFX example added
-* Query a channel's buffered data
- BASS_DATA_AVAILABLE (BASS_ChannelGetData flag)
-* Discard data from the recording buffer
- BASS_ChannelGetData
-* Adjustable internet stream config (timeout/buffer lengths)
- BASS_SetNetConfig
-* Recommended minimum buffer length
- BASS_INFO (minbuf member)
-* MOD music flags adjustment without changing playback position
- BASS_MusicPlayEx
- PLAYER (MASM) example updated
-* More functions are now useable in MOD music "mixtime" syncs
- SYNCPROC
- BASS_ChannelSetPosition
- BASS_MusicPlayEx
- BASS_MusicSetAmplify
- BASS_MusicSetPanSep
-* Maximum buffer length increased to 5 seconds
- BASS_SetBufferLength
-* Support for extended filter range in IT files
- BASS_MusicLoad
-* Speedier MOD music file verification
- BASS_MusicLoad
-* Delphi 3DTEST example fixed
-* Magically reduced DLL size again :)
-
-1.6a - 25/8/2002
-----------------
-* OGG support updated to 1.0
-* Stereo FFT
- BASS_DATA_FFT512S/1024S/2048S (BASS_ChannelGetData flags)
-* Support for "Invert Loop" (EFx) MOD effect
-* Reduced DLL size
-* New Delphi examples
- WRITEWAV - WAVE writer example
- SAMPLEVIS - Visualisation example
-
-1.6 - 13/6/2002
----------------
-* 64-bit stream lengths and positions
- BASS_StreamGetLength
- BASS_ChannelBytes2Seconds
- BASS_ChannelSeconds2Bytes
- BASS_ChannelGetPosition
- BASS_ChannelSetPosition
- BASS_ChannelSetSync
-* Recording input selection
- BASS_RECORDINFO (inputs & singlein members)
- BASS_RecordGetInputName
- BASS_RecordGetInput
- BASS_RecordSetInput
-* Adjustable recording update period
- BASS_RecordStart
-* Load OGG files as samples
- BASS_SampleLoad
-* CD drive door opening & closing
- BASS_CDDoor
-* CDDB2 ID retrieval
- BASS_CDID_CDDB2 (BASS_CDGetID flag)
-* Streaming beyond initial file length
- BASS_StreamCreateFile
-* Recording position bytes<->seconds translation
- BASS_ChannelBytes2Seconds
- BASS_ChannelSeconds2Bytes
-* Improved multi-threaded support (play from any thread)
- BASS_MusicPlay/Ex
- BASS_SamplePlay/3D/Ex
- BASS_StreamPlay
- BASS_DEVICE_NOSYNC flag *removed*
-* Paused channel status
- BASS_ACTIVE_PAUSED (BASS_ChannelIsActive)
-* Integrated WMA stream freeing
- BASS_StreamFree
- BASS_Free
-* Pin-point accurate OGG seeking without BASS_MP3_SETPOS flag
-* Win2k DS buffer bug fix
-
-1.5a - 14/4/2002
-----------------
-* NT4 fix (also enables "nosound" device without DX installed)
- BASS_ERROR_DX error code
-* MOD music loading without the samples
- BASS_MUSIC_NOSAMPLE (BASS_MusicLoad flag)
-* Custom decoding channels
- BASS_STREAM_DECODE (BASS_StreamCreate flag)
-* 5 second HTTP connection timeout
- BASS_ERROR_TIMEOUT (BASS_StreamCreateURL error code)
-
-1.5 - 31/3/2002
----------------
-* Improved performance
- MMX mixers lot faster (over 50% faster in some cases!)
- OGG decoding 15-20% faster
- MP3 decoding 5-10% faster
-* Recording
- BASS_RecordGetDeviceDescription
- BASS_RecordInit
- BASS_RecordFree
- BASS_RecordGetInfo
- BASS_RecordStart
-* OGG support built-in (OGG/VORBIS DLLs not required)
- BASS_DEVICE_OGG flag *removed*
-* MOD music seeking in seconds
- BASS_MusicPlayEx
- BASS_ChannelSetPosition
-* Shoutcast metadata retrieval
- BASS_STREAM_META (BASS_StreamCreateURL flag)
- BASS_TAG_META (BASS_StreamGetTags type)
- BASS_SYNC_META (BASS_ChannelSetSync type)
-* 1000 volume levels
- BASS_DEVICE_VOL1000 (BASS_Init/CDInit flag)
-* CDDB ID retrieval
- BASS_CDID_CDDB (BASS_CDGetID flag)
-* Leave the CD volume as it is during init/closing
- BASS_DEVICE_LEAVEVOL (BASS_CDInit flag)
-* FFT enabled on decoding channels
- BASS_ChannelGetData
-* Left level duplicated on right for mono channels
- BASS_ChannelGetLevel
-* Improved MPEG length estimation without BASS_MP3_SETPOS flag
- BASS_StreamGetLength
-* Support for Modplug/ADPCM compressed files
- BASS_MusicLoad
-* Device description function parameter change
- BASS_GetDeviceDescription
-* MASM API
-
-1.4 - 30/1/2002
----------------
-* Channel decoding without playback
- BASS_MUSIC_DECODE (BASS_MusicLoad flag)
- BASS_STREAM_DECODE (BASS_StreamCreateFile/URL flag)
- BASS_ChannelGetData
-* Windows message sync callbacks
- BASS_SYNC_MESSAGE (BASS_ChannelSetSync flag)
-* Adjustable channel volumes in MOD musics
- BASS_MusicSetChannelVol
- BASS_MusicGetChannelVol
-* Customizable DirectSound initialization object
- BASS_SetCLSID
-* Retrieve HMUSIC/HSTREAM/HCHANNEL IDirectSoundBuffer interfaces
- BASS_GetDSoundObject
-* A3D functions removed (use BASS_SetCLSID/BASS_GetDSoundObject to access A3D)
- BASS_DEVICE_A3D (BASS_Init flag)
- BASS_SetA3DResManager
- BASS_GetA3DResManager
- BASS_SetA3DHFAbsorbtion
- BASS_GetA3DHFAbsorbtion
-* Callback functions now work in VB6
- DSPPROC
- STREAMPROC
- SYNCPROC
-* Improved PCM WAVE streaming performance
- BASS_StreamCreateFile
- BASS_StreamCreateURL
-* OGG modules updated to RC3
-* Stereo sample support in MO3 format
-* MO3 encoder now distributed separately from BASS
-
-1.3 - 17/11/2001
-----------------
-* Manual buffer updating
- BASS_DEVICE_NOTHREAD (BASS_Init flag)
- BASS_Update
-* Adjustable buffer update period (allows small buffer sizes)
- BASS_Init
-* Output device latency retrieval
- BASS_INFO (latency member)
-* MPEG/OGG seeking without BASS_MP3_SETPOS flag
- BASS_ChannelSetPosition
-* Internet file streaming from offsets
- BASS_StreamCreateURL
-* File stream tag/comment retrieval (ID3/ID3v2/OGG/HTTP/ICY tags)
- BASS_StreamGetTags
-* Byte<->time position translation
- BASS_ChannelBytes2Seconds
- BASS_ChannelSeconds2Bytes
-* UMX (Unreal/Tournament music package) format support
- BASS_MusicLoad
-* S3M/IT sync fx changed to S2x (S0x conflicted with S00)
- BASS_SYNC_MUSICFX
-* Stereo sample support in IT/XM/S3M formats
-* MO3: OGG compression supported
-
-1.2 - 25/9/2001
----------------
-* OGG (Ogg Vorbis) stream support
- BASS_DEVICE_OGG (BASS_Init flag)
- BASS_StreamCreateFile
- BASS_StreamCreateURL
-* Channel linking (start/stop/pause/resume channels together)
- BASS_ChannelSetLink
- BASS_ChannelRemoveLink
-* MOD music playback length calculation
- BASS_MUSIC_CALCLEN (BASS_MusicLoad flag)
- BASS_MusicGetLength
-* Pre-buffering
- BASS_MusicPreBuf
- BASS_StreamPreBuf
-* Samples with single simultaneous playbacks have same HSAMPLE/HCHANNEL handle
- BASS_SamplePlay/Ex
-* Stopping a custom stream flushes its buffer contents
- BASS_ChannelStop
-
-1.1a - 31/8/2001
-----------------
-* NT4 bug fixed
-* XM Wxx effect syncing
- BASS_SYNC_MUSICFX
-* MP3/2/1 rewinding without BASS_MP3_SETPOS
- BASS_ChannelSetPosition
-
-1.1 - 11/8/2001
----------------
-* DX8 (DMO) effects
- BASS_SAMPLE_FX (BASS_StreamCreate/File/URL flag)
- BASS_MUSIC_FX (BASS_MusicLoad flag)
- BASS_ChannelSetFX
- BASS_ChannelRemoveFX
- BASS_FXSetParameters
- BASS_FXGetParameters
- BASS_FXCHORUS structure
- BASS_FXCOMPRESSOR structure
- BASS_FXDISTORTION structure
- BASS_FXECHO structure
- BASS_FXFLANGER structure
- BASS_FXGARGLE structure
- BASS_FXI3DL2REVERB structure
- BASS_FXPARAMEQ structure
- BASS_FXREVERB structure
-* Internet file streaming in blocks (inc. Shoutcast/Icecast stream support)
- BASS_STREAM_BLOCK (BASS_StreamCreateURL flag)
-* 512/1024/2048 sample FFT
- BASS_DATA_FFT512/1024/2048 (BASS_ChannelGetData flags)
-* CD identification
- BASS_CDGetID
-* Improved DX version detection
- BASS_INFO (dsver member)
-
-1.0 - 20/6/2001
----------------
-* Load MP3/MP2/MP1 files as samples
- BASS_SampleLoad
-* Internet file streaming from FTP servers
- BASS_StreamCreateURL
-* Save a local copy of internet file streams
- BASS_StreamCreateURL
-* Sample accurate file stream seeking
- BASS_ChannelSetPosition
- BASS_StreamGetBlockLength *removed*
-* Stream position synchronizer
- BASS_SYNC_POS
-* Increased synchronizer precision
-* Improved MPEG file detection and error detection
-* Stop MOD musics on a backwards jump effect
- BASS_MUSIC_STOPBACK (BASS_MusicLoad/PlayEx flag)
-* Leave the volume as it is during closing (as well as initialization)
- BASS_DEVICE_LEAVEVOL (BASS_Init flag)
-* Optional automatic use of foreground window handle during initialization
- BASS_Init
-* Reduced DLL size
-* VB API fixes
-
-0.9 - 18/4/2001
----------------
-* Internet file streaming
- BASS_StreamCreateURL
-* MP1 & MP2 (MPEG layer 1 & 2) support
- BASS_StreamCreateFile/URL
-* MPEG 2.5 support (12000/11025/8000hz sample rates)
- BASS_StreamCreateFile/URL
-* Decoding/download/end file stream position retrieval
- BASS_StreamGetFilePosition
-* XMPlay surround sound for MOD musics
- BASS_MUSIC_SURROUND (BASS_MusicLoad/PlayEx flag)
- BASS_MUSIC_SURROUND2 (BASS_MusicLoad/PlayEx flag)
-* Restrict the download rate of internet file streams
- BASS_STREAM_RESTRATE (BASS_StreamCreateURL flag)
-* Check if an internet file stream is stalled
- BASS_ChannelIsActive
-* Automatically free a stream when it stops or ends
- BASS_STREAM_AUTOFREE (BASS_StreamCreate/File/URL flag)
-* Leave the volume as it is during initialization
- BASS_DEVICE_LEAVEVOL (BASS_Init flag)
-* Number of CD tracks retrieval
- BASS_CDGetTracks
-* CD track length retrieval
- BASS_CDGetTrackLength
-* Exact stream length set after whole file is streamed
- BASS_StreamGetLength
-* TMT Pascal API and samples
-* Dynamic-loading Delphi API
-
-0.8a - 28/2/2000
-----------------
-* Updated Delphi API and samples
-
-0.8 - 24/1/2000
----------------
-* Improved MP3 performance on P2/K6 and above CPUs - fast!
-* User DSP functions on streams and MOD musics
- BASS_ChannelSetDSP
- BASS_ChannelRemoveDSP
-* DX7 voice allocation & management
- BASS_SAMPLE_VAM (BASS_SampleLoad/Create flag)
- BASS_VAM_xxx flags
- BASS_SAMPLE (vam & priority members)
-* DX7 software 3D algorithm selection
- BASS_Set3DAlgorithm
-* DirectSound interface retrieval
- BASS_GetDSoundObject
-* Log/linear volume & panning curves
- BASS_SetLogCurves
-* User data passed to callback functions
- STREAMPROC - BASS_StreamCreate
- SYNCPROC - BASS_ChannelSetSync
-* New synchronizer
- BASS_SYNC_MUSICFX
-* New synchronizer flag
- BASS_SYNC_MIXTIME
-* Disable synchronizers option - saves a little CPU time
- BASS_DEVICE_NOSYNC (BASS_Init flag)
-* Hi-res floating-point CPU usage monitoring
- BASS_GetCPU
-* Wait for playback to start when playing a CD
- BASS_CDPlay
-* DirectSound (dsound.dll) version retrieval
- BASS_INFO (dsver member)
-* Removed volume sliding functions (they were fairly pointless)
- BASS_SlideVolume
- BASS_IsSliding
-* MO3: read/write encoder settings
-* MO3: remove inst/samp/message texts now optional
-* MO3: LAME encoder settings
-
-0.7 - 3/10/1999
----------------
-* MO3 (MP3 compressed MODs)
-* A3D functions
- BASS_DEVICE_A3D (BASS_Init flag)
- BASS_INFO (a3d member)
- BASS_SetA3DResManager
- BASS_GetA3DResManager
- BASS_SetA3DHFAbsorbtion
- BASS_GetA3DHFAbsorbtion
-* Music/stream immediate sample data retrieval
- BASS_ChannelGetData
-* File stream (WAV/MP3) length retrieval
- BASS_StreamGetLength
- BASS_StreamGetBlockLength
-* File stream seeking
- BASS_ChannelSetPosition
-* Mono MP3 option (lower CPU usage)
- BASS_StreamCreateFile
-* Music length retrieval
- BASS_MusicGetLength
-* Music name retrieval
- BASS_MusicGetName
-* Stop notes when moving MOD music position
- BASS_MUSIC_POSRESET (BASS_MusicLoad/BASS_MusicPlayEx flag)
-* BASS_ERROR_FREQ - invalid sample rate error code
- BASS_SampleCreate
- BASS_SamplePlayEx
- BASS_SamplePlay3DEx
- BASS_StreamCreate
- BASS_ChannelSetAttributes
-* Delphi and VB APIs
-
-0.6a - 26/7/1999
-----------------
-* Half rate MP3 option (lower CPU usage)
- BASS_MP3_HALFRATE
-* Loading/streaming from file offsets
- BASS_MusicLoad
- BASS_SampleLoad
- BASS_StreamCreateFile
-* Global music/sample/stream volume levels
- BASS_SetGlobalVolumes
- BASS_GetGlobalVolumes
-* Other new function
- BASS_SampleStop
-* New synchronizer
- BASS_SYNC_END
-* New sample overrider
- BASS_SAMPLE_OVER_DIST
-* LoadLibrary/GetProcAddress instructions and example
-
-0.5 - 4/7/1999
---------------
-* Documentation!
-* File streaming (MP3 and WAV)
- BASS_StreamCreateFile
-* Custom generated samples
- BASS_SampleCreate
- BASS_SampleCreateDone
-* Other new function
- BASS_MusicSetPositionScaler
-* Renamed function
- BASS_ChannelClearSync -> BASS_ChannelRemoveSync
-* Alterations made to
- BASS_ChannelGetPosition
- BASS_SampleLoad
- BASS_StreamPlay
-
-0.4 - 30/3/1999
----------------
-* Compressed WAV samples support (using audio CODECs)
-* Updated CD volume handling - now works with SB Live
-* More linear channel volume/pan scales (were slightly off before)
-* "no sound" device option
-* 3D sound functions
- BASS_Set3DFactors
- BASS_Get3DFactors
- BASS_Set3DPosition
- BASS_Get3DPosition
- BASS_Apply3D
- BASS_SamplePlay3D
- BASS_SamplePlay3DEx
- BASS_ChannelSet3DAttributes
- BASS_ChannelGet3DAttributes
- BASS_ChannelSet3DPosition
- BASS_ChannelGet3DPosition
-* EAX functions
- BASS_SetEAXParameters
- BASS_GetEAXParameters
- BASS_ChannelSetEAXMix
- BASS_ChannelGetEAXMix
-* Other new functions
- BASS_GetDeviceDescription
- BASS_SetBufferLen
- BASS_ChannelGetFlags
- BASS_ChannelPause
- BASS_ChannelResume
- BASS_ChannelSetPosition
-* Replaced function
- BASS_CDResume -> BASS_ChannelResume
-* Alterations made to
- BASS_Init
- BASS_CDInit
- BASS_SampleLoad
- BASS_StreamPlay
- BASS_INFO structure
- BASS_SAMPLE structure
- BASS_DEVICE_xxx flags
- BASS_SAMPLE_xxx flags
-
-0.3 - 8/3/1999
---------------
-* Synchronization functions
- BASS_ChannelSetSync
- BASS_ChannelClearSync
-* Other new functions
- BASS_GetVersion
- BASS_ChannelGetPosition
- BASS_ChannelGetLevel
- BASS_ChannelGetAttributes
- BASS_ChannelSetAttributes
-* Replaced functions
- BASS_MusicStop -> BASS_ChannelStop
- BASS_MusicSetVolume -> BASS_ChannelSetAttributes
- BASS_CDStop -> BASS_ChannelStop
- BASS_CDSetVolume -> BASS_ChannelSetAttributes
- BASS_CDGetVolume -> BASS_ChannelGetAttributes
- BASS_ChannelUpdate -> BASS_ChannelSetAttributes
-* Alterations made to
- BASS_MusicPlayEx
- BASS_StreamPlay
- BASS_INFO structure
-
-0.2 - 28/2/1999
----------------
-* First public release
-
-
-Credits
-=======
-Ogg Vorbis decoding is based on libogg/vorbis,
-Copyright (c) 2002-2004 Xiph.org Foundation
-
-CHMOX is (c) 2004 Stéphane Boisson, http://chmox.sourceforge.net/
-
-API/Sample contributors
------------------------
-Visual Basic: Adam Hoult, Hendrik Knaepen, Arthur Aminov,
- Peter Hebels
-Delphi: Titus Miloi, Rogier Timmermans, Alessandro Cappellozza,
- Jesse Naranjo, Chris Troesken
-MASM: Octavian Chis
-
-
-Bug reports, Suggestions, Comments, Enquiries, etc...
-=====================================================
-If you have any of the aforementioned please visit the BASS forum at
-the website. If you can't find an answer there, you can also email:
-
- bass@un4seen.com
-
+BASS 2.4 +Copyright (c) 1999-2008 Un4seen Developments Ltd. All rights reserved. + +Files that you should have found in the BASS package +==================================================== +Win32 version +------------- +BASS.TXT This file +BASS.DLL The BASS module +BASS.CHM BASS documentation +MP3-FREE + BASS.DLL BASS module using the Windows MP3 decoder +C\ C/C++ API and examples... + BASS.H BASS C/C++ header file + BASS.LIB BASS import library + BASS.DSW Visual C++ workspace for examples + MAKEFILE Makefile for all examples + MAKEFILE.IN Makefile helper macros + 3DTEST\ 3D/EAX example + 3DTEST.C + 3DTEST.RC + 3DTEST.DSP + MAKEFILE + BASSTEST\ Simple playback example + BASSTEST.C + BASSTEST.RC + BASSTEST.DSP + MAKEFILE + CONTEST\ Console example + CONTEST.C + CONTEST.DSP + MAKEFILE + CUSTLOOP\ Custom looping example + CUSTLOOP.C + CUSTLOOP.DSP + MAKEFILE + DSPTEST\ DSP example + DSPTEST.C + DSPTEST.RC + DSPTEST.DSP + MAKEFILE + FXTEST\ DX8 effect example + FXTEST.C + FXTEST.RC + FXTEST.DSP + MAKEFILE + LIVEFX\ Full-duplex example + LIVEFX.C + LIVEFX.RC + LIVEFX.DSP + MAKEFILE + LIVESPEC\ "Live" version of spectrum analyser example + LIVESPEC.C + LIVESPEC.DSP + MAKEFILE + MULTI\ Multiple device example + MULTI.C + MULTI.RC + MULTI.DSP + MAKEFILE + NETRADIO\ Internet streaming example + NETRADIO.C + NETRADIO.RC + NETRADIO.DSP + MAKEFILE + PLUGINS\ Plugins example + PLUGINS.C + PLUGINS.RC + PLUGINS.DSP + MAKEFILE + RECTEST\ Recording example + RECTEST.C + RECTEST.RC + RECTEST.DSP + MAKEFILE + SPEAKERS\ Multi-speaker example + SPEAKERS.C + SPEAKERS.RC + SPEAKERS.DSP + MAKEFILE + SPECTRUM\ Spectrum analyser example + SPECTRUM.C + SPECTRUM.DSP + MAKEFILE + SYNTH\ Synth example + SYNTH.C + SYNTH.DSP + MAKEFILE + WRITEWAV\ WAVE writer example + WRITEWAV.C + WRITEWAV.DSP + MAKEFILE + BIN\ Precompiled examples + 3DTEST.EXE + BASSTEST.EXE + CONTEST.EXE + CUSTLOOP.EXE + DSPTEST.EXE + FXTEST.EXE + LIVEFX.EXE + LIVESPEC.EXE + MULTI.EXE + NETRADIO.EXE + RECTEST.EXE + SPEAKERS.EXE + SPECTRUM.EXE + SYNTH.EXE + WRITEWAV.EXE +VB\ Visual Basic API and examples... + BASS.BAS BASS Visual Basic module + 3DTEST\ 3D/EAX example + PRJ3DTEST.VBP + PRJ3DTEST.FRM + PRJDEVICE.FRM + BASSTEST\ Simple playback example + PRJBASSTEST.VBP + FRMBASSTEST.FRM + CUSTLOOP\ Custom looping example + PRJCUSTLOOP.VBP + FRMCUSTLOOP.FRM + MODCUSTLOOP.BAS + DSPTEST\ DSP example + PRJDSPTEST.VBP + FRMDSPTEST.FRM + MODDSPTEST.BAS + FXTEST\ DX8 effect example + PRJFXTEST.VBP + FRMFXTEST.FRM + LIVEFX\ Full-duplex example + PRJLIVEFX.VBP + FRMLIVEFX.FRM + MODLIVEFX.BAS + LIVESPEC\ "Live" version of spectrum analyser example + PRJLIVESPEC.VBP + FRMLIVESPEC.FRM + MODLIVESPEC.BAS + MULTI\ Multiple device example + PRJMULTI.VBP + PRJMULTI.FRM + PRJDEVICE.FRM + NETRADIO\ Internet streaming example + PRJNETRADIO.VBP + FRMNETRADIO.FRM + MODNETRADIO.BAS + CLSFILEIO.CLS + PLUGINS\ Plugins example + PRJPLUGINS.VBP + FRMPLUGINS.FRM + RECTEST\ Recording example + PRJRECTEST.VBP + FRMRECTEST.FRM + MODRECTEST.BAS + SPEAKERS\ Multi-speaker example + PRJSPEAKERS.VBP + FRMSPEAKERS.FRM + SPECTRUM\ Spectrum analyser example + PRJSPECTRUM.VBP + FRMSPECTRUM.FRM + MODSPECTRUM.BAS + SYNTH\ Synth example + PRJSYNTH.VBP + FRMSYNTH.FRM + MODSYNTH.BAS + WRITEWAV\ WAVE writer example + PRJWRITEWAVE.VBP + PRJWRITEWAVE.FRM + MEMORY\ Playing from memory example by Jobnik + PRJMEMORY.VBP + FRMMEMORY.FRM + SYNCTEST.BAS + CBASS_TIME.CLS +DELPHI\ Delphi API and examples... + BASS.PAS BASS Delphi unit + 3DTEST\ 3D/EAX example + D3TEST.DPR + DTMAIN.PAS + DTMAIN.DFM + DTSELECT.PAS + DTSELECT.DFM + BASSTEST\ Simple playback example + BASSTEST.DPR + BTMAIN.PAS + BTMAIN.DFM + CONTEST\ Console example + CONTEST.DPR + CUSTLOOP\ Custom looping example + CUSTLOOP.DPR + UNIT1.PAS + UNIT1.DFM + DSPTEST\ DSP example + DSPTEST.DPR + DTMAIN.PAS + DTMAIN.DFM + FXTEST\ DX8 effect example + FXTEST.DPR + TEST.PAS + TEST.DFM + LIVEFX\ Full-duplex example + LIVEFX.DPR + UNIT1.PAS + UNIT1.DFM + MULTI\ Multiple device example + MULTI.DPR + UNIT1.PAS + UNIT1.DFM + UNIT2.PAS + UNIT2.DFM + NETRADIO\ Internet streaming example + NETRADIO.DPR + UNIT1.PAS + UNIT1.DFM + PLUGINS\ Plugins example + PLUGINS.DPR + UNIT1.PAS + UNIT1.DFM + RECORDTEST\ Recording example + RECORDTEST.DPR + UNIT1.PAS + UNIT1.DFM + SAMPLEVIS\ Visualisation example + SAMPLEVIS.DPR + MAIN.PAS + MAIN.DFM + SPECTRUM_VIS.PAS + CIRCLE_VIS.PAS + OSC_VIS.PAS + COMMONTYPES.PAS + SPEAKERS\ Multi-speaker example + SPEAKERS.DPR + UNIT1.PAS + UNIT1.DFM + STREAMTEST\ User stream example + STREAMTEST.DPR + STMAIN.PAS + STMAIN.DFM + WRITEWAV\ WAVE writer example + WRITEWAV.DPR + UNITMAIN.PAS + UNITMAIN.DFM + DYNAMIC\ Dynamic-loading Delphi API + DYNAMIC_BASS.PAS Dynamic-loading Delphi unit +MASM\ MASM API and examples... + BASS.INC BASS MASM include file + PLAYER\ Example MOD player + PLAYER.EXE + PLAYER.ASM + RSRC.RC + TOOLBAR.BMP + COMPILE.BAT + +NOTE: To run the example EXEs, first you will have to copy BASS.DLL into the + same directory as them. + +NOTE: To avoid unnecessary bloatage, the BASS DLLs are not digitally signed. + Signed versions are available on request (email: bass@un4seen.com). + +MacOSX version +-------------- +BASS.TXT This file +LIBBASS.DYLIB The BASS module +BASS.CHM BASS documentation +CHMOX.APP CHM file viewer +BASS.H BASS C/C++ header file +MAKEFILE Makefile for all examples +MAKEFILE.IN Makefile helper macros +MP3-FREE + LIBBASS.DYLIB BASS module using the OSX MP3 decoder +3DTEST\ 3D example + 3DTEST.C + MAKEFILE + 3DTEST.NIB +BASSTEST\ Simple playback example + BASSTEST.C + MAKEFILE + BASSTEST.NIB +CONTEST\ Console example + CONTEST.C + MAKEFILE +CUSTLOOP\ Custom looping example + CUSTLOOP.C + MAKEFILE +DSPTEST\ DSP example + DSPTEST.C + DSPTEST.RC + MAKEFILE + DSPTEST.NIB +LIVESPEC\ "Live" version of spectrum analyser example + LIVESPEC.C + MAKEFILE +MULTI\ Multiple device example + MULTI.C + MAKEFILE + MULTI.NIB +NETRADIO\ Internet streaming example + NETRADIO.C + MAKEFILE + NETRADIO.NIB +PLUGINS\ Plugins example + PLUGINS.C + MAKEFILE + PLUGINS.NIB +RECTEST\ Recording example + RECTEST.C + MAKEFILE + RECTEST.NIB +SPEAKERS\ Multi-speaker example + SPEAKERS.C + MAKEFILE + SPEAKERS.NIB +SPECTRUM\ Spectrum analyser example + SPECTRUM.C + MAKEFILE +WRITEWAV\ WAVE writer example + WRITEWAV.C + MAKEFILE + + +What's the point? +================= +BASS is an audio library for use in Windows and MacOSX software. Its +purpose is to provide the most powerful and efficient (yet easy to use), +sample, stream, MOD music, and recording functions. All in a tiny DLL, +under 100KB in size. + +See the documentation for descriptions of all the BASS functions. You +should also look at the included example program source-codes for some +examples of how to use BASS in your own programs. + + +Requirements +============ +Win32 version +------------- +BASS requires DirectX 3 or above for output. BASS does not require that a +soundcard with DirectSound/DirectSound3D hardware accelerated drivers is +installed, but it does improve performance if there is one. BASS also takes +advantage of MMX, which improves the performance of the MOD music playback. + +MacOSX version +-------------- +OSX 10.3 or above is recommended. BASS uses CoreAudio for output, so there +are no special library/driver requirements. BASS supports both PowerPC and +Intel Macs. + + +Main Features +============= +* Samples + supports WAV/AIFF/MP3/MP2/MP1/OGG and custom generated samples + +* Sample streams + stream any sample data in 8/16/32 bit, with both "push" and "pull" systems + +* File streams + MP3/MP2/MP1/OGG/WAV/AIFF file streaming + +* Internet file streaming + stream files from the internet, including Shout/Icecast + +* User file streaming + stream files from anywhere using any delivery method + +* Multi-channel streaming + support for more than plain stereo, including multi-channel OGG/WAV/AIFF files + +* MOD music + uses the same engine as XMPlay = best accuracy, speed, and quality + +* MO3 music + MP3/OGG compressed MOD music + +* Add-on system + support for more formats is available via add-ons (aka plugins) + +* Multiple outputs + simultaneously use multiple soundcards, and move channels between them + +* Recording + flexible recording system, with support for multiple devices + +* Decode without playback + streams and MOD musics can be outputted in any way you want + +* Speaker assignment + assign streams and MOD musics to specific speakers + +* High precision synchronization + synchronize events in your software to the streams and MOD musics + +* DirectX 8 effects + chorus/compressor/distortion/echo/flanger/gargle/parameq/reverb + +* User defined DSP functions + custom effects may be applied to musics and streams + +* 32 bit floating-point decoding and processing + floating-point stream/music decoding, DSP, FX, and recording + +* 3D sound + play samples/streams/musics in any 3D position, with EAX support + +* Small + BASS is under 100KB (on Windows), so won't bloat your distribution + + +Using BASS +========== +There is no guarantee that all future BASS versions will be compatible +with all previous versions, so your program should use BASS_GetVersion +to check the version that is loaded. This also means that you should +put the BASS module in the same directory as your executable (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 BASS version, then +you should check the "History" section (below), to see if any of the +functions that you are using have been affected by a change. + +Win32 version +------------- +C/C++, Visual Basic, Delphi and MASM APIs are provided, to use BASS with +another language you'll first have to convert the header file. Or, as a +last resort, you could use LoadLibrary and GetProcAddress. + +The downside is that you have to manually import each function that you +use, with the GetProcAddress function. But it has been made a lot simpler +to import BASS this way by the use of the BASSDEF #define. Here's a small +example: + +#define BASSDEF(f) (WINAPI *f) // define the functions as pointers +#include "bass.h" +... +HINSTANCE bass=LoadLibrary("BASS.DLL"); // load BASS +BASS_Init=GetProcAddress(bass,"BASS_Init"); // get BASS_Init +BASS_Init(-1,44100,0,hWnd,NULL); // call BASS_Init + +To use BASS 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 BASSBCB.LIB BASS.DLL + +... and then use BASSBCB.LIB in your projects to import BASS. + +To use BASS with LCC-Win32, you'll first have to create a compatible +import library for it. This is done by using the PEDUMP and BUILDLIB +tools that come with LCC-Win32. Run these 2 commands: + + PEDUMP /EXP BASS.LIB > BASSLCC.EXP + BUILDLIB BASSLCC.EXP BASSLCC.LIB + +... and then use BASSLCC.LIB in your projects to import BASS. + +For the BASS functions that return strings (char*), VB users should use +the VBStrFromAnsiPtr function to convert the returned pointer into a VB +string. + +MacOSX version +-------------- +A separate "LIB" file is not required for OSX. Using XCode, you can simply +add the DYLIB file to the project. Or using a makefile, you can build your +programs like this, for example: + + gcc yoursource -L. -lbass -o yourprog + +The LIBBASS.DYLIB file must be put in the same directory as the executable +(it can't just be somewhere in the path). See the example makefiles. + +LIBBASS.DYLIB is a universal binary, with support for both PowerPC and +Intel Macs. If you want PowerPC-only or Intel-only versions, the included +makefile can create them for you, by typing "make ppc" or "make i386". It +will also process any BASS add-ons placed in the same directory. + + +Latest Version +============== +The latest version of BASS can always be found at the BASS website: + + www.un4seen.com + + +Licence +======= +BASS is free for non-commercial use. If you are a non-commercial entity +(eg. an individual) and you are not charging for your product, and the +product has no other commercial purpose, then you can use BASS in it +for free. If you wish to use BASS in commercial products, then please +also see the next section. + +TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, BASS 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 AUTHORS SHALL NOT BE HELD +LIABLE FOR ANY DAMAGE THAT MAY RESULT FROM THE USE OF BASS. YOU USE +BASS ENTIRELY AT YOUR OWN RISK. + +Usage of BASS indicates that you agree to the above conditions. + +All trademarks and other registered names contained in the BASS +package are the property of their respective owners. + +Commercial licensing +-------------------- +BASS is available for use in your commercial products. The licence +types available are as follows: + +SHAREWARE: Allows the usage of BASS in an unlimited number of your +shareware products, which must sell for no more than 40 Euros each. +If you are an individual (not a corporation) making and selling your +own software (and its price is within the limit), this is the licence +for you. + +SINGLE COMMERCIAL: Allows the usage of BASS in a single commercial +product. + +UNLIMITED COMMERCIAL: Allows the usage of BASS in an unlimited number +of your commercial products. This licence is on a per site basis. So +if your company has two sites that use BASS, then two licences are +required. + +Please note the products must be end-user products, eg. not components +used by other products. + +These licences only cover your own software, not the publishing of +other's software. If you publish other's software, its developers (or +the software itself) will need to be licensed to use BASS. + +These licences are on a per-platform basis, with reductions available +when licensing for both platforms. In all cases there are no royalties +to pay, and you can use future BASS updates without further cost. One +licence covers one person or entity and is not transferable. + +These licences do not allow reselling/sublicensing of BASS. For example, +if a product is a development system, the users of said product are not +licensed to use BASS in their productions; they will need their own +licences. + +If the standard licences do not meet your requirements, or if you have +any questions, please get in touch (email: bass@un4seen.com). + +Visit the BASS website for the latest pricing: + + www.un4seen.com + +MP3 +--- +MP3 technology is patented, and Thomson license the use of their and +Fraunhofer's patents. The inclusion of an MP3 decoder (eg. BASS) in a +commercial product requires an MP3 patent licence. Contact Thomson for +details: + + www.mp3licensing.com + +Alternatively, the "MP3-FREE" BASS version does not include its own MP3 +decoder but instead makes use of the operating system's already licensed +decoder. + +NOTE: When using the OS's MP3 decoder, BASS still does the file handling + so all the usual features are still supported, including streaming, + tag reading, pre-scanning, gapless playback, etc... + + +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 BASS interface are listed. + +2.4 - 2/4/2008 +-------------- +* "Push" streaming + STREAMPROC_PUSH (BASS_StreamCreate "proc") + BASS_StreamPutData + LIVEFX and MULTI examples updated +* "Push" buffered file streaming + STREAMFILE_BUFFERPUSH (BASS_StreamCreateFileUser system) + BASS_StreamPutFileData +* STREAMFILEPROC replaced by table of callbacks for each file operation + BASS_FILEPROCS (FILECLOSEPROC/FILELENPROC/FILEREADPROC/FILESEEKPROC) + STREAMFILEPROC *removed* +* 64-bit file positioning + BASS_SampleLoad + BASS_MusicLoad + BASS_StreamCreateFile + BASS_StreamGetFilePosition +* File buffer level retrieval + BASS_FILEPOS_BUFFER (BASS_StreamGetFilePosition mode) +* Sinc interpolated MOD music mixing + BASS_MUSIC_SINCINTER (BASS_MusicLoad flag) +* MO3 v2.4 support + BASS_MusicLoad +* MOD orders positioning incorporated into channel functions + BASS_ChannelGetLength + BASS_ChannelSetPosition + BASS_ChannelGetPosition + BASS_MusicGetOrderPosition *removed* + BASS_MusicGetOrders *removed* +* Channel attribute functions consolidated + BASS_ChannelSetAttribute + BASS_ChannelGetAttribute + BASS_ChannelSlideAttribute + BASS_ChannelIsSliding + BASS_ChannelSetAttributes *removed* + BASS_ChannelGetAttributes *removed* + BASS_ChannelSlideAttributes *removed* + BASS_ChannelSetEAXMix *removed* + BASS_ChannelGetEAXMix *removed* + BASS_MusicSetAttribute *removed* + BASS_MusicGetAttribute *removed* +* Floating-point volume and panning + BASS_SetVolume + BASS_GetVolume + BASS_RecordSetInput + BASS_RecordGetInput + BASS_ATTRIB_PAN/VOL (BASS_ChannelGet/Set/SlideAttribute options) + BASS_ATTRIB_MUSIC_VOL_CHAN/INST (BASS_ChannelGet/Set/SlideAttribute options) + BASS_SAMPLE (volume/pan/outvol members) + BASS_CONFIG_MAXVOL *removed* + BASSTEST and RECTEST examples updated +* Output device volume control on Vista (as on other OS) + BASS_SetVolume + BASS_GetVolume +* Multiple update threads + BASS_CONFIG_UPDATETHREADS + BASSTEST example updated +* Global volume range increased to 10000 + BASS_CONFIG_GVOL_SAMPLE/STREAM/MUSIC (BASS_SetConfig options) + BASSTEST example updated +* Setting and retrieving of a sample's data + BASS_SampleSetData + BASS_SampleGetData + BASS_SampleCreate + BASS_SampleCreateDone *removed* +* Channel flag setting mask + BASS_ChannelFlags + BASS_ChannelSetFlags *removed* + SPEAKERS example updated +* 256 sample FFT + BASS_DATA_FFT256 (BASS_ChannelGetDat flag) +* Channel locking to prevent access by other threads + BASS_ChannelLock +* Manual channel buffer updating + BASS_ChannelUpdate + BASS_ChannelPreBuf *removed* +* Configurable manual update length + BASS_Update +* Extended device information retrieval and detection of new/removed devices + BASS_GetDeviceInfo + BASS_RecordGetDeviceInfo + BASS_DEVICEINFO structure + BASS_GetDeviceDescription *removed* + BASS_RecordGetDeviceDescription *removed* + BASS_INFO (driver member) *removed* + BASS_RECORDINFO (driver member) *removed* + MULTI example updated +* Default device change tracking on Windows (as on OSX) + BASS_Init + BASS_RecordInit +* Speaker detection from Windows control panel + BASS_DEVICE_CPSPEAKERS (BASS_Init flag) +* Channel automatically stopped & resumed for DX8 effects + BASS_ChannelSetFX + BASS_ChannelRemoveFX +* "double" precision position conversion + BASS_ChannelBytes2Seconds + BASS_ChannelSeconds2Bytes +* Separate config functions for pointers + BASS_SetConfigPtr + BASS_GetConfigPtr + BASS_CONFIG_NET_AGENT/PROXY (BASS_SetConfigPtr options) +* Configurable file format verification length + BASS_CONFIG_VERIFY (BASS_SetConfig option) +* Stream filename retrieval + BASS_CHANNELINFO (file member) +* Channel sample retrieval + BASS_CHANNELINFO (sample member) +* META syncs no longer receive metadata in the "data" parameter + BASS_SYNC_META (BASS_ChannelSetSync type) +* Separate sync for OGG logical bitstream changes (instead of BASS_SYNC_META) + BASS_SYNC_OGG_CHANGE (BASS_ChannelSetSync type) + NETRADIO example updated (C version) +* Message syncing removed (use PostMessage instead) + BASS_SYNC_MESSAGE (BASS_ChannelSetSync flag) *removed* +* Data retrieval from stopped/paused channels + BASS_ChannelGetData +* Callback "user" parameters changed to pointers + BASS_StreamCreate / STREAMPROC + BASS_StreamCreateFileUser + BASS_StreamCreateURL / DOWNLOADPROC + BASS_RecordStart / RECORDPROC + BASS_ChannelSetDSP / DSPPROC + BASS_ChannelSetSync / SYNCPROC + +2.3.0.3 - 30/7/2007 +------------------- +* FX state resetting + BASS_FXReset +* PLS/M3U playlist URL processing + BASS_CONFIG_NET_PLAYLIST + NETRADIO example updated +* Internet stream connection status retrieval + BASS_FILEPOS_CONNECTED (BASS_StreamGetFilePosition mode) +* Lyrics3v2 tags + BASS_TAG_LYRICS3 (BASS_ChannelGetTags type) +* IT virtual channel configuration + BASS_CONFIG_MUSIC_VIRTUAL +* Accurate speaker detection on Vista + BASS_INFO (speakers member) +* Device output/input rate retrieval on Vista + BASS_INFO (freq member) + BASS_RECORDINFO (freq member) +* Syncing upon position changes + BASS_SYNC_SETPOS (BASS_ChannelSetSync type) +* Improved stall handling + BASS_SYNC_STALL +* Invalid decoding channel flags produce an error instead of being ignored + BASS_StreamCreate/File/User/Url + BASS_MusicLoad + +2.3.0.2 - 22/1/2007 +------------------- +* Retrieval of a sample's existing channel handles + BASS_SampleGetChannels +* 8192 sample FFT + BASS_DATA_FFT8192 (BASS_ChannelGetData flag) +* Adjustable recording buffer + BASS_CONFIG_REC_BUFFER (BASS_SetConfig option) +* Stopping decoding channels before the end + BASS_ChannelStop +* Sample channels created paused to prevent overriding before playback + BASS_SampleGetChannel +* Separate "MP3-FREE" version using Windows/OSX MP3 decoder + BASS_CONFIG_MP3_CODEC *removed* + +2.3.0.1 - 12/6/2006 +------------------- +* Ability to move a channel to another device + BASS_ChannelSetDevice + MULTI example updated +* Support for ID3v2.4 tags at end of file + BASS_TAG_ID3V2 (BASS_ChannelGetTags type) + +2.3 - 21/5/2006 +--------------- +* MOD message/instrument/sample text retrieval, merged with stream tag retrieval function + BASS_ChannelGetTags + BASS_TAG_MUSIC_NAME/MESSAGE/INST/SAMPLE (BASS_ChannelGetTags types) + BASS_MusicGetName *removed* + BASS_StreamGetTags *removed* +* Plugin information retrieval + BASS_PluginGetInfo + BASS_PLUGININFO/FORM structures + BASS_CHANNELINFO (plugin member) + PLUGINS example updated +* RIFF/WAVE "INFO" tag retrieval + BASS_TAG_RIFF_INFO (BASS_StreamGetTags type) +* More specific WAVE format information + BASS_CTYPE_STREAM_WAV_PCM/FLOAT (channel types) + BASS_CTYPE_STREAM_WAV (channel type flag) +* Proxy server configuration + BASS_CONFIG_NET_PROXY (BASS_SetConfig option) + BASS_CONFIG_NET_NOPROXY *removed* + NETRADIO example updated +* Passive FTP mode + BASS_CONFIG_NET_PASSIVE (BASS_SetConfig option) +* Agent changes take immediate effect + BASS_CONFIG_NET_AGENT (BASS_SetConfig option) +* Minimum time gap between creating new sample channels + BASS_SAMPLE (mingap member) + BASS_SampleGetChannel +* Support for Unicode plugin filenames + BASS_PluginLoad +* Device output/input rate retrieval (MacOSX only) + BASS_INFO (freq member) + BASS_RECORDINFO (freq member) +* Extended version info (minor revision) + BASS_GetVersion +* Unsupported codec error code + BASS_ERROR_CODEC +* Optional use of the Windows MP3 codec + BASS_CONFIG_MP3_CODEC (BASS_SetConfig option) +* 3D support for MacOSX + BASS_Set3DFactors + BASS_Get3DFactors + BASS_Set3DPosition + BASS_Get3DPosition + BASS_Apply3D + BASS_ChannelSet3DAttributes + BASS_ChannelGet3DAttributes + BASS_ChannelSet3DPosition + BASS_ChannelGet3DPosition + 3DTEST example added (Win32 example also updated) +* VB version of SYNTH example added + +2.2 - 2/10/2005 +--------------- +* Add-on plugin system + BASS_PluginLoad + BASS_PluginFree + BASS_StreamCreateFile/User/Url + BASS_SampleLoad + PLUGINS example added +* MOD position & syncing in bytes + BASS_ChannelSetPosition + BASS_ChannelGetPosition + BASS_MusicGetOrderPosition added for orders position + BASS_SYNC_MUSICPOS added for orders syncing + MAKEMUSICPOS macro/define + CUSTLOOP example updated +* Stream/MOD "length" functions combined (also works with samples), new MOD orders length function + BASS_ChannelGetLength + BASS_MusicGetOrders + BASS_StreamGetLength *removed* + BASS_MusicGetLength *removed* +* Support for AIFF files + BASS_StreamCreateFile/User/Url + BASS_SampleLoad +* Support for 24 and 32-bit (integer) WAV files + BASS_StreamCreateFile/User/Url + BASS_SampleLoad +* WAV files are no longer converted to the "device" resolution + BASS_StreamCreateFile/User/Url +* Recording master control + BASS_RecordGetInput + BASS_RecordSetInput +* Adjustable prebuffering + BASS_ChannelPreBuf +* Floating-point data retrieval + BASS_DATA_FLOAT (BASS_ChannelGetData flag) +* Support for floating-point samples + BASS_SampleLoad + BASS_SampleCreate +* Multi-channel samples + BASS_SampleLoad/Create + BASS_SAMPLE (chans member) +* Sample lengths given in bytes + BASS_SampleCreate + BASS_SAMPLE (length member) +* MOD music 8-bit resolution option + BASS_MusicLoad +* OGG vendor tag retrieval + BASS_TAG_VENDOR (BASS_StreamGetTags type) +* Configurable "User-Agent" header for internet streams + BASS_CONFIG_NET_AGENT (BASS_SetConfig option) +* Shoutcast metadata is now requested automatically + BASS_STREAM_META flag *removed* +* Download callbacks receive all data from start of file/stream (including any non-audio data) + DOWNLOADPROC +* Length when streaming in blocks is unavailable (BASS_ERROR_NOTAVAIL, not just 0) + BASS_ChannelGetLength +* Support for growing custom file streams + BASS_FILE_LEN (STREAMFILEPROC action) +* Query file action removed + BASS_FILE_QUERY *removed* +* Recording channel syncing + BASS_ChannelSetSync +* Info structure "size" members removed + BASS_INFO structure + BASS_RECORDINFO structure +* Little bit of flag reshuffling + BASS_MP3_SETPOS renamed to BASS_STREAM_PRESCAN + BASS_MUSIC_CALCLEN value changed and renamed to BASS_MUSIC_PRESCAN + BASS_MUSIC_POSRESET value changed +* Add-on API enhancements +* MacOSX port introduced + +2.1 - 28/11/2004 +---------------- +* Improved "mixtime" sync system, allowing custom looping + SYNCPROC + CUSTLOOP example added +* FX can now be in the DSP chain, so can be prioritized and applied in floating-point + BASS_ChannelSetFX + BASS_CONFIG_FLOATDSP (BASS_SetConfig option) +* Ability to set channel flags (eg. looping) independent of playback + BASS_ChannelSetFlags + SPEAKERS example updated +* Stream/MOD "play" and channel "resume" functions combined + BASS_ChannelPlay + BASS_StreamPlay *removed* + BASS_MusicPlay *removed* + BASS_MusicPlayEx *removed* + BASS_ChannelResume *removed* +* Stream/MOD prebuffering functions combined + BASS_ChannelPreBuf + BASS_StreamPreBuf *removed* + BASS_MusicPreBuf *removed* +* MOD attribute functions combined, with added BPM/speed/globalvolume options + BASS_MusicSetAttribute + BASS_MusicGetAttribute + BASS_MUSIC_ATTRIB_AMPLIFY + BASS_MUSIC_ATTRIB_PANSEP + BASS_MUSIC_ATTRIB_PSCALER + BASS_MUSIC_ATTRIB_BPM + BASS_MUSIC_ATTRIB_SPEED + BASS_MUSIC_ATTRIB_VOL_GLOBAL + BASS_MUSIC_ATTRIB_VOL_CHAN + BASS_MUSIC_ATTRIB_VOL_INST + BASS_MusicSetAmplify *removed* + BASS_MusicSetPanSep *removed* + BASS_MusicSetPositionScaler *removed* + BASS_MusicSetVolume *removed* + BASS_MusicGetVolume *removed* +* Flag to reset bpm/etc as well as notes when seeking in MOD musics + BASS_MUSIC_POSRESETEX (BASS_MusicLoad & BASS_ChannelSetFlags flag) +* More flexible and concise sample channel creation system + BASS_SampleGetChannel + BASS_SamplePlay *removed* + BASS_SamplePlayEx *removed* + BASS_SamplePlay3D *removed* + BASS_SamplePlay3DEx *removed* +* Support for up to 30 speakers + BASS_SPEAKER_N macro/define +* More precise level measurement + BASS_ChannelGetLevel +* Level can now be retrieved from decoding channels + BASS_ChannelGetLevel +* Retrieval of a sample/channel's original sample resolution + BASS_SAMPLE (origres member) + BASS_CHANNELINFO (origres member) +* Support for streaming WAV files in "blocks" + BASS_StreamCreateURL + BASS_StreamCreateFileUser +* Status info (HTTP/ICY tags) available during connection to server + BASS_STREAM_STATUS (BASS_StreamCreateURL flag) + DOWNLOADPROC + NETRADIO example updated (Delphi version also added) +* Adjustable internet stream prebuffering + BASS_CONFIG_NET_PREBUF (BASS_SetConfig option) +* Option to bypass proxy server + BASS_CONFIG_NET_NOPROXY (BASS_SetConfig option) +* Option whether to allow channels to be played after BASS_Pause + BASS_CONFIG_PAUSE_NOPLAY (BASS_SetConfig option) +* Recording channel count now a separate parameter + BASS_RecordStart (chans parameter) +* Synchronizer for when a channel is freed + BASS_SYNC_FREE (BASS_ChannelSetSync type) +* Data start file position retrieval + BASS_FILEPOS_START (BASS_StreamGetFilePosition mode) +* Performance improvements + MP2 decoding ~20% faster + MP3/MP1 decoding & FFT processing all up to 10% faster + OGG decoding ~3% faster +* C/C++ examples reorganised, with makefiles & VC++ projects +* Add-on API enhancements +* More DLL shrinkage :) + +2.0 - 31/10/2003 +---------------- +* Multiple output device support + BASS_Init (device number changes) + BASS_SetDevice + BASS_GetDevice + BASS_ChannelGetDevice + MULTI example updated (VB version also added) +* Multiple recording device support + BASS_RecordSetDevice + BASS_RecordGetDevice + BASS_RecordStart + BASS_ChannelGetDevice + HRECORD handle + RECORDPROC (handle parameter) +* Recording with DSP/FX + BASS_ChannelSetDSP + BASS_ChannelSetFX +* Recording position retrieval + BASS_ChannelGetPosition +* Start recording paused + BASS_RECORD_PAUSE (BASS_RecordStart flag) +* Multi-channel streams, inc. support for multichannel OGG & WAV files + BASS_StreamCreate + BASS_StreamCreateFile/User/Url +* FFT for individual channels, inc. multi-channel streams + BASS_DATA_FFT_INDIVIDUAL (BASS_ChannelGetData flag) + BASS_DATA_FFT512S/1024S/2048S/4096S *removed* +* DSP prioritizing + BASS_ChannelSetDSP + DSPTEST example updated +* Seeking in internet streamed files + BASS_ChannelSetPosition +* Enhanced custom file stream systems + BASS_StreamCreateFileUser + BASS_FILE_SEEK (STREAMFILEPROC action) + BASS_STREAM_FILEPROC flag *removed* +* Enhanced custom stream system with automatic stalling/resuming + STREAMPROC + BASS_STREAMPROC_END (STREAMPROC flag) +* Synchronizer for stalled/resumed playback + BASS_SYNC_STALL (BASS_ChannelSetSync type) +* Synchronizer for completed download + BASS_SYNC_DOWNLOAD (BASS_ChannelSetSync type) +* End sync support for custom streams + BASS_SYNC_END (BASS_ChannelSetSync type) +* Synchronizer support for decoding channels + BASS_ChannelSetSync +* Unified configuration function + BASS_SetConfig + BASS_GetConfig + BASS_SetBufferLength *removed* + BASS_SetNetConfig *removed* + BASS_SetGlobalVolumes *removed* + BASS_GetGlobalVolumes *removed* + BASS_SetLogCurves *removed* + BASS_Set3DAlgorithm *removed* + BASS_DEVICE_FLOATDSP flag *removed* +* Internet stream saving to disk replaced by more flexible callback + BASS_StreamCreateURL + DOWNLOADPROC + VB NETRADIO example updated +* Buffer length retrieval when "streaming in blocks" + BASS_FILEPOS_END (BASS_StreamGetFilePosition mode) +* Individual sample rate setting for MOD musics + BASS_MusicLoad +* Channel type and default sample rate retrieval + BASS_ChannelGetInfo (replaces BASS_ChannelGetFlags) + BASS_CHANNELINFO +* MOD music flag retrieval + BASS_CHANNELINFO (flags member) +* Adjustable instrument volumes in MOD musics + BASS_MusicSetVolume (replaces BASS_MusicSetChannelVol) + BASS_MusicGetVolume (replaces BASS_MusicGetChannelVol) +* Automatically free a MOD music when it stops or ends + BASS_MUSIC_AUTOFREE (BASS_MusicLoad flag) +* Class GUID added to initialization parameters + BASS_Init + BASS_SetCLSID *removed* +* Update period adjustable at any time + BASS_CONFIG_UPDATEPERIOD (BASS_SetConfig option) + BASS_DEVICE_NOTHREAD flag *removed* +* Customizable maximum volume setting + BASS_CONFIG_MAXVOL (BASS_SetConfig option) + BASS_DEVICE_VOL1000 flag *removed* +* Device volume is now always left as it is during init/freeing + BASS_DEVICE_LEAVEVOL flag *removed* +* Device driver name retrieval + BASS_INFO (driver member) + BASS_RECORDINFO (driver member) +* Error codes are local to the current thread + BASS_ErrorGetCode +* Performance improvements + MP2 decoding 15-20% faster + MP3 decoding ~5% faster +* Built-in CD functions removed (replaced in BASSCD) + BASS_CDDoor *removed* + BASS_CDFree *removed* + BASS_CDGetID *removed* + BASS_CDGetTrackLength *removed* + BASS_CDGetTracks *removed* + BASS_CDInDrive *removed* + BASS_CDInit *removed* + BASS_CDPlay *removed* +* Force channels to use software mixing + BASS_SAMPLE_SOFTWARE (BASS_StreamCreate/File/User/URL & BASS_MusicLoad flag) +* Support for high-pass filter and forward/reverse (S9E/F) IT/MPT effects +* BASS_MUSIC flags rearranged to mirror BASS_SAMPLE/STREAM counterparts +* Output automatically started during initialization +* BASS_ChannelGetData once again accepts any "length" param +* All function comments have been removed from the API headers to avoid + outdated/incorrect information - the BASS.CHM documentation should be used. +* TMT Pascal API removed from main distribution - now available on the website +* A few more 'K' knocked off the DLL size :) + +1.8a - 18/6/2003 +---------------- +* Tweaks 'n' fixes, including... + Fixed seeking bug on 32-bit OGG streams + Fixed seeking on a decoding channel after it has reached the end + Low FPU precision (eg. when using Direct3D) issue addressed + Improved speakers (BASS_INFO) detection + BASS_ChannelSeconds2Bytes return value is rounded down to nearest sample + BASS_ChannelGetData "length" param must equal a whole number of samples + Slide syncs are triggered by "-2" volume slides on "autofree" streams +* Support for UNICODE filenames + BASS_UNICODE (BASS_SampleLoad/BASS_StreamCreateFile/BASS_MusicLoad flag) +* 4096 sample FFT + BASS_DATA_FFT4096/S (BASS_ChannelGetData flags) +* Another 'K' knocked off the DLL size + +1.8 - 9/3/2003 +-------------- +* 32-bit floating-point channels + BASS_SAMPLE_FLOAT (BASS_StreamCreate/URL/File flag) + BASS_MUSIC_FLOAT (BASS_MusicLoad flag) + BASS_SAMPLE_FLOAT (BASS_RecordStart flag) + BASS_DEVICE_FLOATDSP (BASS_Init flag) + DSPTEST example updated +* Support for 32-bit floating-point (type 3) WAV files + BASS_StreamCreateFile/URL + BASS_SampleLoad +* Channel speaker assignment + BASS_SPEAKER_FRONT (BASS_MusicLoad/BASS_StreamCreate/File/URL flag) + BASS_SPEAKER_REAR " + BASS_SPEAKER_CENLFE " + BASS_SPEAKER_REAR2 " + BASS_SPEAKER_FRONTLEFT " + BASS_SPEAKER_FRONTRIGHT " + BASS_SPEAKER_REARLEFT " + BASS_SPEAKER_REARRIGHT " + BASS_SPEAKER_CENTER " + BASS_SPEAKER_LFE " + BASS_SPEAKER_REAR2LEFT " + BASS_SPEAKER_REAR2RIGHT " + BASS_INFO (speakers member) + BASS_DEVICE_SPEAKERS (BASS_Init flag) + 4SPEAKER example replaced by SPEAKERS example +* Recording input type retrieval + BASS_INPUT_TYPE_xxx (BASS_RecordGetInput) + RECTEST example updated +* Non-interpolated MOD mixing + BASS_MUSIC_NONINTER (BASS_MusicLoad/PlayEx flag) +* Performance improvements + FFT up to 100% faster! + MP3(MPEG2/2.5) decoding up to 60% faster + MMX mixers 5-10% faster + MP3(MPEG1)/MP2/MP1/OGG decoding all ~5% faster +* Optional disabling of FFT windowing + BASS_DATA_FFT_NOWINDOW (BASS_ChannelGetData flag) +* BASS_ERROR_FILEFORM - error code to distinguish between file and sample format + BASS_MusicLoad + BASS_SampleLoad + BASS_StreamCreate/File/URL +* BASS_StreamGetFilePosition mode flags added + BASS_FILEPOS_DECODE/DOWNLOAD/END +* DirectX 9 detection + BASS_INFO (dsver member) +* Initialization flags retrieval + BASS_INFO (initflags member) +* Half-rate MP3 playback option removed + BASS_MP3_HALFRATE flag *removed* +* New internal "plugin" system - BASSWMA is further integrated as a result +* Improved documentation - integrated with BASSWMA, search option added +* VB version of DSPTEST example added +* Delphi RECORDTEST example added +* Guess what... reduced DLL size again :) + +1.7 - 27/10/2002 +---------------- +* New alternative DX8 (DMO) effects implementation + BASS_StreamCreate/File/URL + BASS_MusicLoad + BASS_ChannelSetFX + SYNTH example updated +* User file streaming + BASS_STREAM_FILEPROC (BASS_StreamCreate flag) + STREAMFILEPROC +* DSP & FX support for decoding channels + BASS_ChannelSetDSP + BASS_ChannelSetFX +* Support for DX8 (DMO) effects in IT/XM/MO3 files + BASS_MusicLoad +* Support for chained OGG streaming (and syncing) + BASS_StreamCreateURL + BASS_SYNC_META (BASS_ChannelSetSync type) +* Attribute (volume/frequency/pan) sliding + BASS_ChannelSlideAttributes + BASS_ChannelIsSliding + BASS_SYNC_SLIDE (BASS_ChannelSetSync type) +* Recording without a callback function + BASS_RecordStart + LIVEFX example added +* Query a channel's buffered data + BASS_DATA_AVAILABLE (BASS_ChannelGetData flag) +* Discard data from the recording buffer + BASS_ChannelGetData +* Adjustable internet stream config (timeout/buffer lengths) + BASS_SetNetConfig +* Recommended minimum buffer length + BASS_INFO (minbuf member) +* MOD music flags adjustment without changing playback position + BASS_MusicPlayEx + PLAYER (MASM) example updated +* More functions are now useable in MOD music "mixtime" syncs + SYNCPROC + BASS_ChannelSetPosition + BASS_MusicPlayEx + BASS_MusicSetAmplify + BASS_MusicSetPanSep +* Maximum buffer length increased to 5 seconds + BASS_SetBufferLength +* Support for extended filter range in IT files + BASS_MusicLoad +* Speedier MOD music file verification + BASS_MusicLoad +* Delphi 3DTEST example fixed +* Magically reduced DLL size again :) + +1.6a - 25/8/2002 +---------------- +* OGG support updated to 1.0 +* Stereo FFT + BASS_DATA_FFT512S/1024S/2048S (BASS_ChannelGetData flags) +* Support for "Invert Loop" (EFx) MOD effect +* Reduced DLL size +* New Delphi examples + WRITEWAV - WAVE writer example + SAMPLEVIS - Visualisation example + +1.6 - 13/6/2002 +--------------- +* 64-bit stream lengths and positions + BASS_StreamGetLength + BASS_ChannelBytes2Seconds + BASS_ChannelSeconds2Bytes + BASS_ChannelGetPosition + BASS_ChannelSetPosition + BASS_ChannelSetSync +* Recording input selection + BASS_RECORDINFO (inputs & singlein members) + BASS_RecordGetInputName + BASS_RecordGetInput + BASS_RecordSetInput +* Adjustable recording update period + BASS_RecordStart +* Load OGG files as samples + BASS_SampleLoad +* CD drive door opening & closing + BASS_CDDoor +* CDDB2 ID retrieval + BASS_CDID_CDDB2 (BASS_CDGetID flag) +* Streaming beyond initial file length + BASS_StreamCreateFile +* Recording position bytes<->seconds translation + BASS_ChannelBytes2Seconds + BASS_ChannelSeconds2Bytes +* Improved multi-threaded support (play from any thread) + BASS_MusicPlay/Ex + BASS_SamplePlay/3D/Ex + BASS_StreamPlay + BASS_DEVICE_NOSYNC flag *removed* +* Paused channel status + BASS_ACTIVE_PAUSED (BASS_ChannelIsActive) +* Integrated WMA stream freeing + BASS_StreamFree + BASS_Free +* Pin-point accurate OGG seeking without BASS_MP3_SETPOS flag +* Win2k DS buffer bug fix + +1.5a - 14/4/2002 +---------------- +* NT4 fix (also enables "nosound" device without DX installed) + BASS_ERROR_DX error code +* MOD music loading without the samples + BASS_MUSIC_NOSAMPLE (BASS_MusicLoad flag) +* Custom decoding channels + BASS_STREAM_DECODE (BASS_StreamCreate flag) +* 5 second HTTP connection timeout + BASS_ERROR_TIMEOUT (BASS_StreamCreateURL error code) + +1.5 - 31/3/2002 +--------------- +* Improved performance + MMX mixers lot faster (over 50% faster in some cases!) + OGG decoding 15-20% faster + MP3 decoding 5-10% faster +* Recording + BASS_RecordGetDeviceDescription + BASS_RecordInit + BASS_RecordFree + BASS_RecordGetInfo + BASS_RecordStart +* OGG support built-in (OGG/VORBIS DLLs not required) + BASS_DEVICE_OGG flag *removed* +* MOD music seeking in seconds + BASS_MusicPlayEx + BASS_ChannelSetPosition +* Shoutcast metadata retrieval + BASS_STREAM_META (BASS_StreamCreateURL flag) + BASS_TAG_META (BASS_StreamGetTags type) + BASS_SYNC_META (BASS_ChannelSetSync type) +* 1000 volume levels + BASS_DEVICE_VOL1000 (BASS_Init/CDInit flag) +* CDDB ID retrieval + BASS_CDID_CDDB (BASS_CDGetID flag) +* Leave the CD volume as it is during init/closing + BASS_DEVICE_LEAVEVOL (BASS_CDInit flag) +* FFT enabled on decoding channels + BASS_ChannelGetData +* Left level duplicated on right for mono channels + BASS_ChannelGetLevel +* Improved MPEG length estimation without BASS_MP3_SETPOS flag + BASS_StreamGetLength +* Support for Modplug/ADPCM compressed files + BASS_MusicLoad +* Device description function parameter change + BASS_GetDeviceDescription +* MASM API + +1.4 - 30/1/2002 +--------------- +* Channel decoding without playback + BASS_MUSIC_DECODE (BASS_MusicLoad flag) + BASS_STREAM_DECODE (BASS_StreamCreateFile/URL flag) + BASS_ChannelGetData +* Windows message sync callbacks + BASS_SYNC_MESSAGE (BASS_ChannelSetSync flag) +* Adjustable channel volumes in MOD musics + BASS_MusicSetChannelVol + BASS_MusicGetChannelVol +* Customizable DirectSound initialization object + BASS_SetCLSID +* Retrieve HMUSIC/HSTREAM/HCHANNEL IDirectSoundBuffer interfaces + BASS_GetDSoundObject +* A3D functions removed (use BASS_SetCLSID/BASS_GetDSoundObject to access A3D) + BASS_DEVICE_A3D (BASS_Init flag) + BASS_SetA3DResManager + BASS_GetA3DResManager + BASS_SetA3DHFAbsorbtion + BASS_GetA3DHFAbsorbtion +* Callback functions now work in VB6 + DSPPROC + STREAMPROC + SYNCPROC +* Improved PCM WAVE streaming performance + BASS_StreamCreateFile + BASS_StreamCreateURL +* OGG modules updated to RC3 +* Stereo sample support in MO3 format +* MO3 encoder now distributed separately from BASS + +1.3 - 17/11/2001 +---------------- +* Manual buffer updating + BASS_DEVICE_NOTHREAD (BASS_Init flag) + BASS_Update +* Adjustable buffer update period (allows small buffer sizes) + BASS_Init +* Output device latency retrieval + BASS_INFO (latency member) +* MPEG/OGG seeking without BASS_MP3_SETPOS flag + BASS_ChannelSetPosition +* Internet file streaming from offsets + BASS_StreamCreateURL +* File stream tag/comment retrieval (ID3/ID3v2/OGG/HTTP/ICY tags) + BASS_StreamGetTags +* Byte<->time position translation + BASS_ChannelBytes2Seconds + BASS_ChannelSeconds2Bytes +* UMX (Unreal/Tournament music package) format support + BASS_MusicLoad +* S3M/IT sync fx changed to S2x (S0x conflicted with S00) + BASS_SYNC_MUSICFX +* Stereo sample support in IT/XM/S3M formats +* MO3: OGG compression supported + +1.2 - 25/9/2001 +--------------- +* OGG (Ogg Vorbis) stream support + BASS_DEVICE_OGG (BASS_Init flag) + BASS_StreamCreateFile + BASS_StreamCreateURL +* Channel linking (start/stop/pause/resume channels together) + BASS_ChannelSetLink + BASS_ChannelRemoveLink +* MOD music playback length calculation + BASS_MUSIC_CALCLEN (BASS_MusicLoad flag) + BASS_MusicGetLength +* Pre-buffering + BASS_MusicPreBuf + BASS_StreamPreBuf +* Samples with single simultaneous playbacks have same HSAMPLE/HCHANNEL handle + BASS_SamplePlay/Ex +* Stopping a custom stream flushes its buffer contents + BASS_ChannelStop + +1.1a - 31/8/2001 +---------------- +* NT4 bug fixed +* XM Wxx effect syncing + BASS_SYNC_MUSICFX +* MP3/2/1 rewinding without BASS_MP3_SETPOS + BASS_ChannelSetPosition + +1.1 - 11/8/2001 +--------------- +* DX8 (DMO) effects + BASS_SAMPLE_FX (BASS_StreamCreate/File/URL flag) + BASS_MUSIC_FX (BASS_MusicLoad flag) + BASS_ChannelSetFX + BASS_ChannelRemoveFX + BASS_FXSetParameters + BASS_FXGetParameters + BASS_FXCHORUS structure + BASS_FXCOMPRESSOR structure + BASS_FXDISTORTION structure + BASS_FXECHO structure + BASS_FXFLANGER structure + BASS_FXGARGLE structure + BASS_FXI3DL2REVERB structure + BASS_FXPARAMEQ structure + BASS_FXREVERB structure +* Internet file streaming in blocks (inc. Shoutcast/Icecast stream support) + BASS_STREAM_BLOCK (BASS_StreamCreateURL flag) +* 512/1024/2048 sample FFT + BASS_DATA_FFT512/1024/2048 (BASS_ChannelGetData flags) +* CD identification + BASS_CDGetID +* Improved DX version detection + BASS_INFO (dsver member) + +1.0 - 20/6/2001 +--------------- +* Load MP3/MP2/MP1 files as samples + BASS_SampleLoad +* Internet file streaming from FTP servers + BASS_StreamCreateURL +* Save a local copy of internet file streams + BASS_StreamCreateURL +* Sample accurate file stream seeking + BASS_ChannelSetPosition + BASS_StreamGetBlockLength *removed* +* Stream position synchronizer + BASS_SYNC_POS +* Increased synchronizer precision +* Improved MPEG file detection and error detection +* Stop MOD musics on a backwards jump effect + BASS_MUSIC_STOPBACK (BASS_MusicLoad/PlayEx flag) +* Leave the volume as it is during closing (as well as initialization) + BASS_DEVICE_LEAVEVOL (BASS_Init flag) +* Optional automatic use of foreground window handle during initialization + BASS_Init +* Reduced DLL size +* VB API fixes + +0.9 - 18/4/2001 +--------------- +* Internet file streaming + BASS_StreamCreateURL +* MP1 & MP2 (MPEG layer 1 & 2) support + BASS_StreamCreateFile/URL +* MPEG 2.5 support (12000/11025/8000hz sample rates) + BASS_StreamCreateFile/URL +* Decoding/download/end file stream position retrieval + BASS_StreamGetFilePosition +* XMPlay surround sound for MOD musics + BASS_MUSIC_SURROUND (BASS_MusicLoad/PlayEx flag) + BASS_MUSIC_SURROUND2 (BASS_MusicLoad/PlayEx flag) +* Restrict the download rate of internet file streams + BASS_STREAM_RESTRATE (BASS_StreamCreateURL flag) +* Check if an internet file stream is stalled + BASS_ChannelIsActive +* Automatically free a stream when it stops or ends + BASS_STREAM_AUTOFREE (BASS_StreamCreate/File/URL flag) +* Leave the volume as it is during initialization + BASS_DEVICE_LEAVEVOL (BASS_Init flag) +* Number of CD tracks retrieval + BASS_CDGetTracks +* CD track length retrieval + BASS_CDGetTrackLength +* Exact stream length set after whole file is streamed + BASS_StreamGetLength +* TMT Pascal API and samples +* Dynamic-loading Delphi API + +0.8a - 28/2/2000 +---------------- +* Updated Delphi API and samples + +0.8 - 24/1/2000 +--------------- +* Improved MP3 performance on P2/K6 and above CPUs - fast! +* User DSP functions on streams and MOD musics + BASS_ChannelSetDSP + BASS_ChannelRemoveDSP +* DX7 voice allocation & management + BASS_SAMPLE_VAM (BASS_SampleLoad/Create flag) + BASS_VAM_xxx flags + BASS_SAMPLE (vam & priority members) +* DX7 software 3D algorithm selection + BASS_Set3DAlgorithm +* DirectSound interface retrieval + BASS_GetDSoundObject +* Log/linear volume & panning curves + BASS_SetLogCurves +* User data passed to callback functions + STREAMPROC - BASS_StreamCreate + SYNCPROC - BASS_ChannelSetSync +* New synchronizer + BASS_SYNC_MUSICFX +* New synchronizer flag + BASS_SYNC_MIXTIME +* Disable synchronizers option - saves a little CPU time + BASS_DEVICE_NOSYNC (BASS_Init flag) +* Hi-res floating-point CPU usage monitoring + BASS_GetCPU +* Wait for playback to start when playing a CD + BASS_CDPlay +* DirectSound (dsound.dll) version retrieval + BASS_INFO (dsver member) +* Removed volume sliding functions (they were fairly pointless) + BASS_SlideVolume + BASS_IsSliding +* MO3: read/write encoder settings +* MO3: remove inst/samp/message texts now optional +* MO3: LAME encoder settings + +0.7 - 3/10/1999 +--------------- +* MO3 (MP3 compressed MODs) +* A3D functions + BASS_DEVICE_A3D (BASS_Init flag) + BASS_INFO (a3d member) + BASS_SetA3DResManager + BASS_GetA3DResManager + BASS_SetA3DHFAbsorbtion + BASS_GetA3DHFAbsorbtion +* Music/stream immediate sample data retrieval + BASS_ChannelGetData +* File stream (WAV/MP3) length retrieval + BASS_StreamGetLength + BASS_StreamGetBlockLength +* File stream seeking + BASS_ChannelSetPosition +* Mono MP3 option (lower CPU usage) + BASS_StreamCreateFile +* Music length retrieval + BASS_MusicGetLength +* Music name retrieval + BASS_MusicGetName +* Stop notes when moving MOD music position + BASS_MUSIC_POSRESET (BASS_MusicLoad/BASS_MusicPlayEx flag) +* BASS_ERROR_FREQ - invalid sample rate error code + BASS_SampleCreate + BASS_SamplePlayEx + BASS_SamplePlay3DEx + BASS_StreamCreate + BASS_ChannelSetAttributes +* Delphi and VB APIs + +0.6a - 26/7/1999 +---------------- +* Half rate MP3 option (lower CPU usage) + BASS_MP3_HALFRATE +* Loading/streaming from file offsets + BASS_MusicLoad + BASS_SampleLoad + BASS_StreamCreateFile +* Global music/sample/stream volume levels + BASS_SetGlobalVolumes + BASS_GetGlobalVolumes +* Other new function + BASS_SampleStop +* New synchronizer + BASS_SYNC_END +* New sample overrider + BASS_SAMPLE_OVER_DIST +* LoadLibrary/GetProcAddress instructions and example + +0.5 - 4/7/1999 +-------------- +* Documentation! +* File streaming (MP3 and WAV) + BASS_StreamCreateFile +* Custom generated samples + BASS_SampleCreate + BASS_SampleCreateDone +* Other new function + BASS_MusicSetPositionScaler +* Renamed function + BASS_ChannelClearSync -> BASS_ChannelRemoveSync +* Alterations made to + BASS_ChannelGetPosition + BASS_SampleLoad + BASS_StreamPlay + +0.4 - 30/3/1999 +--------------- +* Compressed WAV samples support (using audio CODECs) +* Updated CD volume handling - now works with SB Live +* More linear channel volume/pan scales (were slightly off before) +* "no sound" device option +* 3D sound functions + BASS_Set3DFactors + BASS_Get3DFactors + BASS_Set3DPosition + BASS_Get3DPosition + BASS_Apply3D + BASS_SamplePlay3D + BASS_SamplePlay3DEx + BASS_ChannelSet3DAttributes + BASS_ChannelGet3DAttributes + BASS_ChannelSet3DPosition + BASS_ChannelGet3DPosition +* EAX functions + BASS_SetEAXParameters + BASS_GetEAXParameters + BASS_ChannelSetEAXMix + BASS_ChannelGetEAXMix +* Other new functions + BASS_GetDeviceDescription + BASS_SetBufferLen + BASS_ChannelGetFlags + BASS_ChannelPause + BASS_ChannelResume + BASS_ChannelSetPosition +* Replaced function + BASS_CDResume -> BASS_ChannelResume +* Alterations made to + BASS_Init + BASS_CDInit + BASS_SampleLoad + BASS_StreamPlay + BASS_INFO structure + BASS_SAMPLE structure + BASS_DEVICE_xxx flags + BASS_SAMPLE_xxx flags + +0.3 - 8/3/1999 +-------------- +* Synchronization functions + BASS_ChannelSetSync + BASS_ChannelClearSync +* Other new functions + BASS_GetVersion + BASS_ChannelGetPosition + BASS_ChannelGetLevel + BASS_ChannelGetAttributes + BASS_ChannelSetAttributes +* Replaced functions + BASS_MusicStop -> BASS_ChannelStop + BASS_MusicSetVolume -> BASS_ChannelSetAttributes + BASS_CDStop -> BASS_ChannelStop + BASS_CDSetVolume -> BASS_ChannelSetAttributes + BASS_CDGetVolume -> BASS_ChannelGetAttributes + BASS_ChannelUpdate -> BASS_ChannelSetAttributes +* Alterations made to + BASS_MusicPlayEx + BASS_StreamPlay + BASS_INFO structure + +0.2 - 28/2/1999 +--------------- +* First public release + + +Credits +======= +Ogg Vorbis decoding is based on libogg/vorbis, +Copyright (c) 2002-2004 Xiph.org Foundation + +CHMOX is (c) 2004 Stéphane Boisson, http://chmox.sourceforge.net/ + +API/Sample contributors +----------------------- +Visual Basic: Adam Hoult, Hendrik Knaepen, Arthur Aminov, + Peter Hebels +Delphi: Titus Miloi, Rogier Timmermans, Alessandro Cappellozza, + Jesse Naranjo, Chris Troesken +MASM: Octavian Chis + + +Bug reports, Suggestions, Comments, Enquiries, etc... +===================================================== +If you have any of the aforementioned please visit the BASS forum at +the website. If you can't find an answer there, you can also email: + + bass@un4seen.com + |