⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bass.txt

📁 bass player system api c++
💻 TXT
📖 第 1 页 / 共 4 页
字号:
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 - 18/9/2008
-----------------
* 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 "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 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
	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
	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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -