aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code/lib/bass
diff options
context:
space:
mode:
authork-m_schindler <k-m_schindler@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-08-27 13:28:57 +0000
committerk-m_schindler <k-m_schindler@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-08-27 13:28:57 +0000
commit1ba91d5a0e1df7419a561f6dcf16a0839509a5e7 (patch)
tree3f76e96fc5a3f5b738dabce28642ff2415748ccb /Game/Code/lib/bass
parente9fd8ce40b4cbf006695fd6e56f84071407843c9 (diff)
downloadusdx-1ba91d5a0e1df7419a561f6dcf16a0839509a5e7.tar.gz
usdx-1ba91d5a0e1df7419a561f6dcf16a0839509a5e7.tar.xz
usdx-1ba91d5a0e1df7419a561f6dcf16a0839509a5e7.zip
Reordering of the directories[1]: moving Game/Code to src
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1302 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'Game/Code/lib/bass')
-rw-r--r--Game/Code/lib/bass/bass.chmbin210668 -> 0 bytes
-rw-r--r--Game/Code/lib/bass/bass.txt1658
-rw-r--r--Game/Code/lib/bass/delphi/bass-macosx.patch368
-rw-r--r--Game/Code/lib/bass/delphi/bass.pas865
4 files changed, 0 insertions, 2891 deletions
diff --git a/Game/Code/lib/bass/bass.chm b/Game/Code/lib/bass/bass.chm
deleted file mode 100644
index 79ab64a2..00000000
--- a/Game/Code/lib/bass/bass.chm
+++ /dev/null
Binary files differ
diff --git a/Game/Code/lib/bass/bass.txt b/Game/Code/lib/bass/bass.txt
deleted file mode 100644
index cdaa7bf0..00000000
--- a/Game/Code/lib/bass/bass.txt
+++ /dev/null
@@ -1,1658 +0,0 @@
-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
-
diff --git a/Game/Code/lib/bass/delphi/bass-macosx.patch b/Game/Code/lib/bass/delphi/bass-macosx.patch
deleted file mode 100644
index f79b3925..00000000
--- a/Game/Code/lib/bass/delphi/bass-macosx.patch
+++ /dev/null
@@ -1,368 +0,0 @@
---- D:/daten/bass.pas Sun Mar 23 18:58:56 2008
-+++ D:/daten/Projekte/UltraStarDX/Kopie von trunk/Game/Code/lib/bass/delphi/bass.pas Sat May 03 03:52:56 2008
-@@ -13,8 +13,20 @@
-
- interface
-
-+{$IFDEF FPC}
-+ {$PACKRECORDS C}
-+{$ENDIF}
-+
-+{$IFDEF MSWINDOWS}
-+ {$DEFINE DLL_STDCALL}
-+{$ELSE}
-+ {$DEFINE DLL_CDECL}
-+{$ENDIF}
-+
-+{$IFDEF MSWINDOWS}
- uses
- Windows;
-+{$ENDIF}
-
- const
- BASSVERSION = $204; // API version
-@@ -231,6 +243,7 @@
- BASS_3DALG_FULL = 2;
- BASS_3DALG_LIGHT = 3;
-
-+{$IFDEF MSWINDOWS}
- // EAX environments, use with BASS_SetEAXParameters
- EAX_ENVIRONMENT_GENERIC = 0;
- EAX_ENVIRONMENT_PADDEDCELL = 1;
-@@ -260,6 +273,7 @@
- EAX_ENVIRONMENT_PSYCHOTIC = 25;
- // total number of environments
- EAX_ENVIRONMENT_COUNT = 26;
-+{$ENDIF}
-
- BASS_STREAMPROC_END = $80000000; // end of user stream flag
-
-@@ -487,10 +501,10 @@
- end;
-
- // User file stream callback functions
-- FILECLOSEPROC = procedure(user: Pointer); stdcall;
-- FILELENPROC = function(user: Pointer): QWORD; stdcall;
-- FILEREADPROC = function(buffer: Pointer; length: DWORD; user: Pointer): DWORD; stdcall;
-- FILESEEKPROC = function(offset: QWORD; user: Pointer): BOOL; stdcall;
-+ FILECLOSEPROC = procedure(user: Pointer); {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}
-+ FILELENPROC = function(user: Pointer): QWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}
-+ FILEREADPROC = function(buffer: Pointer; length: DWORD; user: Pointer): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}
-+ FILESEEKPROC = function(offset: QWORD; user: Pointer): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}
-
- BASS_FILEPROCS = record
- close: FILECLOSEPROC;
-@@ -578,7 +592,7 @@
- end;
-
- // callback function types
-- STREAMPROC = function(handle: HSTREAM; buffer: Pointer; length: DWORD; user: Pointer): DWORD; stdcall;
-+ STREAMPROC = function(handle: HSTREAM; buffer: Pointer; length: DWORD; user: Pointer): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}
- {
- User stream callback function. NOTE: A stream function should obviously be as
- quick as possible, other streams (and MOD musics) can't be mixed until
-@@ -593,12 +607,12 @@
-
- const
- // special STREAMPROCs
-- STREAMPROC_DUMMY : STREAMPROC = STREAMPROC(0); // "dummy" stream
-- STREAMPROC_PUSH : STREAMPROC = STREAMPROC(-1); // push stream
-+ STREAMPROC_DUMMY {: STREAMPROC} = Pointer(0); // "dummy" stream
-+ STREAMPROC_PUSH {: STREAMPROC} = Pointer(-1); // push stream
-
- type
-
-- DOWNLOADPROC = procedure(buffer: Pointer; length: DWORD; user: Pointer); stdcall;
-+ DOWNLOADPROC = procedure(buffer: Pointer; length: DWORD; user: Pointer); {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}
- {
- Internet stream download callback function.
- buffer : Buffer containing the downloaded data... NULL=end of download
-@@ -606,7 +620,7 @@
- user : The 'user' parameter value given when calling BASS_StreamCreateURL
- }
-
-- SYNCPROC = procedure(handle: HSYNC; channel, data: DWORD; user: Pointer); stdcall;
-+ SYNCPROC = procedure(handle: HSYNC; channel, data: DWORD; user: Pointer); {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}
- {
- Sync callback function. NOTE: a sync callback function should be very
- quick as other syncs cannot be processed until it has finished. If the
-@@ -618,7 +632,7 @@
- user : The 'user' parameter given when calling BASS_ChannelSetSync
- }
-
-- DSPPROC = procedure(handle: HDSP; channel: DWORD; buffer: Pointer; length: DWORD; user: Pointer); stdcall;
-+ DSPPROC = procedure(handle: HDSP; channel: DWORD; buffer: Pointer; length: DWORD; user: Pointer); {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}
- {
- DSP callback function. NOTE: A DSP function should obviously be as quick
- as possible... other DSP functions, streams and MOD musics can not be
-@@ -630,7 +644,7 @@
- user : The 'user' parameter given when calling BASS_ChannelSetDSP
- }
-
-- RECORDPROC = function(handle: HRECORD; buffer: Pointer; length: DWORD; user: Pointer): BOOL; stdcall;
-+ RECORDPROC = function(handle: HRECORD; buffer: Pointer; length: DWORD; user: Pointer): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}
- {
- Recording callback function.
- handle : The recording handle
-@@ -643,116 +657,130 @@
-
- // Functions
- const
-+{$IFDEF MSWINDOWS}
- bassdll = 'bass.dll';
--
--function BASS_SetConfig(option, value: DWORD): BOOL; stdcall; external bassdll;
--function BASS_GetConfig(option: DWORD): DWORD; stdcall; external bassdll;
--function BASS_SetConfigPtr(option: DWORD; value: Pointer): BOOL; stdcall; external bassdll;
--function BASS_GetConfigPtr(option: DWORD): Pointer; stdcall; external bassdll;
--function BASS_GetVersion: DWORD; stdcall; external bassdll;
--function BASS_ErrorGetCode: Integer; stdcall; external bassdll;
--function BASS_GetDeviceInfo(device: DWORD; var info: BASS_DEVICEINFO): BOOL; stdcall; external bassdll;
--function BASS_Init(device: Integer; freq, flags: DWORD; win: HWND; clsid: PGUID): BOOL; stdcall; external bassdll;
--function BASS_SetDevice(device: DWORD): BOOL; stdcall; external bassdll;
--function BASS_GetDevice: DWORD; stdcall; external bassdll;
--function BASS_Free: BOOL; stdcall; external bassdll;
--function BASS_GetDSoundObject(obj: DWORD): Pointer; stdcall; external bassdll;
--function BASS_GetInfo(var info: BASS_INFO): BOOL; stdcall; external bassdll;
--function BASS_Update(length: DWORD): BOOL; stdcall; external bassdll;
--function BASS_GetCPU: FLOAT; stdcall; external bassdll;
--function BASS_Start: BOOL; stdcall; external bassdll;
--function BASS_Stop: BOOL; stdcall; external bassdll;
--function BASS_Pause: BOOL; stdcall; external bassdll;
--function BASS_SetVolume(volume: FLOAT): BOOL; stdcall; external bassdll;
--function BASS_GetVolume: FLOAT; stdcall; external bassdll;
--
--function BASS_PluginLoad(filename: PChar; flags: DWORD): HPLUGIN; stdcall; external bassdll;
--function BASS_PluginFree(handle: HPLUGIN): BOOL; stdcall; external bassdll;
--function BASS_PluginGetInfo(handle: HPLUGIN): PBASS_PLUGININFO; stdcall; external bassdll;
--
--function BASS_Set3DFactors(distf, rollf, doppf: FLOAT): BOOL; stdcall; external bassdll;
--function BASS_Get3DFactors(var distf, rollf, doppf: FLOAT): BOOL; stdcall; external bassdll;
--function BASS_Set3DPosition(var pos, vel, front, top: BASS_3DVECTOR): BOOL; stdcall; external bassdll;
--function BASS_Get3DPosition(var pos, vel, front, top: BASS_3DVECTOR): BOOL; stdcall; external bassdll;
--procedure BASS_Apply3D; stdcall; external bassdll;
--function BASS_SetEAXParameters(env: Integer; vol, decay, damp: FLOAT): BOOL; stdcall; external bassdll;
--function BASS_GetEAXParameters(var env: DWORD; var vol, decay, damp: FLOAT): BOOL; stdcall; external bassdll;
--
--function BASS_MusicLoad(mem: BOOL; f: Pointer; offset: QWORD; length, flags, freq: DWORD): HMUSIC; stdcall; external bassdll;
--function BASS_MusicFree(handle: HMUSIC): BOOL; stdcall; external bassdll;
--
--function BASS_SampleLoad(mem: BOOL; f: Pointer; offset: QWORD; length, max, flags: DWORD): HSAMPLE; stdcall; external bassdll;
--function BASS_SampleCreate(length, freq, chans, max, flags: DWORD): HSAMPLE; stdcall; external bassdll;
--function BASS_SampleFree(handle: HSAMPLE): BOOL; stdcall; external bassdll;
--function BASS_SampleSetData(handle: HSAMPLE; buffer: Pointer): BOOL; stdcall; external bassdll;
--function BASS_SampleGetData(handle: HSAMPLE; buffer: Pointer): BOOL; stdcall; external bassdll;
--function BASS_SampleGetInfo(handle: HSAMPLE; var info: BASS_SAMPLE): BOOL; stdcall; external bassdll;
--function BASS_SampleSetInfo(handle: HSAMPLE; var info: BASS_SAMPLE): BOOL; stdcall; external bassdll;
--function BASS_SampleGetChannel(handle: HSAMPLE; onlynew: BOOL): HCHANNEL; stdcall; external bassdll;
--function BASS_SampleGetChannels(handle: HSAMPLE; channels: Pointer): DWORD; stdcall; external bassdll;
--function BASS_SampleStop(handle: HSAMPLE): BOOL; stdcall; external bassdll;
--
--function BASS_StreamCreate(freq, chans, flags: DWORD; proc: STREAMPROC; user: Pointer): HSTREAM; stdcall; external bassdll;
--function BASS_StreamCreateFile(mem: BOOL; f: Pointer; offset, length: QWORD; flags: DWORD): HSTREAM; stdcall; external bassdll;
--function BASS_StreamCreateURL(url: PChar; offset: DWORD; flags: DWORD; proc: DOWNLOADPROC; user: Pointer):HSTREAM; stdcall; external bassdll;
--function BASS_StreamCreateFileUser(system, flags: DWORD; var procs: BASS_FILEPROCS; user: Pointer): HSTREAM; stdcall; external bassdll;
--function BASS_StreamFree(handle: HSTREAM): BOOL; stdcall; external bassdll;
--function BASS_StreamGetFilePosition(handle: HSTREAM; mode: DWORD): QWORD; stdcall; external bassdll;
--function BASS_StreamPutData(handle: HSTREAM; buffer: Pointer; length: DWORD): DWORD; stdcall; external bassdll;
--function BASS_StreamPutFileData(handle: HSTREAM; buffer: Pointer; length: DWORD): DWORD; stdcall; external bassdll;
--
--function BASS_RecordGetDeviceInfo(device: DWORD; var info: BASS_DEVICEINFO): BOOL; stdcall; external bassdll;
--function BASS_RecordInit(device: Integer):BOOL; stdcall; external bassdll;
--function BASS_RecordSetDevice(device: DWORD): BOOL; stdcall; external bassdll;
--function BASS_RecordGetDevice: DWORD; stdcall; external bassdll;
--function BASS_RecordFree: BOOL; stdcall; external bassdll;
--function BASS_RecordGetInfo(var info: BASS_RECORDINFO): BOOL; stdcall; external bassdll;
--function BASS_RecordGetInputName(input: Integer): PChar; stdcall; external bassdll;
--function BASS_RecordSetInput(input: Integer; flags: DWORD; volume: FLOAT): BOOL; stdcall; external bassdll;
--function BASS_RecordGetInput(input: Integer; var volume: FLOAT): DWORD; stdcall; external bassdll;
--function BASS_RecordStart(freq, chans, flags: DWORD; proc: RECORDPROC; user: Pointer): HRECORD; stdcall; external bassdll;
--
--function BASS_ChannelBytes2Seconds(handle: DWORD; pos: QWORD): Double; stdcall;external bassdll;
--function BASS_ChannelSeconds2Bytes(handle: DWORD; pos: Double): QWORD; stdcall;external bassdll;
--function BASS_ChannelGetDevice(handle: DWORD): DWORD; stdcall; external bassdll;
--function BASS_ChannelSetDevice(handle, device: DWORD): BOOL; stdcall; external bassdll;
--function BASS_ChannelIsActive(handle: DWORD): DWORD; stdcall;external bassdll;
--function BASS_ChannelGetInfo(handle: DWORD; var info: BASS_CHANNELINFO):BOOL;stdcall;external bassdll;
--function BASS_ChannelGetTags(handle: HSTREAM; tags: DWORD): PChar; stdcall; external bassdll;
--function BASS_ChannelFlags(handle, flags, mask: DWORD): DWORD; stdcall; external bassdll;
--function BASS_ChannelUpdate(handle, length: DWORD): BOOL; stdcall; external bassdll;
--function BASS_ChannelLock(handle: DWORD; lock: BOOL): BOOL; stdcall; external bassdll;
--function BASS_ChannelPlay(handle: DWORD; restart: BOOL): BOOL; stdcall; external bassdll;
--function BASS_ChannelStop(handle: DWORD): BOOL; stdcall; external bassdll;
--function BASS_ChannelPause(handle: DWORD): BOOL; stdcall; external bassdll;
--function BASS_ChannelSetAttribute(handle, attrib: DWORD; value: FLOAT): BOOL; stdcall; external bassdll;
--function BASS_ChannelGetAttribute(handle, attrib: DWORD; var value: FLOAT): BOOL; stdcall; external bassdll;
--function BASS_ChannelSlideAttribute(handle, attrib: DWORD; value: FLOAT; time: DWORD): BOOL; stdcall; external bassdll;
--function BASS_ChannelIsSliding(handle, attrib: DWORD): BOOL; stdcall;external bassdll;
--function BASS_ChannelSet3DAttributes(handle: DWORD; mode: Integer; min, max: FLOAT; iangle, oangle, outvol: Integer): BOOL; stdcall; external bassdll;
--function BASS_ChannelGet3DAttributes(handle: DWORD; var mode: DWORD; var min, max: FLOAT; var iangle, oangle, outvol: DWORD): BOOL; stdcall; external bassdll;
--function BASS_ChannelSet3DPosition(handle: DWORD; var pos, orient, vel: BASS_3DVECTOR): BOOL; stdcall; external bassdll;
--function BASS_ChannelGet3DPosition(handle: DWORD; var pos, orient, vel: BASS_3DVECTOR): BOOL; stdcall; external bassdll;
--function BASS_ChannelGetLength(handle, mode: DWORD): QWORD; stdcall; external bassdll;
--function BASS_ChannelSetPosition(handle: DWORD; pos: QWORD; mode: DWORD): BOOL; stdcall; external bassdll;
--function BASS_ChannelGetPosition(handle, mode: DWORD): QWORD; stdcall; external bassdll;
--function BASS_ChannelGetLevel(handle: DWORD): DWORD; stdcall; external bassdll;
--function BASS_ChannelGetData(handle: DWORD; buffer: Pointer; length: DWORD): DWORD; stdcall; external bassdll;
--function BASS_ChannelSetSync(handle: DWORD; type_: DWORD; param: QWORD; proc: SYNCPROC; user: Pointer): HSYNC; stdcall; external bassdll;
--function BASS_ChannelRemoveSync(handle: DWORD; sync: HSYNC): BOOL; stdcall; external bassdll;
--function BASS_ChannelSetDSP(handle: DWORD; proc: DSPPROC; user: Pointer; priority: Integer): HDSP; stdcall; external bassdll;
--function BASS_ChannelRemoveDSP(handle: DWORD; dsp: HDSP): BOOL; stdcall; external bassdll;
--function BASS_ChannelSetLink(handle, chan: DWORD): BOOL; stdcall; external bassdll;
--function BASS_ChannelRemoveLink(handle, chan: DWORD): BOOL; stdcall; external bassdll;
--function BASS_ChannelSetFX(handle, type_: DWORD; priority: Integer): HFX; stdcall; external bassdll;
--function BASS_ChannelRemoveFX(handle: DWORD; fx: HFX): BOOL; stdcall; external bassdll;
--
--function BASS_FXSetParameters(handle: HFX; par: Pointer): BOOL; stdcall; external bassdll;
--function BASS_FXGetParameters(handle: HFX; par: Pointer): BOOL; stdcall; external bassdll;
--function BASS_FXReset(handle: HFX): BOOL; stdcall; external bassdll;
-+{$ENDIF}
-+{$IFDEF DARWIN}
-+ bassdll = 'libbass.dylib';
-+{$ENDIF}
-+
-+function BASS_SetConfig(option, value: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_GetConfig(option: DWORD): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_SetConfigPtr(option: DWORD; value: Pointer): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_GetConfigPtr(option: DWORD): Pointer; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_GetVersion: DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ErrorGetCode: Integer; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_GetDeviceInfo(device: DWORD; var info: BASS_DEVICEINFO): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+{$IFDEF MSWINDOWS}
-+function BASS_Init(device: Integer; freq, flags: DWORD; win: HWND; clsid: PGUID): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+{$ELSE}
-+function BASS_Init(device: Integer; freq, flags: DWORD; win: Pointer; clsid: Pointer): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+{$ENDIF}
-+function BASS_SetDevice(device: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_GetDevice: DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_Free: BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+{$IFDEF MSWINDOWS}
-+function BASS_GetDSoundObject(obj: DWORD): Pointer; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+{$ENDIF}
-+function BASS_GetInfo(var info: BASS_INFO): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_Update(length: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_GetCPU: FLOAT; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_Start: BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_Stop: BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_Pause: BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_SetVolume(volume: FLOAT): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_GetVolume: FLOAT; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+
-+function BASS_PluginLoad(filename: PChar; flags: DWORD): HPLUGIN; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_PluginFree(handle: HPLUGIN): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_PluginGetInfo(handle: HPLUGIN): PBASS_PLUGININFO; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+
-+function BASS_Set3DFactors(distf, rollf, doppf: FLOAT): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_Get3DFactors(var distf, rollf, doppf: FLOAT): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_Set3DPosition(var pos, vel, front, top: BASS_3DVECTOR): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_Get3DPosition(var pos, vel, front, top: BASS_3DVECTOR): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+procedure BASS_Apply3D; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+{$IFDEF MSWINDOWS}
-+function BASS_SetEAXParameters(env: Integer; vol, decay, damp: FLOAT): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_GetEAXParameters(var env: DWORD; var vol, decay, damp: FLOAT): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+{$ENDIF}
-+
-+function BASS_MusicLoad(mem: BOOL; f: Pointer; offset: QWORD; length, flags, freq: DWORD): HMUSIC; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_MusicFree(handle: HMUSIC): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+
-+function BASS_SampleLoad(mem: BOOL; f: Pointer; offset: QWORD; length, max, flags: DWORD): HSAMPLE; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_SampleCreate(length, freq, chans, max, flags: DWORD): HSAMPLE; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_SampleFree(handle: HSAMPLE): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_SampleSetData(handle: HSAMPLE; buffer: Pointer): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_SampleGetData(handle: HSAMPLE; buffer: Pointer): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_SampleGetInfo(handle: HSAMPLE; var info: BASS_SAMPLE): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_SampleSetInfo(handle: HSAMPLE; var info: BASS_SAMPLE): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_SampleGetChannel(handle: HSAMPLE; onlynew: BOOL): HCHANNEL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_SampleGetChannels(handle: HSAMPLE; channels: Pointer): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_SampleStop(handle: HSAMPLE): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+
-+function BASS_StreamCreate(freq, chans, flags: DWORD; proc: STREAMPROC; user: Pointer): HSTREAM; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_StreamCreateFile(mem: BOOL; f: Pointer; offset, length: QWORD; flags: DWORD): HSTREAM; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_StreamCreateURL(url: PChar; offset: DWORD; flags: DWORD; proc: DOWNLOADPROC; user: Pointer):HSTREAM; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_StreamCreateFileUser(system, flags: DWORD; var procs: BASS_FILEPROCS; user: Pointer): HSTREAM; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_StreamFree(handle: HSTREAM): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_StreamGetFilePosition(handle: HSTREAM; mode: DWORD): QWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_StreamPutData(handle: HSTREAM; buffer: Pointer; length: DWORD): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_StreamPutFileData(handle: HSTREAM; buffer: Pointer; length: DWORD): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+
-+function BASS_RecordGetDeviceInfo(device: DWORD; var info: BASS_DEVICEINFO): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_RecordInit(device: Integer):BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_RecordSetDevice(device: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_RecordGetDevice: DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_RecordFree: BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_RecordGetInfo(var info: BASS_RECORDINFO): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_RecordGetInputName(input: Integer): PChar; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_RecordSetInput(input: Integer; flags: DWORD; volume: FLOAT): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_RecordGetInput(input: Integer; var volume: FLOAT): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_RecordStart(freq, chans, flags: DWORD; proc: RECORDPROC; user: Pointer): HRECORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+
-+function BASS_ChannelBytes2Seconds(handle: DWORD; pos: QWORD): Double; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}external bassdll;
-+function BASS_ChannelSeconds2Bytes(handle: DWORD; pos: Double): QWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}external bassdll;
-+function BASS_ChannelGetDevice(handle: DWORD): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelSetDevice(handle, device: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelIsActive(handle: DWORD): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}external bassdll;
-+function BASS_ChannelGetInfo(handle: DWORD; var info: BASS_CHANNELINFO):BOOL;{$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}external bassdll;
-+function BASS_ChannelGetTags(handle: HSTREAM; tags: DWORD): PChar; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelFlags(handle, flags, mask: DWORD): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelUpdate(handle, length: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelLock(handle: DWORD; lock: BOOL): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelPlay(handle: DWORD; restart: BOOL): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelStop(handle: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelPause(handle: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelSetAttribute(handle, attrib: DWORD; value: FLOAT): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelGetAttribute(handle, attrib: DWORD; var value: FLOAT): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelSlideAttribute(handle, attrib: DWORD; value: FLOAT; time: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelIsSliding(handle, attrib: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}external bassdll;
-+function BASS_ChannelSet3DAttributes(handle: DWORD; mode: Integer; min, max: FLOAT; iangle, oangle, outvol: Integer): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelGet3DAttributes(handle: DWORD; var mode: DWORD; var min, max: FLOAT; var iangle, oangle, outvol: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelSet3DPosition(handle: DWORD; var pos, orient, vel: BASS_3DVECTOR): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelGet3DPosition(handle: DWORD; var pos, orient, vel: BASS_3DVECTOR): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelGetLength(handle, mode: DWORD): QWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelSetPosition(handle: DWORD; pos: QWORD; mode: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelGetPosition(handle, mode: DWORD): QWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelGetLevel(handle: DWORD): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelGetData(handle: DWORD; buffer: Pointer; length: DWORD): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelSetSync(handle: DWORD; type_: DWORD; param: QWORD; proc: SYNCPROC; user: Pointer): HSYNC; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelRemoveSync(handle: DWORD; sync: HSYNC): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelSetDSP(handle: DWORD; proc: DSPPROC; user: Pointer; priority: Integer): HDSP; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelRemoveDSP(handle: DWORD; dsp: HDSP): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelSetLink(handle, chan: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelRemoveLink(handle, chan: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelSetFX(handle, type_: DWORD; priority: Integer): HFX; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_ChannelRemoveFX(handle: DWORD; fx: HFX): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+
-+function BASS_FXSetParameters(handle: HFX; par: Pointer): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_FXGetParameters(handle: HFX; par: Pointer): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-+function BASS_FXReset(handle: HFX): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-
-
- function BASS_SPEAKER_N(n: DWORD): DWORD;
-+{$IFDEF MSWINDOWS}
- function BASS_SetEAXPreset(env: Integer): BOOL;
- {
- This function is defined in the implementation part of this unit.
-@@ -760,7 +788,7 @@
- to set the predefined EAX environments.
- env : a EAX_ENVIRONMENT_xxx constant
- }
--
-+{$ENDIF}
-
- implementation
-
-@@ -769,6 +797,7 @@
- Result := n shl 24;
- end;
-
-+{$IFDEF MSWINDOWS}
- function BASS_SetEAXPreset(env: Integer): BOOL;
- begin
- case (env) of
-@@ -828,6 +857,7 @@
- Result := FALSE;
- end;
- end;
-+{$ENDIF}
-
- end.
- // END OF FILE /////////////////////////////////////////////////////////////////
diff --git a/Game/Code/lib/bass/delphi/bass.pas b/Game/Code/lib/bass/delphi/bass.pas
deleted file mode 100644
index 3a342a78..00000000
--- a/Game/Code/lib/bass/delphi/bass.pas
+++ /dev/null
@@ -1,865 +0,0 @@
-{
- BASS 2.4 Delphi unit
- Copyright (c) 1999-2008 Un4seen Developments Ltd.
-
- See the BASS.CHM file for more detailed documentation
-
- How to install
- --------------
- Copy BASS.PAS to the \LIB subdirectory of your Delphi path or your project dir
-}
-
-unit Bass;
-
-interface
-
-{$IFDEF FPC}
- {$PACKRECORDS C}
-{$ENDIF}
-
-{$IFDEF MSWINDOWS}
- {$DEFINE DLL_STDCALL}
-{$ELSE}
- {$DEFINE DLL_CDECL}
-{$ENDIF}
-
-{$IFDEF MSWINDOWS}
-uses
- Windows;
-{$ENDIF}
-
-const
- BASSVERSION = $204; // API version
- BASSVERSIONTEXT = '2.4';
-
- // Use these to test for error from functions that return a DWORD or QWORD
- DW_ERROR = Cardinal(-1); // -1 (DWORD)
- QW_ERROR = Int64(-1); // -1 (QWORD)
-
- // Error codes returned by BASS_ErrorGetCode()
- BASS_OK = 0; // all is OK
- BASS_ERROR_MEM = 1; // memory error
- BASS_ERROR_FILEOPEN = 2; // can't open the file
- BASS_ERROR_DRIVER = 3; // can't find a free sound driver
- BASS_ERROR_BUFLOST = 4; // the sample buffer was lost
- BASS_ERROR_HANDLE = 5; // invalid handle
- BASS_ERROR_FORMAT = 6; // unsupported sample format
- BASS_ERROR_POSITION = 7; // invalid position
- BASS_ERROR_INIT = 8; // BASS_Init has not been successfully called
- BASS_ERROR_START = 9; // BASS_Start has not been successfully called
- BASS_ERROR_ALREADY = 14; // already initialized/paused/whatever
- BASS_ERROR_NOCHAN = 18; // can't get a free channel
- BASS_ERROR_ILLTYPE = 19; // an illegal type was specified
- BASS_ERROR_ILLPARAM = 20; // an illegal parameter was specified
- BASS_ERROR_NO3D = 21; // no 3D support
- BASS_ERROR_NOEAX = 22; // no EAX support
- BASS_ERROR_DEVICE = 23; // illegal device number
- BASS_ERROR_NOPLAY = 24; // not playing
- BASS_ERROR_FREQ = 25; // illegal sample rate
- BASS_ERROR_NOTFILE = 27; // the stream is not a file stream
- BASS_ERROR_NOHW = 29; // no hardware voices available
- BASS_ERROR_EMPTY = 31; // the MOD music has no sequence data
- BASS_ERROR_NONET = 32; // no internet connection could be opened
- BASS_ERROR_CREATE = 33; // couldn't create the file
- BASS_ERROR_NOFX = 34; // effects are not enabled
- BASS_ERROR_NOTAVAIL = 37; // requested data is not available
- BASS_ERROR_DECODE = 38; // the channel is a "decoding channel"
- BASS_ERROR_DX = 39; // a sufficient DirectX version is not installed
- BASS_ERROR_TIMEOUT = 40; // connection timedout
- BASS_ERROR_FILEFORM = 41; // unsupported file format
- BASS_ERROR_SPEAKER = 42; // unavailable speaker
- BASS_ERROR_VERSION = 43; // invalid BASS version (used by add-ons)
- BASS_ERROR_CODEC = 44; // codec is not available/supported
- BASS_ERROR_ENDED = 45; // the channel/file has ended
- BASS_ERROR_UNKNOWN = -1; // some other mystery problem
-
- // BASS_SetConfig options
- BASS_CONFIG_BUFFER = 0;
- BASS_CONFIG_UPDATEPERIOD = 1;
- BASS_CONFIG_GVOL_SAMPLE = 4;
- BASS_CONFIG_GVOL_STREAM = 5;
- BASS_CONFIG_GVOL_MUSIC = 6;
- BASS_CONFIG_CURVE_VOL = 7;
- BASS_CONFIG_CURVE_PAN = 8;
- BASS_CONFIG_FLOATDSP = 9;
- BASS_CONFIG_3DALGORITHM = 10;
- BASS_CONFIG_NET_TIMEOUT = 11;
- BASS_CONFIG_NET_BUFFER = 12;
- BASS_CONFIG_PAUSE_NOPLAY = 13;
- BASS_CONFIG_NET_PREBUF = 15;
- BASS_CONFIG_NET_PASSIVE = 18;
- BASS_CONFIG_REC_BUFFER = 19;
- BASS_CONFIG_NET_PLAYLIST = 21;
- BASS_CONFIG_MUSIC_VIRTUAL = 22;
- BASS_CONFIG_VERIFY = 23;
- BASS_CONFIG_UPDATETHREADS = 24;
-
- // BASS_SetConfigPtr options
- BASS_CONFIG_NET_AGENT = 16;
- BASS_CONFIG_NET_PROXY = 17;
-
- // Initialization flags
- BASS_DEVICE_8BITS = 1; // use 8 bit resolution, else 16 bit
- BASS_DEVICE_MONO = 2; // use mono, else stereo
- BASS_DEVICE_3D = 4; // enable 3D functionality
- BASS_DEVICE_LATENCY = 256; // calculate device latency (BASS_INFO struct)
- BASS_DEVICE_CPSPEAKERS = 1024; // detect speakers via Windows control panel
- BASS_DEVICE_SPEAKERS = 2048; // force enabling of speaker assignment
- BASS_DEVICE_NOSPEAKER = 4096; // ignore speaker arrangement
-
- // DirectSound interfaces (for use with BASS_GetDSoundObject)
- BASS_OBJECT_DS = 1; // IDirectSound
- BASS_OBJECT_DS3DL = 2; // IDirectSound3DListener
-
- // BASS_DEVICEINFO flags
- BASS_DEVICE_ENABLED = 1;
- BASS_DEVICE_DEFAULT = 2;
- BASS_DEVICE_INIT = 4;
-
- // BASS_INFO flags (from DSOUND.H)
- DSCAPS_CONTINUOUSRATE = $00000010; // supports all sample rates between min/maxrate
- DSCAPS_EMULDRIVER = $00000020; // device does NOT have hardware DirectSound support
- DSCAPS_CERTIFIED = $00000040; // device driver has been certified by Microsoft
- DSCAPS_SECONDARYMONO = $00000100; // mono
- DSCAPS_SECONDARYSTEREO = $00000200; // stereo
- DSCAPS_SECONDARY8BIT = $00000400; // 8 bit
- DSCAPS_SECONDARY16BIT = $00000800; // 16 bit
-
- // BASS_RECORDINFO flags (from DSOUND.H)
- DSCCAPS_EMULDRIVER = DSCAPS_EMULDRIVER; // device does NOT have hardware DirectSound recording support
- DSCCAPS_CERTIFIED = DSCAPS_CERTIFIED; // device driver has been certified by Microsoft
-
- // defines for formats field of BASS_RECORDINFO (from MMSYSTEM.H)
- WAVE_FORMAT_1M08 = $00000001; // 11.025 kHz, Mono, 8-bit
- WAVE_FORMAT_1S08 = $00000002; // 11.025 kHz, Stereo, 8-bit
- WAVE_FORMAT_1M16 = $00000004; // 11.025 kHz, Mono, 16-bit
- WAVE_FORMAT_1S16 = $00000008; // 11.025 kHz, Stereo, 16-bit
- WAVE_FORMAT_2M08 = $00000010; // 22.05 kHz, Mono, 8-bit
- WAVE_FORMAT_2S08 = $00000020; // 22.05 kHz, Stereo, 8-bit
- WAVE_FORMAT_2M16 = $00000040; // 22.05 kHz, Mono, 16-bit
- WAVE_FORMAT_2S16 = $00000080; // 22.05 kHz, Stereo, 16-bit
- WAVE_FORMAT_4M08 = $00000100; // 44.1 kHz, Mono, 8-bit
- WAVE_FORMAT_4S08 = $00000200; // 44.1 kHz, Stereo, 8-bit
- WAVE_FORMAT_4M16 = $00000400; // 44.1 kHz, Mono, 16-bit
- WAVE_FORMAT_4S16 = $00000800; // 44.1 kHz, Stereo, 16-bit
-
- BASS_SAMPLE_8BITS = 1; // 8 bit
- BASS_SAMPLE_FLOAT = 256; // 32-bit floating-point
- BASS_SAMPLE_MONO = 2; // mono
- BASS_SAMPLE_LOOP = 4; // looped
- BASS_SAMPLE_3D = 8; // 3D functionality
- BASS_SAMPLE_SOFTWARE = 16; // not using hardware mixing
- BASS_SAMPLE_MUTEMAX = 32; // mute at max distance (3D only)
- BASS_SAMPLE_VAM = 64; // DX7 voice allocation & management
- BASS_SAMPLE_FX = 128; // old implementation of DX8 effects
- BASS_SAMPLE_OVER_VOL = $10000; // override lowest volume
- BASS_SAMPLE_OVER_POS = $20000; // override longest playing
- BASS_SAMPLE_OVER_DIST = $30000; // override furthest from listener (3D only)
-
- BASS_STREAM_PRESCAN = $20000; // enable pin-point seeking/length (MP3/MP2/MP1)
- BASS_MP3_SETPOS = BASS_STREAM_PRESCAN;
- BASS_STREAM_AUTOFREE = $40000; // automatically free the stream when it stop/ends
- BASS_STREAM_RESTRATE = $80000; // restrict the download rate of internet file streams
- BASS_STREAM_BLOCK = $100000;// download/play internet file stream in small blocks
- BASS_STREAM_DECODE = $200000;// don't play the stream, only decode (BASS_ChannelGetData)
- BASS_STREAM_STATUS = $800000;// give server status info (HTTP/ICY tags) in DOWNLOADPROC
-
- BASS_MUSIC_FLOAT = BASS_SAMPLE_FLOAT;
- BASS_MUSIC_MONO = BASS_SAMPLE_MONO;
- BASS_MUSIC_LOOP = BASS_SAMPLE_LOOP;
- BASS_MUSIC_3D = BASS_SAMPLE_3D;
- BASS_MUSIC_FX = BASS_SAMPLE_FX;
- BASS_MUSIC_AUTOFREE = BASS_STREAM_AUTOFREE;
- BASS_MUSIC_DECODE = BASS_STREAM_DECODE;
- BASS_MUSIC_PRESCAN = BASS_STREAM_PRESCAN; // calculate playback length
- BASS_MUSIC_CALCLEN = BASS_MUSIC_PRESCAN;
- BASS_MUSIC_RAMP = $200; // normal ramping
- BASS_MUSIC_RAMPS = $400; // sensitive ramping
- BASS_MUSIC_SURROUND = $800; // surround sound
- BASS_MUSIC_SURROUND2 = $1000; // surround sound (mode 2)
- BASS_MUSIC_FT2MOD = $2000; // play .MOD as FastTracker 2 does
- BASS_MUSIC_PT1MOD = $4000; // play .MOD as ProTracker 1 does
- BASS_MUSIC_NONINTER = $10000; // non-interpolated sample mixing
- BASS_MUSIC_SINCINTER = $800000; // sinc interpolated sample mixing
- BASS_MUSIC_POSRESET = $8000; // stop all notes when moving position
- BASS_MUSIC_POSRESETEX = $400000; // stop all notes and reset bmp/etc when moving position
- BASS_MUSIC_STOPBACK = $80000; // stop the music on a backwards jump effect
- BASS_MUSIC_NOSAMPLE = $100000; // don't load the samples
-
- // Speaker assignment flags
- BASS_SPEAKER_FRONT = $1000000; // front speakers
- BASS_SPEAKER_REAR = $2000000; // rear/side speakers
- BASS_SPEAKER_CENLFE = $3000000; // center & LFE speakers (5.1)
- BASS_SPEAKER_REAR2 = $4000000; // rear center speakers (7.1)
- BASS_SPEAKER_LEFT = $10000000; // modifier: left
- BASS_SPEAKER_RIGHT = $20000000; // modifier: right
- BASS_SPEAKER_FRONTLEFT = BASS_SPEAKER_FRONT or BASS_SPEAKER_LEFT;
- BASS_SPEAKER_FRONTRIGHT = BASS_SPEAKER_FRONT or BASS_SPEAKER_RIGHT;
- BASS_SPEAKER_REARLEFT = BASS_SPEAKER_REAR or BASS_SPEAKER_LEFT;
- BASS_SPEAKER_REARRIGHT = BASS_SPEAKER_REAR or BASS_SPEAKER_RIGHT;
- BASS_SPEAKER_CENTER = BASS_SPEAKER_CENLFE or BASS_SPEAKER_LEFT;
- BASS_SPEAKER_LFE = BASS_SPEAKER_CENLFE or BASS_SPEAKER_RIGHT;
- BASS_SPEAKER_REAR2LEFT = BASS_SPEAKER_REAR2 or BASS_SPEAKER_LEFT;
- BASS_SPEAKER_REAR2RIGHT = BASS_SPEAKER_REAR2 or BASS_SPEAKER_RIGHT;
-
- BASS_UNICODE = $80000000;
-
- BASS_RECORD_PAUSE = $8000; // start recording paused
-
- // DX7 voice allocation & management flags
- BASS_VAM_HARDWARE = 1;
- BASS_VAM_SOFTWARE = 2;
- BASS_VAM_TERM_TIME = 4;
- BASS_VAM_TERM_DIST = 8;
- BASS_VAM_TERM_PRIO = 16;
-
- // BASS_CHANNELINFO types
- BASS_CTYPE_SAMPLE = 1;
- BASS_CTYPE_RECORD = 2;
- BASS_CTYPE_STREAM = $10000;
- BASS_CTYPE_STREAM_OGG = $10002;
- BASS_CTYPE_STREAM_MP1 = $10003;
- BASS_CTYPE_STREAM_MP2 = $10004;
- BASS_CTYPE_STREAM_MP3 = $10005;
- BASS_CTYPE_STREAM_AIFF = $10006;
- BASS_CTYPE_STREAM_WAV = $40000; // WAVE flag, LOWORD=codec
- BASS_CTYPE_STREAM_WAV_PCM = $50001;
- BASS_CTYPE_STREAM_WAV_FLOAT = $50003;
- BASS_CTYPE_MUSIC_MOD = $20000;
- BASS_CTYPE_MUSIC_MTM = $20001;
- BASS_CTYPE_MUSIC_S3M = $20002;
- BASS_CTYPE_MUSIC_XM = $20003;
- BASS_CTYPE_MUSIC_IT = $20004;
- BASS_CTYPE_MUSIC_MO3 = $00100; // MO3 flag
-
- // 3D channel modes
- BASS_3DMODE_NORMAL = 0; // normal 3D processing
- BASS_3DMODE_RELATIVE = 1; // position is relative to the listener
- BASS_3DMODE_OFF = 2; // no 3D processing
-
- // software 3D mixing algorithms (used with BASS_CONFIG_3DALGORITHM)
- BASS_3DALG_DEFAULT = 0;
- BASS_3DALG_OFF = 1;
- BASS_3DALG_FULL = 2;
- BASS_3DALG_LIGHT = 3;
-
-{$IFDEF MSWINDOWS}
- // EAX environments, use with BASS_SetEAXParameters
- EAX_ENVIRONMENT_GENERIC = 0;
- EAX_ENVIRONMENT_PADDEDCELL = 1;
- EAX_ENVIRONMENT_ROOM = 2;
- EAX_ENVIRONMENT_BATHROOM = 3;
- EAX_ENVIRONMENT_LIVINGROOM = 4;
- EAX_ENVIRONMENT_STONEROOM = 5;
- EAX_ENVIRONMENT_AUDITORIUM = 6;
- EAX_ENVIRONMENT_CONCERTHALL = 7;
- EAX_ENVIRONMENT_CAVE = 8;
- EAX_ENVIRONMENT_ARENA = 9;
- EAX_ENVIRONMENT_HANGAR = 10;
- EAX_ENVIRONMENT_CARPETEDHALLWAY = 11;
- EAX_ENVIRONMENT_HALLWAY = 12;
- EAX_ENVIRONMENT_STONECORRIDOR = 13;
- EAX_ENVIRONMENT_ALLEY = 14;
- EAX_ENVIRONMENT_FOREST = 15;
- EAX_ENVIRONMENT_CITY = 16;
- EAX_ENVIRONMENT_MOUNTAINS = 17;
- EAX_ENVIRONMENT_QUARRY = 18;
- EAX_ENVIRONMENT_PLAIN = 19;
- EAX_ENVIRONMENT_PARKINGLOT = 20;
- EAX_ENVIRONMENT_SEWERPIPE = 21;
- EAX_ENVIRONMENT_UNDERWATER = 22;
- EAX_ENVIRONMENT_DRUGGED = 23;
- EAX_ENVIRONMENT_DIZZY = 24;
- EAX_ENVIRONMENT_PSYCHOTIC = 25;
- // total number of environments
- EAX_ENVIRONMENT_COUNT = 26;
-{$ENDIF}
-
- BASS_STREAMPROC_END = $80000000; // end of user stream flag
-
-
- // BASS_StreamCreateFileUser file systems
- STREAMFILE_NOBUFFER = 0;
- STREAMFILE_BUFFER = 1;
- STREAMFILE_BUFFERPUSH = 2;
-
- // BASS_StreamPutFileData options
- BASS_FILEDATA_END = 0; // end & close the file
-
- // BASS_StreamGetFilePosition modes
- BASS_FILEPOS_CURRENT = 0;
- BASS_FILEPOS_DECODE = BASS_FILEPOS_CURRENT;
- BASS_FILEPOS_DOWNLOAD = 1;
- BASS_FILEPOS_END = 2;
- BASS_FILEPOS_START = 3;
- BASS_FILEPOS_CONNECTED = 4;
- BASS_FILEPOS_BUFFER = 5;
-
- // BASS_ChannelSetSync types
- BASS_SYNC_POS = 0;
- BASS_SYNC_END = 2;
- BASS_SYNC_META = 4;
- BASS_SYNC_SLIDE = 5;
- BASS_SYNC_STALL = 6;
- BASS_SYNC_DOWNLOAD = 7;
- BASS_SYNC_FREE = 8;
- BASS_SYNC_SETPOS = 11;
- BASS_SYNC_MUSICPOS = 10;
- BASS_SYNC_MUSICINST = 1;
- BASS_SYNC_MUSICFX = 3;
- BASS_SYNC_OGG_CHANGE = 12;
- BASS_SYNC_MIXTIME = $40000000; // FLAG: sync at mixtime, else at playtime
- BASS_SYNC_ONETIME = $80000000; // FLAG: sync only once, else continuously
-
- // BASS_ChannelIsActive return values
- BASS_ACTIVE_STOPPED = 0;
- BASS_ACTIVE_PLAYING = 1;
- BASS_ACTIVE_STALLED = 2;
- BASS_ACTIVE_PAUSED = 3;
-
- // Channel attributes
- BASS_ATTRIB_FREQ = 1;
- BASS_ATTRIB_VOL = 2;
- BASS_ATTRIB_PAN = 3;
- BASS_ATTRIB_EAXMIX = 4;
- BASS_ATTRIB_MUSIC_AMPLIFY = $100;
- BASS_ATTRIB_MUSIC_PANSEP = $101;
- BASS_ATTRIB_MUSIC_PSCALER = $102;
- BASS_ATTRIB_MUSIC_BPM = $103;
- BASS_ATTRIB_MUSIC_SPEED = $104;
- BASS_ATTRIB_MUSIC_VOL_GLOBAL = $105;
- BASS_ATTRIB_MUSIC_VOL_CHAN = $200; // + channel #
- BASS_ATTRIB_MUSIC_VOL_INST = $300; // + instrument #
-
- // BASS_ChannelGetData flags
- BASS_DATA_AVAILABLE = 0; // query how much data is buffered
- BASS_DATA_FLOAT = $40000000; // flag: return floating-point sample data
- BASS_DATA_FFT256 = $80000000; // 256 sample FFT
- BASS_DATA_FFT512 = $80000001; // 512 FFT
- BASS_DATA_FFT1024 = $80000002; // 1024 FFT
- BASS_DATA_FFT2048 = $80000003; // 2048 FFT
- BASS_DATA_FFT4096 = $80000004; // 4096 FFT
- BASS_DATA_FFT8192 = $80000005; // 8192 FFT
- BASS_DATA_FFT_INDIVIDUAL = $10; // FFT flag: FFT for each channel, else all combined
- BASS_DATA_FFT_NOWINDOW = $20; // FFT flag: no Hanning window
-
- // BASS_ChannelGetTags types : what's returned
- BASS_TAG_ID3 = 0; // ID3v1 tags : 128 byte block
- BASS_TAG_ID3V2 = 1; // ID3v2 tags : variable length block
- BASS_TAG_OGG = 2; // OGG comments : series of null-terminated strings
- BASS_TAG_HTTP = 3; // HTTP headers : series of null-terminated strings
- BASS_TAG_ICY = 4; // ICY headers : series of null-terminated strings
- BASS_TAG_META = 5; // ICY metadata : null-terminated string
- BASS_TAG_VENDOR = 9; // OGG encoder : null-terminated string
- BASS_TAG_LYRICS3 = 10; // Lyric3v2 tag : ASCII string
- BASS_TAG_RIFF_INFO = $100; // RIFF/WAVE tags : series of null-terminated ANSI strings
- BASS_TAG_MUSIC_NAME = $10000; // MOD music name : ANSI string
- BASS_TAG_MUSIC_MESSAGE = $10001; // MOD message : ANSI string
- BASS_TAG_MUSIC_INST = $10100; // + instrument #, MOD instrument name : ANSI string
- BASS_TAG_MUSIC_SAMPLE = $10300; // + sample #, MOD sample name : ANSI string
-
- // BASS_ChannelGetLength/GetPosition/SetPosition modes
- BASS_POS_BYTE = 0; // byte position
- BASS_POS_MUSIC_ORDER = 1; // order.row position, MAKELONG(order,row)
-
- // BASS_RecordSetInput flags
- BASS_INPUT_OFF = $10000;
- BASS_INPUT_ON = $20000;
-
- BASS_INPUT_TYPE_MASK = $FF000000;
- BASS_INPUT_TYPE_UNDEF = $00000000;
- BASS_INPUT_TYPE_DIGITAL = $01000000;
- BASS_INPUT_TYPE_LINE = $02000000;
- BASS_INPUT_TYPE_MIC = $03000000;
- BASS_INPUT_TYPE_SYNTH = $04000000;
- BASS_INPUT_TYPE_CD = $05000000;
- BASS_INPUT_TYPE_PHONE = $06000000;
- BASS_INPUT_TYPE_SPEAKER = $07000000;
- BASS_INPUT_TYPE_WAVE = $08000000;
- BASS_INPUT_TYPE_AUX = $09000000;
- BASS_INPUT_TYPE_ANALOG = $0A000000;
-
- BASS_FX_DX8_CHORUS = 0;
- BASS_FX_DX8_COMPRESSOR = 1;
- BASS_FX_DX8_DISTORTION = 2;
- BASS_FX_DX8_ECHO = 3;
- BASS_FX_DX8_FLANGER = 4;
- BASS_FX_DX8_GARGLE = 5;
- BASS_FX_DX8_I3DL2REVERB = 6;
- BASS_FX_DX8_PARAMEQ = 7;
- BASS_FX_DX8_REVERB = 8;
-
- BASS_DX8_PHASE_NEG_180 = 0;
- BASS_DX8_PHASE_NEG_90 = 1;
- BASS_DX8_PHASE_ZERO = 2;
- BASS_DX8_PHASE_90 = 3;
- BASS_DX8_PHASE_180 = 4;
-
-type
- DWORD = cardinal;
- BOOL = LongBool;
- FLOAT = Single;
- QWORD = int64; // 64-bit (replace "int64" with "comp" if using Delphi 3)
-
- HMUSIC = DWORD; // MOD music handle
- HSAMPLE = DWORD; // sample handle
- HCHANNEL = DWORD; // playing sample's channel handle
- HSTREAM = DWORD; // sample stream handle
- HRECORD = DWORD; // recording handle
- HSYNC = DWORD; // synchronizer handle
- HDSP = DWORD; // DSP handle
- HFX = DWORD; // DX8 effect handle
- HPLUGIN = DWORD; // Plugin handle
-
- // Device info structure
- BASS_DEVICEINFO = record
- name: PChar; // description
- driver: PChar; // driver
- flags: DWORD;
- end;
-
- BASS_INFO = record
- flags: DWORD; // device capabilities (DSCAPS_xxx flags)
- hwsize: DWORD; // size of total device hardware memory
- hwfree: DWORD; // size of free device hardware memory
- freesam: DWORD; // number of free sample slots in the hardware
- free3d: DWORD; // number of free 3D sample slots in the hardware
- minrate: DWORD; // min sample rate supported by the hardware
- maxrate: DWORD; // max sample rate supported by the hardware
- eax: BOOL; // device supports EAX? (always FALSE if BASS_DEVICE_3D was not used)
- minbuf: DWORD; // recommended minimum buffer length in ms (requires BASS_DEVICE_LATENCY)
- dsver: DWORD; // DirectSound version
- latency: DWORD; // delay (in ms) before start of playback (requires BASS_DEVICE_LATENCY)
- initflags: DWORD; // BASS_Init "flags" parameter
- speakers: DWORD; // number of speakers available
- freq: DWORD; // current output rate (OSX only)
- end;
-
- // Recording device info structure
- BASS_RECORDINFO = record
- flags: DWORD; // device capabilities (DSCCAPS_xxx flags)
- formats: DWORD; // supported standard formats (WAVE_FORMAT_xxx flags)
- inputs: DWORD; // number of inputs
- singlein: BOOL; // only 1 input can be set at a time
- driver: PChar; // driver
- freq: DWORD; // current input rate (OSX only)
- end;
-
- // Sample info structure
- BASS_SAMPLE = record
- freq: DWORD; // default playback rate
- volume: FLOAT; // default volume (0-100)
- pan: FLOAT; // default pan (-100=left, 0=middle, 100=right)
- flags: DWORD; // BASS_SAMPLE_xxx flags
- length: DWORD; // length (in samples, not bytes)
- max: DWORD; // maximum simultaneous playbacks
- origres: DWORD; // original resolution
- chans: DWORD; // number of channels
- mingap: DWORD; // minimum gap (ms) between creating channels
- mode3d: DWORD; // BASS_3DMODE_xxx mode
- mindist: FLOAT; // minimum distance
- maxdist: FLOAT; // maximum distance
- iangle: DWORD; // angle of inside projection cone
- oangle: DWORD; // angle of outside projection cone
- outvol: FLOAT; // delta-volume outside the projection cone
- vam: DWORD; // voice allocation/management flags (BASS_VAM_xxx)
- priority: DWORD; // priority (0=lowest, $ffffffff=highest)
- end;
-
- // Channel info structure
- BASS_CHANNELINFO = record
- freq: DWORD; // default playback rate
- chans: DWORD; // channels
- flags: DWORD; // BASS_SAMPLE/STREAM/MUSIC/SPEAKER flags
- ctype: DWORD; // type of channel
- origres: DWORD; // original resolution
- plugin: HPLUGIN; // plugin
- sample: HSAMPLE; // sample
- filename: PChar; // filename
- end;
-
- BASS_PLUGINFORM = record
- ctype: DWORD; // channel type
- name: PChar; // format description
- exts: PChar; // file extension filter (*.ext1;*.ext2;etc...)
- end;
- PBASS_PLUGINFORMS = ^TBASS_PLUGINFORMS;
- TBASS_PLUGINFORMS = array[0..maxInt div sizeOf(BASS_PLUGINFORM) - 1] of BASS_PLUGINFORM;
-
- BASS_PLUGININFO = record
- version: DWORD; // version (same form as BASS_GetVersion)
- formatc: DWORD; // number of formats
- formats: PBASS_PLUGINFORMS; // the array of formats
- end;
- PBASS_PLUGININFO = ^BASS_PLUGININFO;
-
- // 3D vector (for 3D positions/velocities/orientations)
- BASS_3DVECTOR = record
- x: FLOAT; // +=right, -=left
- y: FLOAT; // +=up, -=down
- z: FLOAT; // +=front, -=behind
- end;
-
- // User file stream callback functions
- FILECLOSEPROC = procedure(user: Pointer); {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}
- FILELENPROC = function(user: Pointer): QWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}
- FILEREADPROC = function(buffer: Pointer; length: DWORD; user: Pointer): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}
- FILESEEKPROC = function(offset: QWORD; user: Pointer): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}
-
- BASS_FILEPROCS = record
- close: FILECLOSEPROC;
- length: FILELENPROC;
- read: FILEREADPROC;
- seek: FILESEEKPROC;
- end;
-
- BASS_DX8_CHORUS = record
- fWetDryMix: FLOAT;
- fDepth: FLOAT;
- fFeedback: FLOAT;
- fFrequency: FLOAT;
- lWaveform: DWORD; // 0=triangle, 1=sine
- fDelay: FLOAT;
- lPhase: DWORD; // BASS_DX8_PHASE_xxx
- end;
-
- BASS_DX8_COMPRESSOR = record
- fGain: FLOAT;
- fAttack: FLOAT;
- fRelease: FLOAT;
- fThreshold: FLOAT;
- fRatio: FLOAT;
- fPredelay: FLOAT;
- end;
-
- BASS_DX8_DISTORTION = record
- fGain: FLOAT;
- fEdge: FLOAT;
- fPostEQCenterFrequency: FLOAT;
- fPostEQBandwidth: FLOAT;
- fPreLowpassCutoff: FLOAT;
- end;
-
- BASS_DX8_ECHO = record
- fWetDryMix: FLOAT;
- fFeedback: FLOAT;
- fLeftDelay: FLOAT;
- fRightDelay: FLOAT;
- lPanDelay: BOOL;
- end;
-
- BASS_DX8_FLANGER = record
- fWetDryMix: FLOAT;
- fDepth: FLOAT;
- fFeedback: FLOAT;
- fFrequency: FLOAT;
- lWaveform: DWORD; // 0=triangle, 1=sine
- fDelay: FLOAT;
- lPhase: DWORD; // BASS_DX8_PHASE_xxx
- end;
-
- BASS_DX8_GARGLE = record
- dwRateHz: DWORD; // Rate of modulation in hz
- dwWaveShape: DWORD; // 0=triangle, 1=square
- end;
-
- BASS_DX8_I3DL2REVERB = record
- lRoom: Longint; // [-10000, 0] default: -1000 mB
- lRoomHF: Longint; // [-10000, 0] default: 0 mB
- flRoomRolloffFactor: FLOAT; // [0.0, 10.0] default: 0.0
- flDecayTime: FLOAT; // [0.1, 20.0] default: 1.49s
- flDecayHFRatio: FLOAT; // [0.1, 2.0] default: 0.83
- lReflections: Longint; // [-10000, 1000] default: -2602 mB
- flReflectionsDelay: FLOAT; // [0.0, 0.3] default: 0.007 s
- lReverb: Longint; // [-10000, 2000] default: 200 mB
- flReverbDelay: FLOAT; // [0.0, 0.1] default: 0.011 s
- flDiffusion: FLOAT; // [0.0, 100.0] default: 100.0 %
- flDensity: FLOAT; // [0.0, 100.0] default: 100.0 %
- flHFReference: FLOAT; // [20.0, 20000.0] default: 5000.0 Hz
- end;
-
- BASS_DX8_PARAMEQ = record
- fCenter: FLOAT;
- fBandwidth: FLOAT;
- fGain: FLOAT;
- end;
-
- BASS_DX8_REVERB = record
- fInGain: FLOAT; // [-96.0,0.0] default: 0.0 dB
- fReverbMix: FLOAT; // [-96.0,0.0] default: 0.0 db
- fReverbTime: FLOAT; // [0.001,3000.0] default: 1000.0 ms
- fHighFreqRTRatio: FLOAT; // [0.001,0.999] default: 0.001
- end;
-
- // callback function types
- STREAMPROC = function(handle: HSTREAM; buffer: Pointer; length: DWORD; user: Pointer): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}
- {
- User stream callback function. NOTE: A stream function should obviously be as
- quick as possible, other streams (and MOD musics) can't be mixed until
- it's finished.
- handle : The stream that needs writing
- buffer : Buffer to write the samples in
- length : Number of bytes to write
- user : The 'user' parameter value given when calling BASS_StreamCreate
- RETURN : Number of bytes written. Set the BASS_STREAMPROC_END flag to end
- the stream.
- }
-
-const
- // special STREAMPROCs
- STREAMPROC_DUMMY {: STREAMPROC} = Pointer(0); // "dummy" stream
- STREAMPROC_PUSH {: STREAMPROC} = Pointer(-1); // push stream
-
-type
-
- DOWNLOADPROC = procedure(buffer: Pointer; length: DWORD; user: Pointer); {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}
- {
- Internet stream download callback function.
- buffer : Buffer containing the downloaded data... NULL=end of download
- length : Number of bytes in the buffer
- user : The 'user' parameter value given when calling BASS_StreamCreateURL
- }
-
- SYNCPROC = procedure(handle: HSYNC; channel, data: DWORD; user: Pointer); {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}
- {
- Sync callback function. NOTE: a sync callback function should be very
- quick as other syncs cannot be processed until it has finished. If the
- sync is a "mixtime" sync, then other streams and MOD musics can not be
- mixed until it's finished either.
- handle : The sync that has occured
- channel: Channel that the sync occured in
- data : Additional data associated with the sync's occurance
- user : The 'user' parameter given when calling BASS_ChannelSetSync
- }
-
- DSPPROC = procedure(handle: HDSP; channel: DWORD; buffer: Pointer; length: DWORD; user: Pointer); {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}
- {
- DSP callback function. NOTE: A DSP function should obviously be as quick
- as possible... other DSP functions, streams and MOD musics can not be
- processed until it's finished.
- handle : The DSP handle
- channel: Channel that the DSP is being applied to
- buffer : Buffer to apply the DSP to
- length : Number of bytes in the buffer
- user : The 'user' parameter given when calling BASS_ChannelSetDSP
- }
-
- RECORDPROC = function(handle: HRECORD; buffer: Pointer; length: DWORD; user: Pointer): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}
- {
- Recording callback function.
- handle : The recording handle
- buffer : Buffer containing the recorded sample data
- length : Number of bytes
- user : The 'user' parameter value given when calling BASS_RecordStart
- RETURN : TRUE = continue recording, FALSE = stop
- }
-
-
-// Functions
-const
-{$IFDEF MSWINDOWS}
- bassdll = 'bass.dll';
-{$ENDIF}
-{$IFDEF DARWIN}
- bassdll = 'libbass.dylib';
- {$linklib libbass}
-{$ENDIF}
-
-function BASS_SetConfig(option, value: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_GetConfig(option: DWORD): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_SetConfigPtr(option: DWORD; value: Pointer): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_GetConfigPtr(option: DWORD): Pointer; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_GetVersion: DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ErrorGetCode: Integer; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_GetDeviceInfo(device: DWORD; var info: BASS_DEVICEINFO): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-{$IFDEF MSWINDOWS}
-function BASS_Init(device: Integer; freq, flags: DWORD; win: HWND; clsid: PGUID): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-{$ELSE}
-function BASS_Init(device: Integer; freq, flags: DWORD; win: Pointer; clsid: Pointer): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-{$ENDIF}
-function BASS_SetDevice(device: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_GetDevice: DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_Free: BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-{$IFDEF MSWINDOWS}
-function BASS_GetDSoundObject(obj: DWORD): Pointer; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-{$ENDIF}
-function BASS_GetInfo(var info: BASS_INFO): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_Update(length: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_GetCPU: FLOAT; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_Start: BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_Stop: BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_Pause: BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_SetVolume(volume: FLOAT): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_GetVolume: FLOAT; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-
-function BASS_PluginLoad(filename: PChar; flags: DWORD): HPLUGIN; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_PluginFree(handle: HPLUGIN): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_PluginGetInfo(handle: HPLUGIN): PBASS_PLUGININFO; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-
-function BASS_Set3DFactors(distf, rollf, doppf: FLOAT): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_Get3DFactors(var distf, rollf, doppf: FLOAT): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_Set3DPosition(var pos, vel, front, top: BASS_3DVECTOR): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_Get3DPosition(var pos, vel, front, top: BASS_3DVECTOR): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-procedure BASS_Apply3D; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-{$IFDEF MSWINDOWS}
-function BASS_SetEAXParameters(env: Integer; vol, decay, damp: FLOAT): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_GetEAXParameters(var env: DWORD; var vol, decay, damp: FLOAT): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-{$ENDIF}
-
-function BASS_MusicLoad(mem: BOOL; f: Pointer; offset: QWORD; length, flags, freq: DWORD): HMUSIC; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_MusicFree(handle: HMUSIC): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-
-function BASS_SampleLoad(mem: BOOL; f: Pointer; offset: QWORD; length, max, flags: DWORD): HSAMPLE; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_SampleCreate(length, freq, chans, max, flags: DWORD): HSAMPLE; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_SampleFree(handle: HSAMPLE): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_SampleSetData(handle: HSAMPLE; buffer: Pointer): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_SampleGetData(handle: HSAMPLE; buffer: Pointer): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_SampleGetInfo(handle: HSAMPLE; var info: BASS_SAMPLE): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_SampleSetInfo(handle: HSAMPLE; var info: BASS_SAMPLE): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_SampleGetChannel(handle: HSAMPLE; onlynew: BOOL): HCHANNEL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_SampleGetChannels(handle: HSAMPLE; channels: Pointer): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_SampleStop(handle: HSAMPLE): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-
-function BASS_StreamCreate(freq, chans, flags: DWORD; proc: STREAMPROC; user: Pointer): HSTREAM; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_StreamCreateFile(mem: BOOL; f: Pointer; offset, length: QWORD; flags: DWORD): HSTREAM; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_StreamCreateURL(url: PChar; offset: DWORD; flags: DWORD; proc: DOWNLOADPROC; user: Pointer):HSTREAM; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_StreamCreateFileUser(system, flags: DWORD; var procs: BASS_FILEPROCS; user: Pointer): HSTREAM; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_StreamFree(handle: HSTREAM): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_StreamGetFilePosition(handle: HSTREAM; mode: DWORD): QWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_StreamPutData(handle: HSTREAM; buffer: Pointer; length: DWORD): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_StreamPutFileData(handle: HSTREAM; buffer: Pointer; length: DWORD): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-
-function BASS_RecordGetDeviceInfo(device: DWORD; var info: BASS_DEVICEINFO): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_RecordInit(device: Integer):BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_RecordSetDevice(device: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_RecordGetDevice: DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_RecordFree: BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_RecordGetInfo(var info: BASS_RECORDINFO): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_RecordGetInputName(input: Integer): PChar; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_RecordSetInput(input: Integer; flags: DWORD; volume: FLOAT): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_RecordGetInput(input: Integer; var volume: FLOAT): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_RecordStart(freq, chans, flags: DWORD; proc: RECORDPROC; user: Pointer): HRECORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-
-function BASS_ChannelBytes2Seconds(handle: DWORD; pos: QWORD): Double; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}external bassdll;
-function BASS_ChannelSeconds2Bytes(handle: DWORD; pos: Double): QWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}external bassdll;
-function BASS_ChannelGetDevice(handle: DWORD): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelSetDevice(handle, device: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelIsActive(handle: DWORD): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}external bassdll;
-function BASS_ChannelGetInfo(handle: DWORD; var info: BASS_CHANNELINFO):BOOL;{$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}external bassdll;
-function BASS_ChannelGetTags(handle: HSTREAM; tags: DWORD): PChar; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelFlags(handle, flags, mask: DWORD): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelUpdate(handle, length: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelLock(handle: DWORD; lock: BOOL): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelPlay(handle: DWORD; restart: BOOL): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelStop(handle: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelPause(handle: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelSetAttribute(handle, attrib: DWORD; value: FLOAT): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelGetAttribute(handle, attrib: DWORD; var value: FLOAT): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelSlideAttribute(handle, attrib: DWORD; value: FLOAT; time: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelIsSliding(handle, attrib: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF}external bassdll;
-function BASS_ChannelSet3DAttributes(handle: DWORD; mode: Integer; min, max: FLOAT; iangle, oangle, outvol: Integer): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelGet3DAttributes(handle: DWORD; var mode: DWORD; var min, max: FLOAT; var iangle, oangle, outvol: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelSet3DPosition(handle: DWORD; var pos, orient, vel: BASS_3DVECTOR): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelGet3DPosition(handle: DWORD; var pos, orient, vel: BASS_3DVECTOR): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelGetLength(handle, mode: DWORD): QWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelSetPosition(handle: DWORD; pos: QWORD; mode: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelGetPosition(handle, mode: DWORD): QWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelGetLevel(handle: DWORD): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelGetData(handle: DWORD; buffer: Pointer; length: DWORD): DWORD; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelSetSync(handle: DWORD; type_: DWORD; param: QWORD; proc: SYNCPROC; user: Pointer): HSYNC; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelRemoveSync(handle: DWORD; sync: HSYNC): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelSetDSP(handle: DWORD; proc: DSPPROC; user: Pointer; priority: Integer): HDSP; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelRemoveDSP(handle: DWORD; dsp: HDSP): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelSetLink(handle, chan: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelRemoveLink(handle, chan: DWORD): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelSetFX(handle, type_: DWORD; priority: Integer): HFX; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_ChannelRemoveFX(handle: DWORD; fx: HFX): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-
-function BASS_FXSetParameters(handle: HFX; par: Pointer): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_FXGetParameters(handle: HFX; par: Pointer): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-function BASS_FXReset(handle: HFX): BOOL; {$IFDEF DLL_STDCALL}stdcall;{$ENDIF}{$IFDEF DLL_CDECL}cdecl;{$ENDIF} external bassdll;
-
-
-function BASS_SPEAKER_N(n: DWORD): DWORD;
-{$IFDEF MSWINDOWS}
-function BASS_SetEAXPreset(env: Integer): BOOL;
-{
- This function is defined in the implementation part of this unit.
- It is not part of BASS.DLL but an extra function which makes it easier
- to set the predefined EAX environments.
- env : a EAX_ENVIRONMENT_xxx constant
-}
-{$ENDIF}
-
-implementation
-
-function BASS_SPEAKER_N(n: DWORD): DWORD;
-begin
- Result := n shl 24;
-end;
-
-{$IFDEF MSWINDOWS}
-function BASS_SetEAXPreset(env: Integer): BOOL;
-begin
- case (env) of
- EAX_ENVIRONMENT_GENERIC:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_GENERIC, 0.5, 1.493, 0.5);
- EAX_ENVIRONMENT_PADDEDCELL:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_PADDEDCELL, 0.25, 0.1, 0);
- EAX_ENVIRONMENT_ROOM:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_ROOM, 0.417, 0.4, 0.666);
- EAX_ENVIRONMENT_BATHROOM:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_BATHROOM, 0.653, 1.499, 0.166);
- EAX_ENVIRONMENT_LIVINGROOM:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_LIVINGROOM, 0.208, 0.478, 0);
- EAX_ENVIRONMENT_STONEROOM:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_STONEROOM, 0.5, 2.309, 0.888);
- EAX_ENVIRONMENT_AUDITORIUM:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_AUDITORIUM, 0.403, 4.279, 0.5);
- EAX_ENVIRONMENT_CONCERTHALL:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_CONCERTHALL, 0.5, 3.961, 0.5);
- EAX_ENVIRONMENT_CAVE:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_CAVE, 0.5, 2.886, 1.304);
- EAX_ENVIRONMENT_ARENA:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_ARENA, 0.361, 7.284, 0.332);
- EAX_ENVIRONMENT_HANGAR:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_HANGAR, 0.5, 10.0, 0.3);
- EAX_ENVIRONMENT_CARPETEDHALLWAY:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_CARPETEDHALLWAY, 0.153, 0.259, 2.0);
- EAX_ENVIRONMENT_HALLWAY:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_HALLWAY, 0.361, 1.493, 0);
- EAX_ENVIRONMENT_STONECORRIDOR:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_STONECORRIDOR, 0.444, 2.697, 0.638);
- EAX_ENVIRONMENT_ALLEY:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_ALLEY, 0.25, 1.752, 0.776);
- EAX_ENVIRONMENT_FOREST:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_FOREST, 0.111, 3.145, 0.472);
- EAX_ENVIRONMENT_CITY:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_CITY, 0.111, 2.767, 0.224);
- EAX_ENVIRONMENT_MOUNTAINS:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_MOUNTAINS, 0.194, 7.841, 0.472);
- EAX_ENVIRONMENT_QUARRY:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_QUARRY, 1, 1.499, 0.5);
- EAX_ENVIRONMENT_PLAIN:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_PLAIN, 0.097, 2.767, 0.224);
- EAX_ENVIRONMENT_PARKINGLOT:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_PARKINGLOT, 0.208, 1.652, 1.5);
- EAX_ENVIRONMENT_SEWERPIPE:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_SEWERPIPE, 0.652, 2.886, 0.25);
- EAX_ENVIRONMENT_UNDERWATER:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_UNDERWATER, 1, 1.499, 0);
- EAX_ENVIRONMENT_DRUGGED:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_DRUGGED, 0.875, 8.392, 1.388);
- EAX_ENVIRONMENT_DIZZY:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_DIZZY, 0.139, 17.234, 0.666);
- EAX_ENVIRONMENT_PSYCHOTIC:
- Result := BASS_SetEAXParameters(EAX_ENVIRONMENT_PSYCHOTIC, 0.486, 7.563, 0.806);
- else
- Result := FALSE;
- end;
-end;
-{$ENDIF}
-
-end.
-// END OF FILE /////////////////////////////////////////////////////////////////
-