2128 lines
72 KiB
Text
2128 lines
72 KiB
Text
|
BASS 2.4
|
|||
|
Copyright (c) 1999-2020 Un4seen Developments Ltd. All rights reserved.
|
|||
|
|
|||
|
Files that you should have found in the BASS package
|
|||
|
====================================================
|
|||
|
Win32 version
|
|||
|
-------------
|
|||
|
BASS.TXT This file
|
|||
|
BASS.DLL BASS module
|
|||
|
BASS.CHM BASS documentation
|
|||
|
MP3-FREE\
|
|||
|
BASS.DLL BASS module using the OS's MP3 decoder
|
|||
|
X64\
|
|||
|
BASS.DLL 64-bit BASS module
|
|||
|
MP3-FREE
|
|||
|
BASS.DLL 64-bit BASS module using the OS's MP3 decoder
|
|||
|
C\ C/C++ API and examples...
|
|||
|
BASS.H BASS C/C++ header file
|
|||
|
BASS.LIB BASS import library
|
|||
|
BASS.SLN Visual Studio solution for examples
|
|||
|
MAKEFILE Makefile for examples
|
|||
|
MAKEFILE.IN Makefile helper macros
|
|||
|
X64\
|
|||
|
BASS.LIB 64-bit BASS import library
|
|||
|
3DTEST\ 3D/EAX example
|
|||
|
...
|
|||
|
BASSTEST\ Simple playback example
|
|||
|
...
|
|||
|
CONTEST\ Console example
|
|||
|
...
|
|||
|
CUSTLOOP\ Custom looping example
|
|||
|
...
|
|||
|
DEVLIST\ Device list example
|
|||
|
...
|
|||
|
DSPTEST\ DSP example
|
|||
|
...
|
|||
|
FXTEST\ DX8 effect example
|
|||
|
...
|
|||
|
LIVEFX\ Full-duplex example
|
|||
|
...
|
|||
|
LIVESPEC\ "Live" version of spectrum analyser example
|
|||
|
...
|
|||
|
MODTEST\ MOD music example
|
|||
|
...
|
|||
|
MULTI\ Multiple device example
|
|||
|
...
|
|||
|
NETRADIO\ Internet streaming example
|
|||
|
...
|
|||
|
PLUGINS\ Plugins example
|
|||
|
...
|
|||
|
RECTEST\ Recording example
|
|||
|
...
|
|||
|
SPEAKERS\ Multi-speaker example
|
|||
|
...
|
|||
|
SPECTRUM\ Spectrum analyser example
|
|||
|
...
|
|||
|
SYNTH\ Low latency custom streaming example
|
|||
|
...
|
|||
|
WRITEWAV\ WAVE writer example
|
|||
|
...
|
|||
|
BIN\ Precompiled examples
|
|||
|
3DTEST.EXE
|
|||
|
BASSTEST.EXE
|
|||
|
CONTEST.EXE
|
|||
|
CUSTLOOP.EXE
|
|||
|
DEVLIST.EXE
|
|||
|
DSPTEST.EXE
|
|||
|
FXTEST.EXE
|
|||
|
LIVEFX.EXE
|
|||
|
LIVESPEC.EXE
|
|||
|
MODTEST.EXE
|
|||
|
MULTI.EXE
|
|||
|
NETRADIO.EXE
|
|||
|
RECTEST.EXE
|
|||
|
SPEAKERS.EXE
|
|||
|
SPECTRUM.EXE
|
|||
|
SYNTH.EXE
|
|||
|
WRITEWAV.EXE
|
|||
|
DELPHI\ Delphi API and examples...
|
|||
|
BASS.PAS BASS Delphi unit
|
|||
|
3DTEST\ 3D/EAX example
|
|||
|
...
|
|||
|
BASSTEST\ Simple playback example
|
|||
|
...
|
|||
|
CONTEST\ Console example
|
|||
|
...
|
|||
|
CUSTLOOP\ Custom looping example
|
|||
|
...
|
|||
|
DSPTEST\ DSP example
|
|||
|
...
|
|||
|
FXTEST\ DX8 effect example
|
|||
|
...
|
|||
|
LIVEFX\ Full-duplex example
|
|||
|
...
|
|||
|
LIVESPEC\ "Live" version of spectrum analyser example
|
|||
|
...
|
|||
|
MULTI\ Multiple device example
|
|||
|
...
|
|||
|
NETRADIO\ Internet streaming example
|
|||
|
...
|
|||
|
PLUGINS\ Plugins example
|
|||
|
...
|
|||
|
RECORDTEST\ Recording example
|
|||
|
...
|
|||
|
SAMPLEVIS\ Visualisation example
|
|||
|
...
|
|||
|
SPEAKERS\ Multi-speaker example
|
|||
|
...
|
|||
|
SPECTRUM\ Spectrum analyser example
|
|||
|
...
|
|||
|
STREAMTEST\ User stream example
|
|||
|
...
|
|||
|
WRITEWAV\ WAVE writer example
|
|||
|
...
|
|||
|
VB\ Visual Basic API and examples...
|
|||
|
BASS.BAS BASS Visual Basic module
|
|||
|
3DTEST\ 3D/EAX example
|
|||
|
...
|
|||
|
BASSTEST\ Simple playback example
|
|||
|
...
|
|||
|
CUSTLOOP\ Custom looping example
|
|||
|
...
|
|||
|
DSPTEST\ DSP example
|
|||
|
...
|
|||
|
FXTEST\ DX8 effect example
|
|||
|
...
|
|||
|
LIVEFX\ Full-duplex example
|
|||
|
...
|
|||
|
LIVESPEC\ "Live" version of spectrum analyser example
|
|||
|
...
|
|||
|
MULTI\ Multiple device example
|
|||
|
...
|
|||
|
NETRADIO\ Internet streaming example
|
|||
|
...
|
|||
|
PLUGINS\ Plugins example
|
|||
|
...
|
|||
|
RECTEST\ Recording example
|
|||
|
...
|
|||
|
SPEAKERS\ Multi-speaker example
|
|||
|
...
|
|||
|
SPECTRUM\ Spectrum analyser example
|
|||
|
...
|
|||
|
SYNTH\ Low latency custom streaming example
|
|||
|
...
|
|||
|
WRITEWAV\ WAVE writer example
|
|||
|
...
|
|||
|
MEMORY\ Playing from memory example by Jobnik
|
|||
|
...
|
|||
|
|
|||
|
NOTE: You may need to "Unblock" the BASS.CHM file in its "Properties" to view
|
|||
|
it on Windows 7. The documentation can also be viewed online at the BASS
|
|||
|
website.
|
|||
|
|
|||
|
NOTE: The Delphi and VB examples may not always be up to date with the C
|
|||
|
examples, so the latter should be preferred as references if possible.
|
|||
|
|
|||
|
NOTE: To run the example EXEs, first you will need to copy BASS.DLL into the
|
|||
|
same directory as them.
|
|||
|
|
|||
|
macOS version
|
|||
|
-------------
|
|||
|
BASS.TXT This file
|
|||
|
LIBBASS.DYLIB BASS module
|
|||
|
BASS.CHM BASS documentation
|
|||
|
CHMOX.APP CHM file viewer
|
|||
|
BASS.H BASS C/C++ header file
|
|||
|
BASS.XCODEPROJ Xcode project for examples
|
|||
|
MAKEFILE Makefile for specific architectures
|
|||
|
MP3-FREE\
|
|||
|
LIBBASS.DYLIB BASS module using the OS's MP3 decoder
|
|||
|
3DTEST\ 3D example
|
|||
|
...
|
|||
|
BASSTEST\ Simple playback example
|
|||
|
...
|
|||
|
CONTEST\ Console example
|
|||
|
...
|
|||
|
CUSTLOOP\ Custom looping example
|
|||
|
...
|
|||
|
DEVLIST\ Device list example
|
|||
|
...
|
|||
|
DSPTEST\ DSP example
|
|||
|
...
|
|||
|
FXTEST\ DX8 effect example
|
|||
|
...
|
|||
|
LIVESPEC\ "Live" version of spectrum analyser example
|
|||
|
...
|
|||
|
MODTEST\ MOD music example
|
|||
|
...
|
|||
|
MULTI\ Multiple device example
|
|||
|
...
|
|||
|
NETRADIO\ Internet streaming example
|
|||
|
...
|
|||
|
PLUGINS\ Plugins example
|
|||
|
...
|
|||
|
RECTEST\ Recording example
|
|||
|
...
|
|||
|
SPEAKERS\ Multi-speaker example
|
|||
|
...
|
|||
|
SPECTRUM\ Spectrum analyser example
|
|||
|
...
|
|||
|
SYNTH\ Low latency custom streaming example
|
|||
|
...
|
|||
|
WRITEWAV\ WAVE writer example
|
|||
|
...
|
|||
|
|
|||
|
NOTE: To view the documentation, you will need a CHM viewer, such as the
|
|||
|
included CHMOX. The documentation can also be viewed online at the BASS
|
|||
|
website.
|
|||
|
|
|||
|
NOTE: The GUI-based examples (not CONTEST/DEVLIST/WRITEWAV) use the old Carbon
|
|||
|
APIs that are not supported by 64-bit macOS. They will be replaced in
|
|||
|
future but are currently still included for reference (the BASS parts are
|
|||
|
still relevant).
|
|||
|
|
|||
|
Linux version
|
|||
|
-------------
|
|||
|
BASS.TXT This file
|
|||
|
LIBBASS.SO BASS module
|
|||
|
BASS.CHM BASS documentation
|
|||
|
BASS.H BASS C/C++ header file
|
|||
|
MAKEFILE Makefile for examples
|
|||
|
MAKEFILE.IN Makefile helper macros
|
|||
|
MP3-FREE\
|
|||
|
LIBBASS.SO BASS module using the OS's MP3 decoder
|
|||
|
X64\
|
|||
|
LIBBASS.SO 64-bit BASS module
|
|||
|
MP3-FREE
|
|||
|
LIBBASS.SO 64-bit BASS module using the OS's MP3 decoder
|
|||
|
PASCAL\
|
|||
|
BASS.PAS BASS Delphi/Pascal unit
|
|||
|
3DTEST\ 3D example
|
|||
|
...
|
|||
|
BASSTEST\ Simple playback example
|
|||
|
...
|
|||
|
CONTEST\ Console example
|
|||
|
...
|
|||
|
CUSTLOOP\ Custom looping example
|
|||
|
...
|
|||
|
DEVLIST\ Device list example
|
|||
|
...
|
|||
|
DSPTEST\ DSP example
|
|||
|
...
|
|||
|
FXTEST\ DX8 effect example
|
|||
|
...
|
|||
|
LIVESPEC\ "Live" version of spectrum analyser example
|
|||
|
...
|
|||
|
MODTEST\ MOD music example
|
|||
|
...
|
|||
|
MULTI\ Multiple device example
|
|||
|
...
|
|||
|
NETRADIO\ Internet streaming example
|
|||
|
...
|
|||
|
PLUGINS\ Plugins example
|
|||
|
...
|
|||
|
RECTEST\ Recording example
|
|||
|
...
|
|||
|
SPEAKERS\ Multi-speaker example
|
|||
|
...
|
|||
|
SPECTRUM\ Spectrum analyser example
|
|||
|
...
|
|||
|
SYNTH\ Low latency custom streaming example
|
|||
|
...
|
|||
|
WRITEWAV\ WAVE writer example
|
|||
|
...
|
|||
|
|
|||
|
NOTE: To view the documentation, you will need a CHM viewer. The documentation
|
|||
|
can also be viewed online at the BASS website.
|
|||
|
|
|||
|
|
|||
|
What's the point?
|
|||
|
=================
|
|||
|
BASS is an audio library for use in software on several platforms. Its
|
|||
|
purpose is to provide the powerful and efficient sample, stream, MOD
|
|||
|
music, and recording functions. All in a compact DLL that won't overly
|
|||
|
bloat your software.
|
|||
|
|
|||
|
See the documentation for descriptions of all the BASS functions. Also
|
|||
|
check the included example source-codes for some examples of how to use
|
|||
|
BASS in your own programs.
|
|||
|
|
|||
|
|
|||
|
Requirements
|
|||
|
============
|
|||
|
Win32 version
|
|||
|
-------------
|
|||
|
BASS requires WASAPI or DirectSound for playback and recording, but decoding
|
|||
|
and silent playback on the "No sound" device is still possible without them.
|
|||
|
DirectSound has been included with all Windows versions since Windows 98. On
|
|||
|
Windows Vista and above, the default is to use WASAPI instead of DirectSound
|
|||
|
for playback. 32-bit and 64-bit Windows are supported.
|
|||
|
|
|||
|
macOS version
|
|||
|
-------------
|
|||
|
macOS 10.5 or above is required. BASS uses CoreAudio for playback and recording,
|
|||
|
so there are no special library/driver requirements. x86_64 / arm64 / i386
|
|||
|
architectures are supported in a single universal library.
|
|||
|
|
|||
|
Linux version
|
|||
|
-------------
|
|||
|
BASS requires ALSA for playback and recording, but decoding and silent playback
|
|||
|
on the "No sound" device is still possible without it. 32-bit (i386) and 64-bit
|
|||
|
(x86-64) architectures are supported. ARM support is also available as a
|
|||
|
separate download from the website.
|
|||
|
|
|||
|
|
|||
|
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
|
|||
|
|
|||
|
* OS codecs
|
|||
|
ACM, Media Foundation and CoreAudio codec support for additional audio formats
|
|||
|
|
|||
|
* 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
|
|||
|
|
|||
|
* Effects
|
|||
|
chorus/compressor/distortion/echo/flanger/gargle/parameq/reverb
|
|||
|
|
|||
|
* User defined DSP functions
|
|||
|
custom effects may be applied to individual streams or the final output mix
|
|||
|
|
|||
|
* 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
|
|||
|
|
|||
|
|
|||
|
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++, Delphi, and Visual Basic APIs and example projects are provided. To
|
|||
|
use BASS with another language you will 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 will 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 will 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.
|
|||
|
|
|||
|
macOS version
|
|||
|
-------------
|
|||
|
See the example Xcode project.
|
|||
|
|
|||
|
NOTE: The LIBBASS.DYLIB file must be put in the same directory as the
|
|||
|
executable, it can't just be somewhere in the path.
|
|||
|
|
|||
|
LIBBASS.DYLIB is a universal binary with support for the x86_64 / arm64 / i386
|
|||
|
architectures. If not all of those architectures are needed, the included
|
|||
|
makefile can be used to extract the wanted one(s). Type "make x86_64" or
|
|||
|
"make arm64" or "make i386" to extract a particular architecture. "make 64bit"
|
|||
|
can be used to extract the x86_64 and arm64 architectures (exclude i386), and
|
|||
|
"make intel" to extract the x86_64 and i386 architectures (exclude arm64). Any
|
|||
|
BASS add-ons placed in the same directory will also be processed.
|
|||
|
|
|||
|
Linux version
|
|||
|
-------------
|
|||
|
The LIBBASS.SO file needs to be in the OS's library search path for it to
|
|||
|
be found; simply placing it in the same directory as the executable won't
|
|||
|
necessarily work as it does on other platforms. The BASS libraries should
|
|||
|
also not be placed in the standard library directories to avoid version
|
|||
|
conflicts. To meet those competing requirements, a wrapper script could be
|
|||
|
used to set the "LD_LIBRARY_PATH" environment variable before loading the
|
|||
|
executable. Another option is to set the "rpath" in the executable, to tell
|
|||
|
it where to look for libraries. That is what the example makefiles do.
|
|||
|
|
|||
|
When building both 32-bit and 64-bit executables, it is possible to simply
|
|||
|
try linking with both LIBBASS.SO versions, and the linker will use the
|
|||
|
appropriate version and ignore the other.
|
|||
|
|
|||
|
|
|||
|
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 making any money from your product
|
|||
|
(through sales/advertising/etc), 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 ("try before you buy") products, which must sell for no more
|
|||
|
than 40 Euros each. Non-shareware products are also permitted, but the
|
|||
|
product price limit is 10 Euros in that case. The price limit can be
|
|||
|
raised by purchasing duplicate licences, eg. 2 licences doubles it. If
|
|||
|
you are an individual (not a corporation) making and selling your own
|
|||
|
software, this is the licence for you.
|
|||
|
|
|||
|
SINGLE COMMERCIAL: Allows the usage of BASS in one 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, eg.
|
|||
|
if you are creating products with BASS at 2 sites/locations, then 2
|
|||
|
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 multiple platforms. In all cases there are no royalties
|
|||
|
to pay, and you can use future BASS updates without further cost.
|
|||
|
|
|||
|
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. If an MP3 decoder is not available, then MP3 playback will not
|
|||
|
be possible, but everything else will function as normal.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
NOTE: Linux does not include an MP3 decoder as standard. The "MP3-FREE"
|
|||
|
BASS version will make use of the libmpg123 decoder, if installed.
|
|||
|
|
|||
|
|
|||
|
Credits
|
|||
|
=======
|
|||
|
Ogg Vorbis decoding is based on libogg/vorbis,
|
|||
|
Copyright (c) 2002-2020 Xiph.org Foundation
|
|||
|
|
|||
|
CHMOX is (c) 2004 St<53>phane Boisson, http://chmox.sourceforge.net/
|
|||
|
|
|||
|
API/Sample contributors
|
|||
|
-----------------------
|
|||
|
Delphi: Titus Miloi, Rogier Timmermans, Alessandro Cappellozza,
|
|||
|
Jesse Naranjo, Chris Troesken, Evgeny Melnikov
|
|||
|
Visual Basic: Adam Hoult, Hendrik Knaepen, Arthur Aminov,
|
|||
|
Peter Hebels
|
|||
|
|
|||
|
|
|||
|
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.15 - 17/12/2019
|
|||
|
-------------------
|
|||
|
* Channel processing granularity option
|
|||
|
BASS_ATTRIB_GRANULE (BASS_ChannelSetAttribute option)
|
|||
|
* Asynchronous mixtime sync callbacks
|
|||
|
BASS_SYNC_THREAD (BASS_ChannelSetSync flag)
|
|||
|
* Output device update period can be set in samples
|
|||
|
BASS_CONFIG_DEV_PERIOD (BASS_SetConfig option)
|
|||
|
* Continuous output when nothing is playing is now optional on macOS/iOS too
|
|||
|
BASS_CONFIG_DEV_NONSTOP (BASS_SetConfig option)
|
|||
|
* AAudio output support on Android
|
|||
|
BASS_Init
|
|||
|
BASS_CONFIG_ANDROID_AAUDIO (BASS_SetConfig option)
|
|||
|
* Support for audio session IDs on Android
|
|||
|
BASS_CONFIG_ANDROID_SESSIONID (BASS_SetConfig option)
|
|||
|
* ParcelFileDescriptor support on Android
|
|||
|
BASS_StreamCreateFile
|
|||
|
BASS_SampleLoad
|
|||
|
BASS_MusicLoad
|
|||
|
* FloatValue Java class added to receive floating-point values on Android 10
|
|||
|
BASS_Get3DFactors
|
|||
|
BASS_RecordGetInput
|
|||
|
BASS_ChannelGetAttribute
|
|||
|
BASS_ChannelGet3DAttributes
|
|||
|
* Audio session configuration option on iOS
|
|||
|
BASS_CONFIG_IOS_SESSION (BASS_SetConfig option)
|
|||
|
* OGG channel type constant renamed/duplicated to VORBIS
|
|||
|
BASS_CTYPE_STREAM_VORBIS
|
|||
|
* Error code for recognised file formats without audio
|
|||
|
BASS_ERROR_NOTAUDIO (BASS_StreamCreateFile/User/URL error code)
|
|||
|
* Error code for unstreamable MP4 files due to atom order
|
|||
|
BASS_ERROR_UNSTREAMABLE (BASS_StreamCreateFileUser/URL error code)
|
|||
|
* Fix for AAC streaming with BASS_STREAM_BLOCK on macOS 10.15 and iOS 13
|
|||
|
BASS_StreamCreateURL/FileUser
|
|||
|
* Fix for playback rate changing bug when using DirectSound
|
|||
|
BASS_ATTRIB_FREQ (BASS_ChannelSetAttribute option)
|
|||
|
* armv6 architecture support dropped on iOS
|
|||
|
|
|||
|
2.4.14 - 16/1/2019
|
|||
|
------------------
|
|||
|
* Support for playback on the "No sound" device
|
|||
|
BASS_Init
|
|||
|
BASS_StreamCreateFile/User/URL
|
|||
|
BASS_SampleLoad/Create
|
|||
|
BASS_ChannelPlay
|
|||
|
* Improved sample rate conversion quality, including 64 point option
|
|||
|
BASS_ATTRIB_SRC (BASS_ChannelSetAttribute option)
|
|||
|
BASS_CONFIG_SRC/_SAMPLE (BASS_SetConfig options)
|
|||
|
* Loopback (output device) recording on Windows Vista and above
|
|||
|
BASS_RecordInit
|
|||
|
BASS_RecordGetDeviceInfo
|
|||
|
BASS_DEVICE_LOOPBACK (BASS_DEVICEINFO flag)
|
|||
|
DEVLIST and RECTEST examples updated
|
|||
|
* Native format recording option
|
|||
|
BASS_RecordStart
|
|||
|
* Access to the 3D output mix for applying DSP/FX
|
|||
|
STREAMPROC_DEVICE_3D (BASS_StreamCreate option)
|
|||
|
* Retrieval of a device's started/stopped status
|
|||
|
BASS_IsStarted
|
|||
|
* Sync for when a device stops unexpectedly
|
|||
|
BASS_SYNC_DEV_FAIL (BASS_ChannelSetSync type)
|
|||
|
* New channel playback state for a paused device
|
|||
|
BASS_ACTIVE_PAUSED_DEVICE (BASS_ChannelIsActive)
|
|||
|
* Sync for when a device's sample format changes
|
|||
|
BASS_SYNC_DEV_FORMAT (BASS_ChannelSetSync type)
|
|||
|
* Adjustable output device update period
|
|||
|
BASS_CONFIG_DEV_PERIOD (BASS_SetConfig option)
|
|||
|
* Nyquist FFT option
|
|||
|
BASS_DATA_FFT_NYQUIST (BASS_ChannelGetData flag)
|
|||
|
* Plugin-specific flags are ignored in standard stream creation functions
|
|||
|
BASS_StreamCreateFile/User/URL
|
|||
|
* Pre-buffering during stream creation is now disabled by default
|
|||
|
BASS_CONFIG_NET_PREBUF_WAIT (BASS_SetConfig option)
|
|||
|
BASS_StreamCreateURL/FileUser
|
|||
|
* Existing internet streams are unaffected by read timeout config changes
|
|||
|
BASS_CONFIG_NET_READTIMEOUT (BASS_SetConfig option)
|
|||
|
* Retrieval of the number of existing handles
|
|||
|
BASS_CONFIG_HANDLES (BASS_GetConfig option)
|
|||
|
* Windows mixer settings are retained by default and optionally not
|
|||
|
BASS_CONFIG_WASAPI_PERSIST (BASS_SetConfig option)
|
|||
|
* Configurable OpenSSL library filename on Linux/Android
|
|||
|
BASS_CONFIG_LIBSSL (BASS_SetConfigPtr option)
|
|||
|
* Files can be deleted/renamed while streaming on Windows (already true on other platforms)
|
|||
|
BASS_StreamCreateFile
|
|||
|
* Fix for bug in playback buffering disabling option
|
|||
|
BASS_ATTRIB_NOBUFFER (BASS_ChannelSetAttribute option)
|
|||
|
* Fix to support long logarithmic curves in volume effects
|
|||
|
BASS_FX_VOLUME (BASS_ChannelSetFX type)
|
|||
|
|
|||
|
2.4.13.8 - 6/2/2018
|
|||
|
-------------------
|
|||
|
* Indication of a file's original sample format being floating-point
|
|||
|
BASS_ORIGRES_FLOAT (BASS_CHANNELINFO/SAMPLE flag)
|
|||
|
* Some extra sample data is retained to account for device latency in data retrieval
|
|||
|
BASS_ChannelGetData
|
|||
|
* FFT window is shortened to match amount of available data when less than FFT size
|
|||
|
BASS_ChannelGetData
|
|||
|
* FFT level adjusted to be approx the same regardless of amount of available data
|
|||
|
BASS_ChannelGetData
|
|||
|
* Fix for crash when decoding channels are dissociated from a device
|
|||
|
BASS_NODEVICE (BASS_ChannelSetDevice option)
|
|||
|
|
|||
|
2.4.13 - 19/12/2017
|
|||
|
-------------------
|
|||
|
* WASAPI output on Windows (DirectSound is fallback/optional)
|
|||
|
BASS_DEVICE_DSOUND (BASS_Init flag)
|
|||
|
BASS_CONFIG_DEV_BUFFER/NONSTOP (BASS_SetConfig options)
|
|||
|
BASS_CONFIG_SRC/_SAMPLE (BASS_SetConfig options)
|
|||
|
BASS_ATTRIB_SRC/NORAMP (BASS_ChannelSetAttribute options)
|
|||
|
* Default output device following support extended to Windows Vista and macOS
|
|||
|
BASS_CONFIG_DEV_DEFAULT (BASS_SetConfig option)
|
|||
|
* Seamless playback buffer length changing
|
|||
|
BASS_ATTRIB_BUFFER (BASS_ChannelSetAttribute option)
|
|||
|
SYNTH example updated
|
|||
|
* Access to the final output mix for applying DSP/FX
|
|||
|
STREAMPROC_DEVICE (BASS_StreamCreate option)
|
|||
|
BASS_CTYPE_STREAM_DEVICE
|
|||
|
FXTEST example updated
|
|||
|
* Dissociating of decoding channels from a device
|
|||
|
BASS_NODEVICE (BASS_ChannelSetDevice option)
|
|||
|
* Volume attribute levels above 1.0 for amplification
|
|||
|
BASS_ATTRIB_VOL (BASS_ChannelSetAttribute option)
|
|||
|
* Logarithmic attribute slides
|
|||
|
BASS_SLIDE_LOG (BASS_ChannelSlideAttribute flag)
|
|||
|
* Volume & panning attribute affected level retrieval
|
|||
|
BASS_LEVEL_VOLPAN (BASS_ChannelGetLevelEx flag)
|
|||
|
* Volume level adjustment effect
|
|||
|
BASS_FX_VOLUME (BASS_ChannelSetFX type)
|
|||
|
BASS_FX_VOLUME_PARAM structure
|
|||
|
* Asynchronous pre-buffering
|
|||
|
BASS_CONFIG_NET_PREBUF_WAIT (BASS_SetConfig option)
|
|||
|
BASS_StreamCreateURL/FileUser
|
|||
|
CONTEST and NETRADIO examples updated
|
|||
|
* Decoding channels can be dissociated from a device
|
|||
|
BASS_ChannelSetDevice
|
|||
|
* Resetting of user file streams/decoders
|
|||
|
BASS_POS_RESET (BASS_ChannelSetPosition flag)
|
|||
|
* Relative seeking
|
|||
|
BASS_POS_RELATIVE (BASS_ChannelSetPosition flag)
|
|||
|
* RIFF cue points chunk retrieval
|
|||
|
BASS_TAG_RIFF_CUE (BASS_ChannelGetTags type)
|
|||
|
TAG_CUE structure
|
|||
|
* RIFF sample chunk retrieval
|
|||
|
BASS_TAG_RIFF_SMPL (BASS_ChannelGetTags type)
|
|||
|
TAG_SMPL structure
|
|||
|
* Support for Category/Description/Grouping/Keywords/Lyrics MP4 tags
|
|||
|
BASS_TAG_MP4 (BASS_ChannelGetTags type)
|
|||
|
* Separate channel type for dummy streams
|
|||
|
BASS_CTYPE_STREAM_DUMMY
|
|||
|
* Stalled internet stream buffering progress retrieval
|
|||
|
BASS_FILEPOS_BUFFERING (BASS_StreamGetFilePosition mode)
|
|||
|
CONTEST and NETRADIO examples updated
|
|||
|
* Playlist recursion depth config option
|
|||
|
BASS_CONFIG_NET_PLAYLIST_DEPTH (BASS_SetConfig options)
|
|||
|
* Push file system read functions can now return 0 without ending the file
|
|||
|
STREAMFILE_BUFFERPUSH (BASS_StreamCreateFileUser system)
|
|||
|
FILEREADPROC
|
|||
|
* 16 point SRC is used by default when SSE is available
|
|||
|
BASS_CONFIG_SRC (BASS_SetConfig option)
|
|||
|
* Mono downmixing for all file formats in sample loading
|
|||
|
BASS_SAMPLE_MONO (BASS_SampleLoad flag)
|
|||
|
* Mono OGG stream downmixing
|
|||
|
BASS_SAMPLE_MONO (BASS_StreamCreateFile/User/URL flag)
|
|||
|
* Media Foundation availability detection
|
|||
|
BASS_CONFIG_MF_DISABLE (BASS_GetConfig option)
|
|||
|
PLUGINS example updated
|
|||
|
* AudioTrack output on Android
|
|||
|
BASS_DEVICE_AUDIOTRACK (BASS_Init flag)
|
|||
|
* Support for Android Media codecs
|
|||
|
BASS_StreamCreateFile/User/URL
|
|||
|
BASS_TAG_AM_MIME/NAME (BASS_ChannelGetTags type)
|
|||
|
BASS_CONFIG_AM_DISABLE (BASS_SetConfig option)
|
|||
|
* Panning fix for MOD files created with ScreamTracker 3
|
|||
|
BASS_MusicLoad
|
|||
|
* Fix for compressor and distotion DX8 effects with floating-point data on Windows
|
|||
|
BASS_FX_DX8_COMPRESSOR/DISTORTION (BASS_ChannelSetFX types)
|
|||
|
* Fix for plugin freeing issue on 64-bit platforms (HPLUGIN is not library address any more)
|
|||
|
BASS_PluginLoad
|
|||
|
BASS_PluginFree
|
|||
|
|
|||
|
2.4.12 - 10/3/2016
|
|||
|
------------------
|
|||
|
* DSP/FX chain order modification
|
|||
|
BASS_FXSetPriority
|
|||
|
* Average bitrate retrieval
|
|||
|
BASS_ATTRIB_BITRATE
|
|||
|
* Ramping-out when stopping/pausing playback
|
|||
|
BASS_ChannelStop
|
|||
|
BASS_ChannelPause
|
|||
|
* Disabling of playback ramping
|
|||
|
BASS_ATTRIB_NORAMP (BASS_ChannelSetAttribute option)
|
|||
|
* Pre-buffering when playback buffering is disabled
|
|||
|
BASS_ChannelUpdate
|
|||
|
BASS_ATTRIB_NOBUFFER (BASS_ChannelSetAttribute option)
|
|||
|
* Net agent and proxy config options now make a copy of the provided string
|
|||
|
BASS_CONFIG_NET_AGENT/PROXY (BASS_SetConfigPtr options)
|
|||
|
NETRADIO example updated
|
|||
|
* Unicode net agent and proxy config options on Windows
|
|||
|
BASS_CONFIG_NET_AGENT/PROXY (BASS_SetConfigPtr options)
|
|||
|
* 32768 sample FFT
|
|||
|
BASS_DATA_FFT32768 (BASS_ChannelGetData flag)
|
|||
|
* Support for iTunes gapless info in MP3 files
|
|||
|
BASS_StreamCreateFile/User
|
|||
|
* 529 sample delay removed from start of MP3 files without delay info
|
|||
|
BASS_StreamCreateFile/User/URL
|
|||
|
* Support for numerical MP4 genre (gnre) tags
|
|||
|
BASS_TAG_MP4 (BASS_ChannelGetTags type)
|
|||
|
* Support for BASSWMA's tag option when using Media Foundation WMA codec
|
|||
|
BASS_TAG_WMA (BASS_ChannelGetTags type)
|
|||
|
* OpenMPT author tag retrieval
|
|||
|
BASS_TAG_MUSIC_AUTH (BASS_ChannelGetTags type)
|
|||
|
* FastTracker2 panning for XM files
|
|||
|
BASS_MUSIC_FT2PAN (BASS_MusicLoad flag)
|
|||
|
* Support for longer device names on Windows
|
|||
|
BASS_DEVICEINFO (name member)
|
|||
|
* Checking for floating-point support on platforms that might not have it
|
|||
|
BASS_CONFIG_FLOAT (BASS_GetConfig option)
|
|||
|
* Attribute size retrieval fix
|
|||
|
BASS_ChannelGetAttributeEx
|
|||
|
* Fix for missing LC_VERSION_MIN issue with Xcode 7 on OSX, ppc architecture (PowerPC) support dropped
|
|||
|
* LIST example renamed to DEVLIST
|
|||
|
|
|||
|
2.4.11 - 22/12/2014
|
|||
|
-------------------
|
|||
|
* Support for custom HTTP request headers
|
|||
|
BASS_StreamCreateURL
|
|||
|
* HTTPS support on Linux/Android
|
|||
|
BASS_StreamCreateURL
|
|||
|
* Redirection HTTP headers provided during connection
|
|||
|
BASS_STREAM_STATUS (BASS_StreamCreateURL flag)
|
|||
|
DOWNLOADPROC
|
|||
|
* Adjustable stalled internet stream resumption buffer level
|
|||
|
BASS_ATTRIB_NET_RESUME (BASS_ChannelSetAttribute option)
|
|||
|
* Extended level retrieval inc. multi-channel and RMS options
|
|||
|
BASS_ChannelGetLevelEx
|
|||
|
* Inexact/faster seeking
|
|||
|
BASS_POS_INEXACT (BASS_ChannelSetPosition flag)
|
|||
|
* Post-stream creation scanning (seek table building)
|
|||
|
BASS_POS_SCAN (BASS_ChannelSetPosition flag)
|
|||
|
* Extended attribute support
|
|||
|
BASS_ChannelGet/SetAttributeEx
|
|||
|
* Scanned info retrieval and setting
|
|||
|
BASS_ATTRIB_SCANINFO (BASS_ChannelGet/SetAttributeEx option)
|
|||
|
* Built-in ADPCM WAVE file support on Linux/Android/WinCE
|
|||
|
BASS_StreamCreateFile/User/URL
|
|||
|
BASS_SampleLoad
|
|||
|
* Active MOD channel count retrieval
|
|||
|
BASS_ATTRIB_MUSIC_ACTIVE (BASS_ChannelGetAttribute option)
|
|||
|
* Fractional sample rates
|
|||
|
BASS_ATTRIB_FREQ (BASS_ChannelSetAttribute option)
|
|||
|
* Device type information
|
|||
|
BASS_DEVICE_TYPE_xxx (BASS_DEVICEINFO flags)
|
|||
|
* Unicode support for recording input names
|
|||
|
BASS_CONFIG_UNICODE (BASS_SetConfig option)
|
|||
|
BASS_RecordGetInputName
|
|||
|
* File size retrieval
|
|||
|
BASS_FILEPOS_SIZE (BASS_StreamGetFilePosition mode)
|
|||
|
* Asynchronous file reading buffer level retrieval
|
|||
|
BASS_FILEPOS_ASYNCBUF (BASS_StreamGetFilePosition mode)
|
|||
|
* MPEG data search limit raised to 1MB
|
|||
|
BASS_CONFIG_VERIFY (BASS_SetConfig option)
|
|||
|
* Separate MPEG data search limit for internet/buffered streams
|
|||
|
BASS_CONFIG_VERIFY_NET (BASS_SetConfig option)
|
|||
|
* Support for iTunes gapless info with Media Foundation and CoreAudio codecs
|
|||
|
BASS_StreamCreateFile/User
|
|||
|
* Airplay receiver enumeration and selection on OSX
|
|||
|
BASS_DEVICES_AIRPLAY (BASS_GetDeviceInfo flag)
|
|||
|
BASS_CONFIG_AIRPLAY (BASS_SetConfig option)
|
|||
|
* Media Foundation playback of audio from videos is now optional
|
|||
|
BASS_CONFIG_MF_VIDEO (BASS_SetConfig option)
|
|||
|
* Optional floating-point or fixed-point data retrieval on Android/WinCE
|
|||
|
BASS_DATA_FLOAT/FIXED (BASS_ChannelGetData flags)
|
|||
|
* Continuous output when nothing is playing on Linux/Android/WinCE
|
|||
|
BASS_CONFIG_DEV_NONSTOP (BASS_SetConfig option)
|
|||
|
* Fix for decoding channels being ended when stopping the output device
|
|||
|
BASS_Stop
|
|||
|
* Fix for Media Foundation internet/buffered streaming on Windows 8
|
|||
|
BASS_StreamCreateURL
|
|||
|
BASS_StreamCreateFileUser
|
|||
|
* Improved compatibility with recent PulseAudio versions on Linux
|
|||
|
* LIST and MODTEST examples added
|
|||
|
* MASM API and examples removed (available as separate download)
|
|||
|
|
|||
|
2.4.10 - 16/2/2013
|
|||
|
------------------
|
|||
|
* Asynchronous file reading/buffering
|
|||
|
BASS_ASYNCFILE (BASS_StreamCreateFile/User flag)
|
|||
|
BASS_CONFIG_ASYNCFILE_BUFFER (BASS_SetConfig option)
|
|||
|
* Support for chained OGG files (multiple logical bitstreams)
|
|||
|
BASS_StreamCreateFile/User
|
|||
|
BASS_CONFIG_OGG_PRESCAN (BASS_SetConfig option)
|
|||
|
BASS_POS_OGG (BASS_ChannelSetPosition/ChannelGetLength mode)
|
|||
|
* OGG logical bitstream syncs are no longer automatically "mixtime"
|
|||
|
BASS_SYNC_OGG_CHANGE (BASS_ChannelSetSync type)
|
|||
|
* Support for Soundtracker MOD files
|
|||
|
BASS_MusicLoad
|
|||
|
* Complex FFT data
|
|||
|
BASS_DATA_FFT_COMPLEX (BASS_ChannelGetData flag)
|
|||
|
* Volume levels above 1.0 for decoding channels
|
|||
|
BASS_ATTRIB_VOL (BASS_ChannelSetAttribute option)
|
|||
|
* Recording device channel count retrieval on Windows/OSX/iOS
|
|||
|
BASS_RECORDINFO (formats member)
|
|||
|
* Minimum recording period reduced to 5ms
|
|||
|
BASS_RecordStart
|
|||
|
* Recording device period adjustment on OSX
|
|||
|
BASS_RecordStart
|
|||
|
* Device UID retrieval on OSX
|
|||
|
BASS_DEVICEINFO (driver member)
|
|||
|
* The desktop window handle is used when none is provided
|
|||
|
BASS_Init
|
|||
|
|
|||
|
2.4.9 - 3/5/2012
|
|||
|
----------------
|
|||
|
* Improved and adjustable sample rate conversion quality
|
|||
|
BASS_ATTRIB_SRC (BASS_ChannelSetAttribute option)
|
|||
|
BASS_CONFIG_SRC/_SAMPLE (BASS_SetConfig options)
|
|||
|
* Support for buffered file & internet streams with CoreAudio codecs on OSX/iOS
|
|||
|
BASS_StreamCreateURL
|
|||
|
BASS_StreamCreateUser
|
|||
|
* Data and level retrieval from sample channels
|
|||
|
BASS_ChannelGetData
|
|||
|
BASS_ChannelGetLevel
|
|||
|
* Oldest sample channel will be overridden when there are multiple candidates
|
|||
|
BASS_SampleGetChannel
|
|||
|
* Use of the device's output rate with MODs
|
|||
|
BASS_MusicLoad
|
|||
|
* Optional device output rate setting on OSX/iOS
|
|||
|
BASS_DEVICE_FREQ (BASS_Init flag)
|
|||
|
* UTF-8 device information on Windows
|
|||
|
BASS_CONFIG_UNICODE (BASS_SetConfig option)
|
|||
|
* Speaker assignment with panning/balance control on Windows Vista/7
|
|||
|
BASS_CONFIG_VISTA_SPEAKERS (BASS_SetConfig option)
|
|||
|
BASS_ATTRIB_PAN (BASS_ChannelGet/Set/SlideAttribute option)
|
|||
|
* Push stream queue level can be checked after using BASS_STREAMPROC_END
|
|||
|
BASS_StreamPutData
|
|||
|
* Support for ALSA subdevices on Linux
|
|||
|
BASS_Init
|
|||
|
BASS_GetDeviceInfo
|
|||
|
BASS_RecordInit
|
|||
|
BASS_RecordGetDeviceInfo
|
|||
|
* Device list fix on 64-bit OSX
|
|||
|
BASS_GetDeviceInfo
|
|||
|
BASS_RecordGetDeviceInfo
|
|||
|
* BASS_UNICODE support fix on Linux
|
|||
|
BASS_PluginLoad
|
|||
|
* Internet streaming tweaks/fixes on Windows
|
|||
|
* SYNTH example updated to use device output rate
|
|||
|
* RECTEST example updated (C version) for better Windows Vista/7 support
|
|||
|
* Documentation updated with platform-specific info for Android
|
|||
|
|
|||
|
2.4.8 - 29/8/2011
|
|||
|
-----------------
|
|||
|
* Support for Media Foundation codecs on Windows 7 and updated Vista
|
|||
|
BASS_StreamCreateFile/User/URL
|
|||
|
BASS_TAG_MF (BASS_ChannelGetTags type)
|
|||
|
PLUGINS example updated
|
|||
|
* Built-in support for MP4 tags on Win32/OSX/iOS (for Media Foundation & CoreAudio AAC/ALAC codecs)
|
|||
|
BASS_TAG_MP4 (BASS_ChannelGetTags type)
|
|||
|
* WAVE format chunk retrieval
|
|||
|
BASS_TAG_WAVEFORMAT (BASS_ChannelGetTags type)
|
|||
|
* Adjustable sample channel limit
|
|||
|
BASS_SampleSetInfo
|
|||
|
* Per-channel CPU usage monitoring
|
|||
|
BASS_ATTRIB_CPU (BASS_ChannelGetAttribute option)
|
|||
|
* Pre-allocation of push stream queue space
|
|||
|
BASS_StreamPutData
|
|||
|
* Support for AIFF files with the data chunk before the format info chunk
|
|||
|
BASS_StreamCreateFile/User/URL
|
|||
|
* Ramping-in disabled for all but the XM format (and MODs in FT2 mode) in "normal" ramping mode
|
|||
|
BASS_MUSIC_RAMP (BASS_MusicLoad flag)
|
|||
|
* RIFF "INFO" tag reading fix
|
|||
|
BASS_TAG_RIFF_INFO (BASS_ChannelGetTags type)
|
|||
|
* OSX 10.7 compatibility fix
|
|||
|
* x86_64 architecture support on OSX
|
|||
|
* Delphi dynamic loading unit removed (now available as separate download)
|
|||
|
|
|||
|
2.4.7 - 30/11/2010
|
|||
|
------------------
|
|||
|
* Decode-to-position seeking
|
|||
|
BASS_POS_DECODETO (BASS_ChannelSetPosition flag)
|
|||
|
* Support for RIFF "DISP" text tags
|
|||
|
BASS_TAG_RIFF_DISP (BASS_ChannelGetTags type)
|
|||
|
* Support for APEv1 tags
|
|||
|
BASS_TAG_APE (BASS_ChannelGetTags type)
|
|||
|
BASS_TAG_APE_BINARY (BASS_ChannelGetTags type)
|
|||
|
* 16384 sample FFT
|
|||
|
BASS_DATA_FFT16384 (BASS_ChannelGetData flag)
|
|||
|
* Support for AIFF files larger than 4GB
|
|||
|
BASS_StreamCreateFile/User/URL
|
|||
|
* Acceptance of self-signed and invalid certificates
|
|||
|
BASS_StreamCreateURL
|
|||
|
* Internet stream reading timeout
|
|||
|
BASS_CONFIG_NET_READTIMEOUT (BASS_SetConfig option)
|
|||
|
* Support for removing a DSP within its DSPPROC
|
|||
|
BASS_ChannelRemoveDSP
|
|||
|
* Buffer bypassing for lower latency output (not available on Windows)
|
|||
|
BASS_ATTRIB_NOBUFFER (BASS_ChannelSetAttribute option)
|
|||
|
SYNTH example added (OSX)
|
|||
|
* A "Default" device that follows default device changes on Windows 7
|
|||
|
BASS_CONFIG_DEV_DEFAULT (BASS_SetConfig option)
|
|||
|
* Xcode examples project added for OSX
|
|||
|
* Documentation updated with platform-specific info for iOS/Linux/WinCE
|
|||
|
|
|||
|
2.4.6 - 17/6/2010
|
|||
|
-----------------
|
|||
|
* Support for APEv2 tags, including binary
|
|||
|
BASS_TAG_APE (BASS_ChannelGetTags type)
|
|||
|
BASS_TAG_APE_BINARY (BASS_ChannelGetTags type)
|
|||
|
* Unicode/IDN URL support
|
|||
|
BASS_StreamCreateURL
|
|||
|
* Decoding position retrieval
|
|||
|
BASS_POS_DECODE (BASS_ChannelGetPosition flag)
|
|||
|
* Support for OGG 6/7.1 channel configs
|
|||
|
BASS_StreamCreateFile/User/URL
|
|||
|
* Support for setting syncs within mixtime SYNCPROCs
|
|||
|
BASS_ChannelSetSync
|
|||
|
* Support for setting additional DSP/FX within DSPPROCs
|
|||
|
BASS_ChannelSetDSP/FX
|
|||
|
* DC bias removal in FFT processing
|
|||
|
BASS_DATA_FFT_REMOVEDC (BASS_ChannelGetData flag)
|
|||
|
* Fix for incorrect (2x) return value when getting FFT data from a 16-bit channel
|
|||
|
BASS_ChannelGetData
|
|||
|
* Fix for incorrect (STOPPED instead of PAUSED) channel status following BASS_Pause
|
|||
|
BASS_ChannelIsActive
|
|||
|
|
|||
|
2.4.5 - 18/12/2009
|
|||
|
------------------
|
|||
|
* Support for little-endian AIFF files
|
|||
|
BASS_StreamCreateFile/User/URL
|
|||
|
BASS_SampleLoad
|
|||
|
* Support for 64-bit floating-point WAVE/AIFF files
|
|||
|
BASS_StreamCreateFile/User/URL
|
|||
|
BASS_SampleLoad
|
|||
|
* Input volume retrieval failure results in a reading of -1 instead of 1
|
|||
|
BASS_RecordGetInput
|
|||
|
RECTEST example updated
|
|||
|
* Input volume support on OSX
|
|||
|
BASS_RecordSetInput
|
|||
|
BASS_RecordGetInput
|
|||
|
RECTEST example updated
|
|||
|
* Fix for deferred input settings on Vista
|
|||
|
BASS_RecordSetInput
|
|||
|
* Windows MP3 codec given preference over other installed MP3 codecs (MP3-FREE version)
|
|||
|
BASS_StreamCreateFile/User/URL
|
|||
|
BASS_SampleLoad
|
|||
|
|
|||
|
2.4.4 - 13/10/2009
|
|||
|
------------------
|
|||
|
* RIFF/BWF "radio traffic" tag retrieval
|
|||
|
BASS_TAG_RIFF_CART (BASS_ChannelGetTags type)
|
|||
|
TAG_CART structure
|
|||
|
* Support for ID3v2 tags in RIFF/WAVE/AIFF files ("ID3 " chunk)
|
|||
|
BASS_TAG_ID3V2 (BASS_ChannelGetTags type)
|
|||
|
* Pushed fractional samples are refused rather than discarded
|
|||
|
BASS_StreamPutData
|
|||
|
* DX8 effect emulation on OSX
|
|||
|
BASS_FX_DX8_CHORUS/DISTORTION/ECHO/FLANGER/PARAMEQ/REVERB (BASS_ChannelSetFX types)
|
|||
|
FXTEST example added
|
|||
|
* UTF-16 support on OSX
|
|||
|
BASS_UNICODE (BASS_StreamCreateFile/SampleLoad/MusicLoad/PluginLoad flag)
|
|||
|
|
|||
|
2.4.3 - 8/5/2009
|
|||
|
----------------
|
|||
|
* MOD order list retrieval
|
|||
|
BASS_TAG_MUSIC_ORDERS (BASS_ChannelGetTags type)
|
|||
|
* Support for ID3v2 tags in RIFF/WAVE files ("id3 " chunk)
|
|||
|
BASS_TAG_ID3V2 (BASS_ChannelGetTags type)
|
|||
|
* Improved position reporting precision on Vista
|
|||
|
BASS_ChannelGetPosition
|
|||
|
* Length retrieval when streaming in blocks (BASS_STREAM_BLOCK)
|
|||
|
BASS_ChannelGetLength
|
|||
|
* Support for CoreAudio codecs on OSX
|
|||
|
BASS_StreamCreateFile/User
|
|||
|
BASS_SampleLoad
|
|||
|
BASS_TAG_CA_CODEC (BASS_ChannelGetTags type)
|
|||
|
TAG_CA_CODEC structure
|
|||
|
* 3D algorithm option support on OSX
|
|||
|
BASS_CONFIG_3DALGORITHM (BASS_SetConfig option)
|
|||
|
|
|||
|
2.4.2 - 18/9/2008
|
|||
|
-----------------
|
|||
|
* RF64 support
|
|||
|
BASS_StreamCreateFile/User
|
|||
|
* RIFF/BWF "Broadcast Audio Extension" tag retrieval
|
|||
|
BASS_TAG_RIFF_BEXT (BASS_ChannelGetTags type)
|
|||
|
TAG_BEXT structure
|
|||
|
* ID3v1 tag structure
|
|||
|
TAG_ID3 structure
|
|||
|
* Multiple simultaneous recordings per device on Vista & OSX (as on XP)
|
|||
|
BASS_RecordStart
|
|||
|
* DX8 effect parameter defaults updated/corrected in documentation
|
|||
|
|
|||
|
2.4 - 2/4/2008
|
|||
|
--------------
|
|||
|
* "Push" streaming
|
|||
|
STREAMPROC_PUSH (BASS_StreamCreate option)
|
|||
|
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 2.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 (BASS_SetConfig option)
|
|||
|
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_ChannelGetData 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 (BASS_SetConfig option)
|
|||
|
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 (BASS_SetConfig option)
|
|||
|
* 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 the OS's 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 pre-buffering
|
|||
|
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 pre-buffering 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 pre-buffering
|
|||
|
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 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/File/URL 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
|
|||
|
* DirectSound 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
|
|||
|
* 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
|
|||
|
|
|||
|
|
|||
|
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
|
|||
|
|