BASS.NET API for the Un4seen BASS Audio LibraryVersion HistoryBASS.NET API for the Un4seen BASS Audio Library

The topics in this section describe the various changes made to the BASS.NET API over the life of the project.

Currently supported BASS and Add-On Versions

  • BASS 2.4.13.28

  • BASSenc 2.4.14.0

  • BASSmix 2.4.9.5

  • BASS_FX 2.4.12.1

  • BASS_ASIO 1.3.1.9

  • BASSWASAPI 2.4.2.1

  • BASS_WADSP 2.4.1.0

  • BASS_VST 2.4.5.0

  • BASS_SFX 2.4.2.1

  • BASSWMA 2.4.5.2

  • BASSCD 2.4.6.7

  • BASSFLAC 2.4.4.0

  • BASSMIDI 2.4.11.14

  • BASSWV 2.4.5.1

  • BASSDSD 2.4.1.2

  • BASS_SPX 2.4.3.2

  • BASS_MPC 2.4.1.2

  • BASS_AC3 2.4.0.6

  • BASS_AAC 2.4.5.8

  • BASS_ALAC 2.4.0.0

  • BASS_TTA 2.4.0.2

  • BASS_HLS 2.4.1.2

  • BASSOPUS 2.4.1.10

  • BASS_APE 2.4.2.0

  • BASS_OFR 2.4.0.2

  • BASS_ADX 2.4.0.0

  • BASS_AIX 2.4.1.1

  • BassWinamp 2.4.1.4

BASS.NET Version History

15.10.2018: Version 2.4.13.3
Note:
        - BASS: added support for v2.4.13.25
        - BASSWASAPI: added support for v2.4.2.1
        - BASS_FX: added support for v2.4.12.1
        - BASSenc: added support for v2.4.14.0
        - BASSenc_MP3: added support for v2.4.0.0
        - BASSenc_FLAC: added support for v2.4.1.1
        - BASSenc_OGG: added support for v2.4.0.0
        - BASSenc_OPUS: added support for v2.4.0.2
        - BASSASIO: added support for v1.3.1.9
        - BASSMIDI: added support for v2.4.11.14
        - BASSHLS: added support for 2.4.1.2
        - BASSDSD: added support for 2.4.1.2
        - Bass.Net.WinStore: all references to add-ons removed which can use the plug-in system

11.01.2018: Version 2.4.13.0
Note:
        - BASS: added support for v2.4.13.2
        - BASSWASAPI: added support for v2.4.2.0
        - BASSHLS: added support for 2.4.0.0
        - Bass.Net.WinStore: all references to add-ons removed which can use the plug-in system

31.08.2017: Version 2.4.12.7
Note:
        - BASSMIX: added support for v2.4.9.0
        - BASSFLAC: added support for v2.4.4.0

16.05.2017: Version 2.4.12.6
Note:
        - BASSMIDI: added support for v2.4.11.0

28.04.2016: Version 2.4.12.4
Note:
        - BASSMIDI: added support for v2.4.10.0
        - Bass.Net.WinStore: added support for APE and DSD addons

28.04.2016: Version 2.4.12.3
Note:
        - Bass.Net: .Net Framework v4.5 rebuild
        - Bass.Net.iOS: latest Xamarin.iOS target framework support
        - Bass.Net.Android: latest Mono/Xamarin.Android target framework support
        - Bass.Net.Linux: .Net Framework v4.5 rebuild
        - Bass.Net.OSX: .Net Framework v4.5 rebuild

28.04.2016: Version 2.4.12.1
Note:
        - Bass.Net: .Net Framework v4.5 rebuild
        - Bass.Net.iOS: latest Xamarin.iOS target framework support
        - Bass.Net.Android: latest Mono/Xamarin.Android target framework support
        - Bass.Net.Linux: .Net Framework v4.5 rebuild
        - Bass.Net.OSX: .Net Framework v4.5 rebuild

05.04.2016: Version 2.4.12.0
BASS: added support for v2.4.12.0
BASSenc: added support for v2.4.13.0
BASSHLS: added support for v2.4.0.0
General update to all latest versions!
Note:
        - the v4.0 version also supports the v4.5 .Net Framework

07.07.2015: Version 2.4.11.1
BASS: added support for v2.4.11.8
BASSmix: added support for v2.4.8.0
BASSDSD: added support for v2.4.0.1
BASSWASAPI: added support for v2.4.1.2
BASS_FX: added PITCHSHIFT support for mobile devices
BASSASIO: added support for v1.3.1.4
BASSMIDI: added support for v2.4.9.10
General update to all latest versions!
Note:
        - the v4.0 version also supports the v4.5 .Net Framework

19.01.2015: Version 2.4.11.0
BASS: added support for v2.4.11.0
BASSDSD: added support for v2.4.0.0
BASS_FX: added support for v2.4.11.1
BASSASIO: added support for v1.3.1.0
BASSMIDI: added support for v2.4.9.1
General update to all latest versions!
Note:
        - the v4.0 version also supports the v4.5 .Net Framework

09.10.2014: Version 2.4.10.4
General update to all latest versions!
Note:
        - the v4.0 version also supports the v4.5 .Net Framework

13.09.2013: Version 2.4.10.3
BASSWASAPI: added support for v2.4.0.0
BASSopus: added support for v2.4.1.1
BASS_FX: added support for v2.4.10.2
Note:
        - the v4.0 version also supports the v4.5 .Net Framework

11.06.2013: Version 2.4.10.2
BASS_FX: added support for v2.4.10.1
BASSmidi: added support for v2.4.8.0
Note:
        - the v4.0 version also supports the v4.5 .Net Framework

15.04.2013: Version 2.4.10.1
BASS: added support for v2.4.10.5
BASS_ASIO: added support for v1.3.0.0
General:
    - seperate build versions added to support:
        - Xamarin.Android
        - Xamarin.iOS
        - Mono/OSX
        - Mono/Linux
Note:
        - the v4.0 version also supports the v4.5 .Net Framework

19.02.2013: Version 2.4.10.0
BASS: added support for v2.4.10.0
BASS_FX: added support for v2.4.9.0
BASSenc: added support for v2.4.10.1
BASSMIDI: added support for v2.4.7.0
BASS_ASIO: added support for v1.2.1.0
BASSWASAPI: added support for v0.0.0.19
General:
   - Broadcast: additional Admin Username/Password added
Note:
   - the v4.0 version also supports the v4.5 .Net Framework
   - BASS_FX added to the WinCE version
   - VS2012 help integration added

20.09.2012: Version 2.4.9.1
BASS: added support for v2.4.9.6
BASS_FX: added support for v2.4.8.0
BASSMIDI: added support for v2.4.7.0
BASSOPUS: added support for v2.4.0.0
BASS_SPX: added support for v2.4.1.1
General:
        - Utils: Opus support added
        - Broadcast: new EncoderOPUS added
        - Broadcast: server ICEcast Opus support added
        - WaveForm: (De)Serialization bug-fix
Note:
        - the v4.0 version also supports the v4.5 .Net Framework

10.05.2012: Version 2.4.9.0
BASS: added support for v2.4.9.0
BASSmix: added support for v2.4.7.0
BASSWV: added support for v2.4.3.1

03.04.2012: Version 2.4.8.6
BASSenc: added support for v2.4.9.1
BASS_ASIO: added support for v1.2.0.0
BASSCD: added support for v2.4.5.2
BASSMIDI: added support for v2.4.6.11
BASS_DSHOW: added support for v1.2.2.0
General:
        - Broadcast: new BroadCastEventType.Reconnected added
        - WaveForm: Marker drawing bug-fix

09.03.2012: Version 2.4.8.5
BASS: added support for v2.4.8.13
BASSenc: added support for v2.4.9.0

04.01.2012: Version 2.4.8.4
BASSASIO: added support for v1.1.0.2
BASS_DSHOW: added support for v2.4.0.1

18.11.2011: Version 2.4.8.3
General:
        - .Net v4.0 TAG reading bug-fix

18.11.2011: Version 2.4.8.2
BASS: added support for v2.4.8.5
BASS_DSHOW: added support for v1.2.0.0
BASS_AIX: added support for v2.4.1.1
General:
        - UTF-8 DeviceInfo member support for BASS and BASSWASAPI
        - Misc: new EncoderFHGAACplus added
        - Utils: BASSAddOnGetPluginFileFilter and BASSAddOnGetSupportedFileFilter enhanced
        - New Setup including v2.0 and v4.0 .Net assembly versions
        - New HelpViewer help files added for VS2010
Important Notice:
As the folder structure for the Bass.Net assemblies has been changed with this release, 
make sure to correct this within your project settings to ensure that you are 
referencing the correct target platform!
There are four Bass.Net versions deployed (each in a seperate sub-folder):
.\v2.0    : Bass.Net for .Net 2.0
.\v4.0    : Bass.Net for .Net 4.0
.\compact : Bass.Net CE for .Net CompactFramework 3.5
.\iphone  : Bass.Net iPhone for .Net CompactFramework 3.5

25.08.2011: Version 2.4.8.0
BASS: added support for v2.4.8.0
BASSASIO: added support for v1.1.0.0
Update to support all latest addon/plugin versions
General:
        - BassTags: new ReadPictureTAGs property added
        - Misc: Broadcast framework SHOUTcast.SID property added (v2 support)
        - WaveForm: GetBytePositionFromX bug-fix
        - WaveForm: new HalfMonoFlipped drawing mode added

30.11.2010: Version 2.4.7.0
BASS: added support for v2.4.7.0
Update to support all latest addon/plugin versions

17.09.2010: Version 2.4.6.8
BASSWMA: added support for v2.4.4.0
General:
        - WaveForm: ColorMiddleLeft, ColorMiddleRight properties added
        - WaveForm: PixelFormat property added

10.09.2010: Version 2.4.6.7
Update to support all latest versions
General:
        - WaveForm: grandient drawing bug-fixes
        - WaveForm: DrawCenterLine property added

11.08.2010: Version 2.4.6.6
Update to support all latest versions
General:
  - BassTag: ID3v2.2 compatibility bug-fix
        - WaveForm: added support for marker alignement

18.06.2010: Version 2.4.6.5
BASS: added support for v2.4.6.0
BASS_DSHOW: added support for v2.4.0.5

07.04.2010: Version 2.4.6.4
General:
  - Misc.WaveForm: zooming bug-fix

22.03.2010: Version 2.4.6.3
BASS: added support for v2.4.5.17
BASSmix: added support for v2.4.4.0
BASS_SFX: added support for v2.4.2.1
BASS_DSHOW: added support for v2.4.0.5
General:
  - Misc.WaveForm: rendering speed increased

09.02.2010: Version 2.4.6.2
BASS: added support for v2.4.5.11
BASSmidi: added support for v2.4.5.0
BASSenc: added support for v2.4.6.2
BASSmix: added support for v2.4.3.2
General:
  - AddOn.Tags: bug-fix when reading ID3v2 unsychronization flags
        - Misc.BaseEncoder: new 'NoLimit' flag added

21.12.2009: Version 2.4.6.0
BASS: added support for v2.4.5.0
BASS_FX: added support for v2.4.5.0
BASSenc: added support for v2.4.6.2
BASSCD: added support for v2.4.3.1
BASSFLAC: added support for v2.4.1.0
BASSWV: added support for v2.4.1.5
General:
  - AddOn.Tags: picture reading added for OGG, APEv2 and FLAC
Breaking Changes:
  - BASS_FX: BiQuad filter types changed from BASS_FX_BQF_xxx to BASS_BFX_BQF_xxx

04.11.2009: Version 2.4.5.4
BASSenc: added support for v2.4.5.0
BassWMA: added support for v2.4.3.0

30.10.2009: Version 2.4.5.3
BASSASIO: added support for v1.0.1.0
BASS_ALAC: added support for v2.4.1.0
BassWinamp: added support for v2.4.1.4
BASS_WADSP: added support for v2.4.1.0:
  Breaking changes in BASS_WADSP:
  . BASS_WADSP_FindPlugins moved to the WINAMP_DSP class
        . all previous void methods now return a bool
        . WINAMP_DSP members changed (to ensure that no plugin will be loaded twice)

14.10.2009: Version 2.4.5.2
BASS: added support for v2.4.4.0
BASSCD: BASS_CD_GetInfo, BASS_CD_GetInfos and BASS_CD_GetDriveCount optionally contain a 'release' parameter.
General:
  - new Misc.EncoderMP3S added
        - optimized ID3v2 genre parsing
        - Misc.WaveForm:
          . new DrawMarker types (NameBoxFilled and NameBoxFillInverted) added
                . new MarkerFont property added
                . optional marker colors added (see AddMarker methods)
                . optional faster binary WaveFormSaveToFile/LoadFromFile serialization
Breaking Changes:
        - BassVis add-on removed! Use BASS_SFX instead!
        - BassVideo add-on removed (seems to be dead)!

25.08.2009: Version 2.4.5.1
BASSMIDI: added support for v2.4.4.0

17.08.2009: Version 2.4.5.0
BASSenc: added support for v2.4.4.2
BASS_APE: added support for v2.4.0.4
BASS_MPC: added support for v2.4.1.0
BASSFLAC: added support for v2.4.0.3
BASS_AC3: added support for v2.4.0.2
BASS_ALAC: added support for v2.4.0.5
General:
  - some smaller Bug-Fixes
  - WaveWriter: new WriteNoConvert method added
  - WaveForm: some internal optimizations
  - Utils: DetectNextLevel method added and DetectCuePoints optimized
Breaking Changes:
  - EncoderWinampAACplus changed to support Winamp 5.33 or above enc_aacPlus.dll!
    Note: The AACPlus_* properties have been changed and you MUST use it with the latest Winamp enc_aacPlus.dll!

22.06.2009: Version 2.4.4.4
BASS: added support for v2.4.3.1                                
BASSenc: added support for v2.4.4.0
BASSWMA: added support for v2.4.2.0
BassWinamp: (re)added support for v2.4.0.0
General:
  - AddOn.Tags: support for BASS_TAG_RIFF_CART added

28.04.2009: Version 2.4.4.3
BASSenc: added support for v2.4.3.1                                
BASS_SFX: added support for v2.4.1.5
BASS_FX: added support for v2.4.4.1
BASS_OFR: added support for v2.4.0.2
BASS_AC3: added support for v2.4.0.1
BASSMIDI: added support for v2.4.3.1

02.04.2009: Version 2.4.4.2
BASS_FX: added support for v2.4.4.0
BASS_SFX: added support for v2.4.1.1
BASSCD: added support for v2.4.2.0
BASSMIDI: added support for v2.4.3.0
General:
  - BREAKING CHANGE: Bass.BASS_Init signature change!!!
    The last clsid parameter has been removed in the default.
    So unless you are working with a certain clsid you can simply
    remove the last parameter from your call.

16.03.2009: Version 2.4.4.1
BASS_SFX: added support for v3.0.0.0
BASS_FX: added support for v2.4.3.2
BASS_AAC: added support for v2.4.2.0
BassVis: added support for v2.4.1.6

17.02.2009: Version 2.4.4.0
BASS: updated to support v2.4.2.5
BASSmidi: added support for v2.4.2.1
BASS_AAC: added support for v2.4.1.0
BassVideo: updated to support latest v2.4.1.3
General:
  - Tags.TAG_INFO: disc, conductor, grouping, mood, rating, isrc added
  - Misc.Encoders: support for new TAG_INFO members added
  - Ten53.Multimedia.Midi namespace renamed to radio42.Multimedia.Midi

29.12.2008: Version 2.4.3.1
Bug Fix: LoadMe functions caused an exception.

19.12.2008: Version 2.4.3.0
BASS: updated to support v2.4.2.3
BASSmix: added support for v2.4.1.0
BASS_FX: updated to support v2.4.3.0
BASS_VST: added support for v2.4.0.6
BassVideo: updated to support v2.4.1.3
General:
  - BASS.NET now checks the BASS version being used
  - Misc.EncoderWAV: now supports RIFF LIST INFO tag writing
  - Tags.TAG_INFO: ConvertToRiffINFO and ConvertToRiffBEXT methods added
  - Tags.TAG_INFO: replaygain_track_gain and replaygain_track_peak members added
  - Utils.FixTimespan: new format SMPTE format strings added
  - Utils.GetNormalizationGain: now also returns the peak level
  - WaveForm.GetNormalizationGain: now also returns the peak level

10.09.2008: Version 2.4.2.0
BASS: updated to support v2.4.2.0
BASSenc: updated to support v2.4.2.0
BASS_ADX: added support for v2.4.0.0
BassVideo: updated to support v2.4.1.2
General:
  - AddOn.Tags: WAV BEXT tag reading added
  - AddOn.Tags: tagType field added to the TAG_INFO structure 
  - EncoderLAME: changed to little-endian (-x flag removed) to support LAME 3.98

17.08.2008: Version 2.4.1.3
BASS_FX: updated to support v2.4.2.0
BASSvis: updated to support v2.4.1.2
BassVideo: updated to support v2.4.1.2 (beta2)
General: Utils.GetNormalizationGain made static

09.07.2008: Version 2.4.1.2
BASSMIDI: updated to support v2.4.1.0
BassVideo: updated to support v2.4.1.1

26.06.2008: Version 2.4.1.1
BASSenc: updated to support v2.4.1.1
BASSCD: updated to support v2.4.1.0
BASS_WV: updated to support v2.4.1.0
BASSvis: updated to support v2.4.0.5
General: "Utils.UI_CreateDelegate" removed to make BASS.NET compatible with the .Net compact framework

11.06.2008: Version 2.4.1.0
BASS: updated to support v2.4.1.1
BASSenc: updated to support v2.4.0.1
BassVideo: updated to support v2.4.0.9
BASSvis: updated to support v2.4.0.4
  - BASSVISSONFlags renamed to BASSVISFlags
  - BASS_VIS_EXEC class changed to support BassBox visuals
BASSASIO: updated to support final v1.0.0.0
General:
  - Breaking Change: ArrayList and Hashtable changed to generics using List and Dictionary
      e.g. for BASS_PluginLoadDirectory or for WaveForm.Wave.marker and WaveForm.Wave.beats
  - WaveForm: GainFactor property added

29.05.2008: Version 2.4.0.4
BassVideo: updated to support v2.4.0.8
General:
  - WaveFrom:
    . Gradient drawing support (see UseGradient, ColorLeft2, ColorRight2)
    . GetNormalizationGain method added
    . GetCuePoints overloads added supporting seconds
    . AddMarker overloads added supporting seconds
    . AddVolumePoint overloads supporting seconds
  - Tag add-on: a few optimizations (incl. picture reading)
  - Utils: GetNormalizationGain method added

21.04.2008: Version 2.4.0.3
BassVideo: updated to support the new API
General:
  - WaveFrom: Ability to specify the ThreadPriority added

14.04.2008: Version 2.4.0.2
BASS_VIS: updated to support the new API
  - BASS_VIS_Register *removed*
  - BASS_VIS_SetPlayState new overloads added
  - BASSVISPlayState enum changed
General:
  - Tags add-on: Support for multiple tag-format reading added
  - Tags add-on: Only valid pictures will be read

14.04.2008: Version 2.4.0.2
BASS_MIDI: bug-fix
  - BASS_MIDI_FontGetInfo bug-fix
General:
  - Tags add-on: Support for ID3v2.4 unsyrchronised picture frames added

04.04.2008: Version 2.4.0.1
BASS_MIDI: bug-fix
  - MIDI_EVENT_TEMPO event was missing in the BASSMIDIEvent enum.
  - BASS_MIDI_StreamGetMark bug-fix

02.04.2008: Version 2.4.0.0
Support for BASS version 2.4 added:
  - "Push" streaming
          . STREAMPROC_PUSH (BASS_StreamCreate "proc")
          . BASS_StreamPutData
          . MULTI example updated
  - "Push" buffered file streaming
          . STREAMFILE_BUFFERPUSH (BASS_StreamCreateFileUser system)
          . BASS_StreamPutFileData
  - STREAMFILEPROC replaced by table of callbacks for each file operation
          . 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)
  - 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*
  - Global volume range increased to 10000
          . BASS_CONFIG_GVOL_SAMPLE/STREAM/MUSIC (BASS_SetConfig options)
  - 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*
  - 256 sample FFT
          . BASS_DATA_FFT256 (BASS_ChannelGetDat flag)
  - Channel locking to prevent access by other threads
          . BASS_ChannelLock
  - Manual channel buffer updating
          . BASS_ChannelUpdate
          . BASS_ChannelPreBuf *removed*
  - Configurable manual update length
          . BASS_Update
  - Extended device information retrieval and detection of new/removed devices
          . BASS_GetDeviceInfo
          . BASS_RecordGetDeviceInfo
          . BASS_GetDeviceDescription *removed*
          . BASS_RecordGetDeviceDescription *removed*
          . BASS_INFO (driver member) *removed*
          . BASS_RECORDINFO (driver member) *removed*
  - Default device change tracking on Windows (as on OSX)
          . BASS_Init
          . BASS_RecordInit
  - Channel automatically stopped and resumed for DX8 effects
          . BASS_ChannelSetFX
          . BASS_ChannelRemoveFX
  - BASSFX (DX8) effect structures renamed to BASS_DX8_*
  - "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)
  - Data retrieval from stopped/paused channels
          . BASS_ChannelGetData
  - Callback "user" parameters changed to pointers
          . BASS_StreamCreate / STREAMPROC
          . BASS_StreamCreateFileUser / FILEPROCS
          . BASS_StreamCreateURL / DOWNLOADPROC
          . BASS_RecordStart / RECORDPROC
          . BASS_ChannelSetDSP / DSPPROC
          . BASS_ChannelSetSync / SYNCPROC
Support for BASSwma version 2.4 added:
  - Support for buffered user file streaming
          . BASS_WMA_StreamCreateFileUser
  - 64-bit file positioning
          . BASS_WMA_StreamCreateFile
          . BASS_WMA_StreamCreateFileAuth
  - Support for proxy config setting
          . BASS_WMA_StreamCreateFile/Auth
  - Separate sync for WMA mid-stream tags (instead of BASS_SYNC_META)
          . BASS_SYNC_WMA_META (BASS_ChannelSetSync type)
  - Mid-stream tag retrieval
          . BASS_TAG_WMA_META (BASS_ChannelGetTag type)
  - Tag name/value delimiter changed to '='
          . BASS_TAG_WMA (BASS_ChannelGetTags type)
          . BASS_TAG_WMA_META (BASS_ChannelGetTags type)
  - ASX processing determined by BASS_CONFIG_NET_PLAYLIST config option
          . BASS_CONFIG_WMA_ASX *removed*
  - Prebuffering is disabled by default
          . BASS_CONFIG_WMA_PREBUF
  - Callback "user" parameters changed to pointers
          . BASS_WMA_StreamCreateFileUser
          . BASS_WMA_EncodeOpen / WMENCODEPROC
          . BASS_WMA_EncodeSetNotify / CLIENTCONNECTPROC
Support for BASSmidi version 2.4 added:
  - Tick-based positioning
          . Tick-based positioning
          . BASS_POS_MIDI_TICK (BASS_ChannelGetLength/GetPosition/SetPosition mode)
          . BASS_SYNC_MIDI_TICK (BASS_ChannelSetSync type)
  - Preset name retrieval
          . BASS_MIDI_FontGetPreset
  - Text markers
          . BASS_MIDI_MARK_TEXT (BASS_MIDI_StreamGetMark type)
          . BASS_SYNC_MIDI_TEXT (BASS_ChannelSetSync type)
  - Individual marker retrieval
          . BASS_MIDI_StreamGetMark
          . BASS_MIDI_StreamGetMarks *removed*
  - Marker index passed to marker sync callbacks
          . BASS_SYNC_MIDI_MARKER/CUE/LYRIC/TEXT
  - Support for updated user file stream system
          . BASS_MIDI_StreamCreateFileUser
  - 64-bit file positioning
          . BASS_MIDI_StreamCreateFile
  - Callback "user" parameters changed to pointers
          . BASS_MIDI_StreamCreateURL
          . BASS_MIDI_StreamCreateFileUser
Support for BASSmix version 2.4 added:
  - Attribute envelopes
          . BASS_Mixer_ChannelSetEnvelope
          . BASS_Mixer_ChannelGetEnvelopePos
          . BASS_Mixer_ChannelSetEnvelopePos
          . BASS_MIXER_NODE class
          . BASS_SYNC_MIXER_ENVELOPE (BASS_Mixer_ChannelSetSync type)
  - Adjustable resampling filtering
          . BASS_MIXER_FILTER (BASS_Mixer_StreamAddChannel/Ex flag)
          . BASS_CONFIG_MIXER_FILTER
  - Source level/data retrieval
          . BASS_Mixer_ChannelGetData/Level
          . BASS_MIXER_BUFFER (BASS_Mixer_StreamAddChannel/Ex flag)
          . BASS_MIXER_CONFIG_BUFFER (BASS_SetConfig option)
  - Immediate resuming of a stalled mixer upon a new/unpaused source
          . BASS_MIXER_RESUME (BASS_Mixer_StreamCreate flag)
  - Support for position "modes"
          . BASS_Mixer_ChannelSetPosition
          . BASS_Mixer_ChannelGetPosition
  - Added a function BASS_Mixer_GetVersion
  - 64-bit channel start and length settings
          . BASS_Mixer_StreamAddChannelEx
  - Support for all source sync types
          . BASS_Mixer_ChannelSetSync
  - Mixer channel type added
          . BASS_CTYPE_STREAM_MIXER
  - Callback "user" parameters changed to pointers
          . BASS_Mixer_ChannelSetSync
Support for BASScd version 2.4 added:
  - Drive access interface selection
          . BASS_CD_SetInterface
  - Support for limited/restricted user accounts
          . BASS_CD_IF_WIO (BASS_CD_SetInterface interface)
  - Drive description/letter moved to info structure
          . BASS_CD_INFO (vendor/product/rev/letter members)
          . BASS_CD_GetDriveDescription *removed*
          . BASS_CD_GetDriveLetter *removed*
Support for BASSenc version 2.4 added:
  - Encoded data count retrieval
          . BASS_Encode_GetCount
  - Version retrieval
          . BASS_Encode_GetVersion
  - 32-bit integer data conversion
          . BASS_ENCODE_FP_32BIT
  - Shoutcast title URL setting
          . BASS_Encode_CastSetTitle
  - Callback "user" parameters changed to pointers
          . BASS_Encode_Start / ENCODEPROC
          . BASS_Encode_SetNotify / ENCODENOTIFYPROC
Support for BASS_FX version 2.4 added:
  - BASS_FX updated to BASS 2.4
  - More integrated with BASS plug-in system.
  - Added a function BASS_FX_GetVersion
  - BASS_FX_CONFIG_DSP_RESET *removed*
  - Error codes changed
  - To be able to link with BASS_FX, you'll have to call BASS_FX_GetVersion function
    (or any other function from BASS_FX.DLL) or load it dynamically using LoadMe()
  - DSP:
    . Effect names, structure names, flags and chain are changed
      e.g: BASS_FX_DSPFX_PHASER -> BASS_FX_BFX_PHASER
           BASS_BFX_PHASER -> BASS_BFX_PHASER
           . Exception BASS_FX_DSPFX_SWAP renamed to BASS_BFX_MIX (and behaviour changed)
           . BASS_FX_DSPFX_S2M *removed*
    . All functions integrated with BASS FX functions and the usage is the same
      as with BASS DX8/DMO effects:
       . BASS_FX_DSP_Set *removed* (use BASS_ChannelSetFX)
       . BASS_FX_DSP_SetParameters *removed* (use BASS_FXSetParameters)
       . BASS_FX_DSP_GetParameters *removed* (use BASS_FXGetParameters)
       . BASS_FX_DSP_Reset *removed* (use BASS_FXReset)
       . BASS_FX_DSP_Remove *removed* (use BASS_ChannelRemoveFX)
    . It is possible now to apply an effect more than once on the same channel.
    . BASS_FX_BFX_PEAKEQ:
       . lFreq param changed from "DWORD" to "float" and named fFreq
       . Take a look at DSP example to know how to increase the number of bands
    . BASS_FX_BFX_LPF:
       . lFreq param changed from "DWORD" to "float" and named fFreq
  - Tempo:
    . Support for all source sync types
    . Funtions integrated with BASS attribute system (BASS_ChannelSet/GetAttribute):
       . BASS_FX_TempoSet *removed*
       . BASS_FX_TempoGet *removed*
       . BASS_FX_TempoSetOption *removed*
       . BASS_FX_TempoGetOption *removed*
    . Tempo attributes:
       . BASS_ATTRIB_TEMPO
       . BASS_ATTRIB_TEMPO_PITCH
       . BASS_ATTRIB_TEMPO_FREQ
    . Option attributes:
       . BASS_ATTRIB_TEMPO_OPTION_USE_AA_FILTER
       . BASS_ATTRIB_TEMPO_OPTION_AA_FILTER_LENGTH
       . BASS_ATTRIB_TEMPO_OPTION_USE_QUICKALGO
       . BASS_ATTRIB_TEMPO_OPTION_SEQUENCE_MS
       . BASS_ATTRIB_TEMPO_OPTION_SEEKWINDOW_MS
       . BASS_ATTRIB_TEMPO_OPTION_OVERLAP_MS
  - Reverse:
    . Support for all source sync types
    . Funtions integrated with BASS attribute system (BASS_ChannelSet/GetAttribute):
       . BASS_FX_ReverseSetDirection *removed*
       . BASS_FX_ReverseGetDirection *removed*
    . Reverse attribute:
       . BASS_ATTRIB_REVERSE_DIR
  - BPM:
    . Seconds changed from "float" to "double"
    . Callback "user" parameters changed to pointers: BASS_FX_BPM_CallbackSet / BPMPROC
    . Translation names changed:
       . BASS_FX_BPM_X2       -> BASS_FX_BPM_TRAN_X2
       . BASS_FX_BPM_2FREQ    -> BASS_FX_BPM_TRAN_2FREQ
       . BASS_FX_BPM_FREQ2    -> BASS_FX_BPM_TRAN_FREQ2
       . BASS_FX_BPM_2PERCENT -> BASS_FX_BPM_TRAN_2PERCENT
       . BASS_FX_BPM_PERCENT2 -> BASS_FX_BPM_TRAN_PERCENT2
  - Beat:
    . Multi-channel support
    . Seconds changed from "float" to "double"
  - Callback "user" parameters changed to pointers:
    . BASS_FX_BPM_BeatCallbackSet / BPMBEATPROC
    . BASS_FX_BPM_BeatDecodeGet / BPMBEATPROC
Support for BASSFLAC version 2.4 added:
  - Support for updated user file stream system
          . BASS_FLAC_StreamCreateFileUser
  - 64-bit file positioning
          . BASS_FLAC_StreamCreateFile
  - Callback "user" parameters changed to pointers
          . BASS_FLAC_StreamCreateURL/FileUser
  - Updated to libFLAC 1.2.1
Support for BASSASIO version 1.0 added.
Support for BASS_WADSP version 2.4 added:
  - BASS_WADSP_GetVersion function added. 
Support for BASS_VST version 2.4 added:
  - VSTi support added: BASS_VST_ChannelCreate() and -Free()
  - BASS_VST_ProcessEvent() added, use this function to send MIDI events
  - Better synchronization on some plugins' initialization
  - Serving timing information to plugins needing it
  - BASS_VST works with BASS 2.4, BASS 2.3 or BASS 2.2 now
  - The "user" parameter of BASS_VST_SetCallback() is a pointer now
Support for BassVideo version 2.4 added:
  - Initial build.
General BASS.NET changes:
  - Massive documentation update:
    . All doc examples are now available for C# and VB.Net. 
    . Doc now contains all error codes and their description.
    . A Getting Started (Overview) and a Marshal Interop chapter was added.
  - Support for .Net Framework version 1.1 ended!
    . Current and future version of BASS.NET do now support .Net Framework 2.0, 3.0 and 3.5.            
  - Various BASS.NET method overloads have been removed for simplicity and consistancy
    . Instead of there being overloads with a flag 'enum' and an 'int' only the 'enum' overload survived
    . Some BASS_ChannelGetData overloads have been removed (signatures changed!)
    . BASS_SampleGetChannels signature changed
    . BASS_Mixer_ChannelGetMatrix/BASS_Mixer_ChannelSetMatrix signature changed
    . EncoderXXX.Start method signature changed
    . BASS_Encode_GetACMFormat signature changed
  - BASSMusic, BASSStream, BASSSample, BASSFXFlag removed and combined into a new BASSFlag enum
  - BASSErrorCode enummeration renamed to BASSError
  - DSP_StreamCopy now makes use of a "push" stream and can be used on decoding and buffered channels
    . "StreamDevice" property renamed to "StreamCopyDevice"
    . "StreamFlags" renamed to "StreamCopyFlags"
    . new "IsOutputBuffered", "SourceMixerStream" and "TargetMixerStream" property added
    . "Start" method has a new signature
  - The EncoderWMA now always uses an automatic DSP to send the data to the encoder
    . EncoderWMA.Write *removed*
    . Use the new WMA_Notify property to get notified on possible errors when writing data to the encoder
  - The WMAcast class now sets the UseBASS property always to TRUE
    . WMAcast.Send now always returns the length given to it's call
  - BassAsioHandler reworked:
    . InputFX renamed to InputChannel
    . BassChannel renamed to OutputChannel
    . The 'Default*' ASIOPROCs have been renamed and made virtual to support overloads
    . AdditionalAsioProc property has been removed
    . general performance and stability enhancements
  - New Utils.DecodeAllData helper method added
  - New Utils.UI_CreateDelegate method added to dynamically creates a delegate 
  - Namespace and class changed to: Un4seen.Bass.AddOn.WaDsp.BassWaDsp
  - Upgrade in EncoderFLAC: supporting new faac1.25f (supporting 32-bit float input)
  - BASS_ChannelSetConfig: string overload removed, use BASS_ChannelSetConfigPtr overload instead
  - new BASS_TAG_GetFromFile overload added.
  - BASS_TAG_GetFromURL and UpdateFromMETA now splits the 'StreamTitle' by " - ".
  - Radio42.Multimedia.Midi classes reworked (unneeded overloads removed)
    . MIDIErrorCode renamed to MIDIError

26.08.2007: Version 2.3.1.8
AddOn.Tags: bug-fix reading non zero-terminated ID3v1 tags 
Misc: 
  - EncoderOGG: supporting new oggenc2.84 version (which now accepts 32bit float input from STDIN)
  - EncoderFAAC: now using BASS_ENCODE_FP_24BIT when using 32bit float input from STDIN (currently FAAC doesn't like 32bit float input from STDIN)
  - WaveForm: new volume curve options (e.g. see AddVolumePoint) and DrawWave type WAVEFORMDRAWTYPE.HalfMono added 
BASSasio: Upgrade supporting final BASSASIO v1.0.0.0 (ASIOPROC signature change: must now return the number of bytes written) 
BASS_VIS: support for version 2.3.2.1 added

30.07.2007: Version 2.3.1.7
BASS: support for version 2.3.0.3 added
  - FX state resetting: new BASS_FXReset method
  - PLS/M3U playlist URL processing: new BASS_CONFIG_NET_PLAYLIST config option
  - Internet stream connection status retrieval: new BASS_FILEPOS_CONNECTED (BASS_StreamGetFilePosition mode)
  - Lyrics3v2 tags: new BASS_TAG_LYRICS3 (BASS_ChannelGetTags type)
  - IT virtual channel configuration: new BASS_CONFIG_MUSIC_VIRTUAL config option
  - Accurate speaker detection on Vista: BASS_INFO (speakers member)
  - Device output/input rate retrieval on Vista: BASS_INFO and BASS_RECORDINFO (freq member)
  - Syncing upon position changes new BASS_SYNC_SETPOS (BASS_ChannelSetSync type)
  - Improved stall handling: BASS_SYNC_STALL
  - Invalid decoding channel flags produce an error instead of being ignored: at BASS_StreamCreate/File/User/Url and BASS_MusicLoad 
BASS_FX: support for version 2.3.0.3 added
  - new BASS_FX_CONFIG_DSP_RESET with BASS_Set/GetConfig function (to reset DSPs, BPM/Beat Callbacks when position is set)
  - various bug-fixes 
BASS_VIS: support for version 2.3.1.2 added 
Misc:
  - DSP_PeakLevelMeter: small bug fix when calculating the UpdateTime
  - BassAsioHandler: small bug fix with the Volume calculation
  - BassAsioHandler: new Notification event handler added

07.07.2007: Version 2.3.1.6
BASS_VIS: support for version 2.3.1.1 added 
Misc:
  - DSP Framework: new DSP_BufferStream class added (synchronized decoding channel clones) - see help for details

05.06.2007: Version 2.3.1.5
BASS_VIS: support for version 2.3.1.0 added (WMP visualization)  
Misc:
  - WaveForm: rendering speed enhanced

07.05.2007: Version 2.3.1.4
BASSmix: support for latest version added:
  - new BASS_MIXER_PAUSE flag:
    (to be used with BASS_Mixer_StreamAddChannel(Ex) and BASS_Mixer_ChannelFlags)
  - new BASS_Mixer_ChannelSetSync and BASS_Mixer_ChannelRemoveSync methods added
  - new inernal methods BASS_Mixer_ChannelIsActive, BASS_Mixer_ChannelPause and BASS_Mixer_ChannelPlay added 
BASS: new BASS_CONFIG_MUSIC_VIRTUAL config option 
Misc:
  - WaveForm and WaveForm2 classes are now collapsed into WaveForm class (WaveForm2 class removed)!
  - BroadCast modified: AutoConnect and Connect will now AutoReconnect even in case the initial connect fails.

04.04.2007: Version 2.3.1.3
Bass_FX 2.3.0.2: support added:
  - BEAT:
    . Added Beat position detection for decoded streams BASS_FX_BPM_BeatDecodeGet
    . Added new functions: BASS_FX_BPM_BeatCallbackReset, BASS_FX_BPM_BeatSetParameters, BASS_FX_BPM_BeatGetParameters
  - REVERSE:
    . Multi-channel support
    . Added new feature to change playing direction from Reverse to Forward and vice-versa BASS_FX_ReverseSetDirection, BASS_FX_ReverseGetDirection
  - BPM:
    . Fixed: one more critical bug in BPM functions
  - DSP:
    . BASS_FX_DSPFX_PEAKEQ: Improved effect and reduced CPU usage, Fixed: a bug, preventing using fQ if fBandwidth is smaller than 0.1f, Changed: fQ min limit to 0.1f
    . BASS_FX_DSPFX_ECHO3: Fixed: a bug in BASS_FX_DSP_GetParameters, that would return a wrong lChannel value
- TEMPO:
    . Setting functions name changed: BASS_FX_TempoSettingSet to BASS_FX_TempoSetOption 
    . BASS_FX_TempoSettingGet to BASS_FX_TempoGetOption
    . BASS_FX_TEMPO_SETTING_xxx to BASS_FX_TEMPO_OPTION_xxx 
Misc: bug fix in BaseEncoder.EncoderExists property

31.03.2007: Version 2.3.1.2
BassVIS 2.3.0.5: support added. 
BassMix: new method BASS_Mixer_ChannelFlags added 
WaveForm: modified GetCuePoints to allow different threshold for cue in and out

02.03.2007: Version 2.3.1.1
Misc:
  - EncoderFLAC small bug fix with the "--sign" option! 
BassMIDI 2.3.0.2: support added:
  - various changes to the BASSMIDIEvent enum
  - Track number added to markers and syncs (see BASS_MIDI_MARK class) 
  - new BASS_MIDI_StreamGetMarks function
  - new BASS_MIDI_FontSetVolume/GetVolume functions 
BassVIS 2.3.0.4: support added: 
  - complete redesign of all BASS_WINAMPVIS functions  (see BASSVis help for more info)!

05.01.2007: Version 2.3.1.0
Windows Vista and .Net 3.0 compatibility build:
  - A few small internal issues have been resolved mostly with the xxxGetInfo methods.
    This was due to a different marshaling behavior of .Net 2.0 resp. .Net 3.0 and Windows Vista. 
    The new .Net 3.0 framework (which already comes with Windows Vista) is based on .Net 2.0. 
    The main difference of .Net 3.0 are the several foundation extensions. 
    So .Net 3.0 = .Net 2.0 plus foundations. BASS.NET for .Net 2.0 now also fully supports the .Net 3.0 framework! 
BassTAG: small bug-fix when reading empty ID3 tags 
BASS 2.3.0.2 support added:
  - BASS_SampleGetChannels (Retrieval of a sample's existing channel handles)
  - BASS_DATA_FFT8192 (BASS_ChannelGetData flag)
  - Adjustable recording buffer with BASS_CONFIG_REC_BUFFER (BASS_SetConfig option)
  - Stopping decoding channels before end with BASS_ChannelStop
  - Sample channels created paused to prevent overriding before playback with BASS_SampleGetChannel
  - BASS_CONFIG_MP3_CODEC *removed* !!! (Separate "MP3-FREE" version using Windows MP3 decoder)

08.12.2006: Version 2.3.0.9
Misc.WaveForm: the Wave property now supports a setter.
  - new  WaveFormLoadFromMemory and WaveFormSaveToMemory added.
  - new GetMarker, GetMarkers and GetMarkerCount method added
  - new GetCuePoints methods added (silence detection)
  - bug-fix in CreateBitmap when drawing markers and SyncPlayback was used  
BassTAG: support for even reading older ID3v2.2.0 added
  - so far ID3v2.4.0 and ID3v2.3.0 had been supported
  - TAG_INFO structure enhanced by: albumartist, bpm and channelinfo    
BassAsio 1.0.0.0 final support added
  - new BASS_ASIO_ChannelEnableMirror method added
  - new BASS_ASIO_ChannelSetVolume method added
  - new BASS_ASIO_ChannelGetVolume method added
  - BassAsioHandler class enhanced:
    . new methods SetMirror,  RemoveMirror and PauseMirror added
    . new properties Volume, VolumeMirror, Pan and PanMirror added  
Midi: new namespace Radio42.Multimedia.Midi added
  - new Midi class covering Midi communication via the Win32 Multimedia API (winmm.dll)
  - new MidiInputDevice and MidiOutputDevice class for sending/receiving any MIDI command/message
  - new MidiShortMessage class supporting constucting and or unpacking any Midi data message
  - native support for system-exclusive messages 
Utils: 32/64-bit bug-fix in DMAZeroMemory, DMACopyMemory, DMAMoveMemory, DMAFillMemory 
Samles adjusted:
  - Simple now shows the new WaveForm.GetCuePoints
  - PlugInbug-fix
  - AsioRecording now shows the BassAsioHandler.SetMirror
  - new MidiDevices sample added

16.11.2006: Version 2.3.0.8
BassTags: bug-fix in TAG_INFO and UpdateFromMETA when reading UTF-8 tags 
BASSWMA 2.3.0.2 support added
  - WMA 10 Professional encoding support added (incl. 24-bit support)
  - BASS file handling BASS_CONFIG_WMA_BASSFILE (BASS_SetConfig option) added 
Misc: EncoderWMA revisited, plus support WMA 10 Pro added (incl. 24-bit)

12.11.2006: Version 2.3.0.7
General:
  - new BassNet.ShowSplash and BassNet.ShowAbout methods added 
BASSmidi 2.3.0.0 final support added 
Misc: all BaseEncoder now have a TAGs property to specify tag info updates
  - all encoders now support tag writing (if applicable)
  - new overloads added for BaseEncoder.EncodeFile
  - new EncoderFAAC, EncoderFLAC, EncoderWavPack, EncoderMPC added
  - byte order bug-fix in EncoderTwoLAME 
  - optimization in SendData of SHOUTcast and ICEcast 
BASS: Small bug fix in BASS_GetDeviceDescriptions and BASS_GetDeviceCount

05.11.2006: Version 2.3.0.6
General:
  - BASS.NET revisited to make it 64-bit compiant (at least internally) Note: native BASS still has 32bit limits!
  - BassTags: new BASS_TAG_GetFromFile overload to be used with files directly
    new TAG_INFO.UpdateFromMIDILyric added
  - new SplashScreen introduced in the Freeware version and Utils.ShowAbout revisited
  - new BassNet.Registration mehod, which disables the SplashScreen 
BASS 2.3.0.2 support added
  - new BASS_SampleGetChannels method added
  - new BASS_SampleGetChannelCount method added 
BASSmix:
  - BASS_MIXER_NORAMPIN and BASS_MIXER_NONSTOP (BASSStream flag) added 
BASSwma:
  - full DRM support added (which can ONLY be used, if you aquired a DRM enabled basswma.dll and BassNet.dll) 
BASSmidi 2.3.0.0 support added 
BASSenc 2.3.0.2 support added
  - new ENCODENOTIFYPROC callback
  - new BASS_Encode_CastGetStats added
  - new BASS_Encode_CastSetTitle added
  - new BASS_Encode_CastInit added
  - new BASS_Encode_SetNotify added
  - new BASS_Encode_Get/SetChannel added 
Misc.BroadCast: revisited to add new BASSenc features
  - new UseBASS property added to all StreamingServer
  - new GetListeners method added to all StreamingServer and BroadCast
  - new GetStats method added to all StreamingServer and BroadCast
  - UpdateUrl method removed

28.08.2006: Version 2.3.0.5
DSP Framework enhanced, new DSPs added:
  - new DSP_Pan, DSP_Mono, DSP_StereoEnhancer, DSP_IIRDelay, DSP_SoftSaturation
  - new DSP_Stacker added (allowing you to stack multiple DSPs into one physical BASS DSP routine)
  - new DSP_StreamCopy added (allowing you to clone a stream to any other BASS device or speakers)
  - DSP_PeakLevelMeter: new UpdateTime member added
  - new C# sample TestDSP added 
Utils:
  - new BASSBuffer class added (generic cyrcular ring buffer)
  - new MakeLong, HighWord, LowWord overloads, new MakeLong64 method added 
  - new GetLevel and GetLevel2 overloads, new SampleDither method 
WaveForm: 
  - drawing optimized
  - new WaveForm2 class added (independend stereo wave form drawing)
  - new property MarkerLength added
  - new envelope drawing (see ColorEnvelope) 
Visuals: new method CreateWaveForm added 
BassAsio:
  - new BassAsioHandler class added (ease-of use ASIO handling)
  - new BASS_ASIO_IsStarted() method added 
Upgrade supporting BASS_VIS 2.3.0.2:
  - changed BASS_WINAMPVIS_CreateVis method
  - changed BASS_WINAMPVIS_SetChanInfo method
  - new BASS_WINAMPVIS_SetChanMPEGInfo method
  - new BASS_WINAMPVIS_GetVisHwnd method added
  - new BASS_WINAMPVIS_GetAmpHwnd method added
  - new BASS_WINAMPVIS_GetGenHwnd method added

26.07.2006: Version 2.3.0.4
Just optimizations and internal enhancements. 
Utils:
  - new BASSTimer class added (behaves like a Windows.Forms.Timer but uses a Threading.Timer)
    It is recommended to use this timer within your app when needed, since it is more precise.
  - new Utils.GetLevel methods added (equivalent to BASS_ChannelGetLevel, but with individual offset and length.
  - new Utils.SampleDither method added. 
WaveForm:
  - RenderRecording revisited and new overloads added.
  - new SyncPlayback method added. 
DSP framework:
  - DSP_Gain revisited and a UseDithering property added

13.07.2006: Version 2.3.0.3
BASS_CD upgrade to 2.3.0.1.
  - Pregap length retrieval via BASS_CD_GetTrackPregap
  - MusicBrainz ID generation via BASS_CDID_MUSICBRAINZ (BASS_CD_GetID type) 
New BASS.NET internal features (in the Un4seen.Bass.Misc namespace):
  1) DSP framework introduced:
     . see BaseDSP
     . with ready-made DSP implementations, e.g.:  DSP_PeakLevelMeter, DSP_Gain
  2) Encoder framework introduced:
     . see IBaseEncoder and BaseEncoder
     . with ready-made encoder implementations, e.g.: EncoderLAME, EncoderWMA, EncoderOGG, 
       EncoderACM, EncoderCMDLN, EncoderWinampAACplus, EncoderNeroAAC, EncoderTooLAME
     . the encoder framework can also be used to implement your own encoders
     . Encoder implementations can be used for Recording, Streaming or File encoding.
  3) Streaming Server framework introduced:
     . see IStreamingServer and StreamingServer (which uses any IBaseEncoder implementation)
     . with ready-made streaming server implementations, e.g.: SHOUTcast, ICEcast, WMAcast
     . the streaming framework can also be used to implement your own servers
  4) Generic BroadCast class introduced (used to handle central broadcasting):
     . supporting any IStreamingServer implementation
  5) New C# sample "Streaming " added to demo the above. 
All method overloads which previously implemented ANSI filenames have been changed 
to now also automatically implement Unicode filenames.

16.06.2006: Version 2.3.0.2
Upgrade to BASS Version 2.3.0.1.
  - new BASS_ChannelSetDevice function 
BASSWma upgrade to 2.3.0.1. 
  - ASX file processing via BASS_CONFIG_WMA_ASX (BASS_SetConfig option). 
Misc.WaveForm: new features added to enable Marker handling (see AddMarker, RemoveMarker, ClearAllMarker and GetBytePositionFromX). 
BASS_FX upgrade to 2.3.0.1.
  - no real API changes, just some doc issues for parameter values 
BASS_VST upgrade to 2.3.0.4.
  - no real API changes, just documentaion adjustments.

22.05.2006: Version 2.3.0.1
BASSEnc upgrade to 2.3.0.1. 
  - new BASS_Encode_GetACMFormat overloads added to support BASS_ACM_SUGGEST

21.05.2006: Version 2.3.0.0
Upgrade to BASS Version 2.3.0.0. Docs updated, Samples updated.
  - BASS_GetVersion: The format of the return value has been changed (include minor revision).
  - BASS_StreamGetTags: This function is replaced by BASS_ChannelGetTags.
    No parameter changes are required.
  - BASS_MusicGetName replaced by BASS_ChannelGetTags.
  - New methods: BASS_ChannelGetMusicName, BASS_ChannelGetMusicMessage, BASS_ChannelGetMusicInstrument, BASS_ChannelGetMusicSample.
  - BASS_CHANNELINFO structure: 'plugin' member added.
  - BASS_INFO structure: 'freq' member added.
  - BASS_RECORDINFO structure: 'freq' member added.
  - BASS_SAMPLE structure: 'mingap' member added.
  - Optional use of the Windows MP3 codec: BASS_CONFIG_MP3_CODEC (BASS_SetConfig option)
  - BassTag class now also evaluating RIFF and MOD stream channels.
  - New BASS_Set/GetConfig options: BASS_CONFIG_NET_PROXY, BASS_CONFIG_NET_PASSIVE.
  - The BASS_CONFIG_NET_NOPROXY flag is removed.
  - New BASSChannelType: BASS_CTYPE_STREAM_WAV_PCM, BASS_CTYPE_STREAM_WAV_FLOAT.
  - The BASS_CTYPE_STREAM_WAV flag is now defined as a bitmask (the LoWord contains the codec number).
  - New Utils.BASSAddOnGetPluginFileFilter method.
BassASIO: BASS_ASIO_Monitor method added (beta only)
BASSWma updated to 2.3.0.0:
  - Plugin system support for URLs: BASS_StreamCreateURL
  - BASS_WMA_EncodeSetTag changed ('type' added to support ANSI, UTF-8 and Unicode)
  - BASS_CONFIG_WMA_PRECHECK config option is depreciated
  - BASS_WMA_GetIWMReader replaced by BASS_WMA_GetWMObject
  - Header tag setting automatically ends when encoding begins (BASS_WMA_EncodeSetTag)
  - BASS_WMA_ENCODE_TAGS (BASS_WMA_EncodeOpen/etc flag) removed
  - Multi-bitrate encoding/broadcasting:
  - BASS_WMA_EncodeOpenNetworkMulti and BASS_WMA_EncodeOpenPublishMulti
  - Dynamic loading of WMVCORE (v9 or above required)
BASSEnc updated to 2.3.0.0:
  - ACM (Audio Compression Manager) encoding (BASS_Encode_StartACM/File)
  - Multiple encoders per channel
  - new ENCODEPROC signature (handle parameter added)
  - Auto-freeing of the encoder when the channel is freed (BASS_ENCODE_AUTOFREE)
  - Configurable encoder DSP priority (BASS_CONFIG_ENCODE_PRIORITY).
Support for BASS_VST 2.3.0.0 added - see doc (help file) for code examples.
BASSCd updated to 2.3.0.0:
  - Adjustable read speed:
    . via BASS_CD_SetSpeed method
    . via BASS_CD_GetSpeed method
  - Automatic speed reduction upon read errors:
    . via BASS_CONFIG_CD_AUTOSPEED (BASS_SetConfig option)
    . via BASS_SYNC_CD_SPEED (BASS_ChannelSetSync type)
  - Configurable read error retries:
    . via BASS_CONFIG_CD_RETRY (BASS_SetConfig option)
    . via BASS_CONFIG_CD_SKIPERROR (BASS_SetConfig option)
  - Error sync now triggered by every read error (not just ending playback)
    . via BASS_SYNC_CD_ERROR (BASS_ChannelSetSync type)
BASS_Fx updated to 2.3.0.0:
  - new BASS_FX_DSP_SetParameters overloads
  - new BASS_FX_DSP_GetParameters overloads
  - new BASS_FX_DSPSWAP, BASS_FX_DSPS2M, BASS_FX_DSPROTATE classes
  - flags removed: BASS_FX_TEMPO_QUICKALGO and BASS_FX_TEMPO_NO_AAFILTER
  - Added multi-channel support for almost all DSPs (DSP classes changed!)
    . Channel flags added (BASSFXChan)
  - new BASS_FX_TempoSettingGet and BASS_FX_TempoSettingGet methods
    . TempoSetting flags added (BASSFXTempo)
  - Added Real-Time Beat Position Trigger:
    . new callback BPMBEATPROC added
    . to be used with the new BASS_FX_BPM_BeatCallbackSet method

Version 2.2.x.x
29.03.2006: Version 2.2.0.14

Upgrade to support the latest BASSmix beta (Matrix mixing). 
C# samples modified, now using delegates to change GUI elements. 
Matrix mixing is shown in the Encoder.cs sample.  
AddOn.BassTag enhanced (checked for more tag types). 
Misc.Visuals enhanced: new methods GetFrequencyFromPosX and GetAmplitudeFromPosY added. 
new overload for BASS_ChannelSetSync added to support BASS_SYNC_MESSAGE.
----- 
05.03.2006: Version 2.2.0.13 

new overload for BASS_ChannelSetSync added to support BASS_SYNC_MESSAGE.
----- 
01.03.2006: Version 2.2.0.12 

Upgrade to support the latest BASSmix beta.
----- 
18.02.2006: Version 2.2.0.11 

Some documentation updates. 
AddOn.BassTag enhanced. The TAG_INFO class now supports reading pictures and native tags.
(pictures only works on ID3v2 and WMA tags!) 
Updated to support BASS 2.2.0.4. 
Updated to support BASSCD 2.2.0.1. 
Updated to support BASSWMA 2.2.0.8. 
Updated to support BASSENC 2.2.0.3. 
Updated to support BASSFLAC 2.2.0.2. 
Upgrade to support BASS_WADSP 2.2.0.5. 
Upgrade to support the latest BASSASIO beta.
----- 
09.01.2006: Version 2.2.0.10 

Updated to support BASSWMA 2.2.0.6. 
Bass.BASSRecordFormat enumeration enhanced. 
New converter methods Utils.SampleTo... 
New Misc.WaveWriter class for saving streams as wave files. 
Upgrade to support BASS_WADSP 2.2.0.3.
----- 
21.12.2005: Version 2.2.0.9 

A new BPMCounter class in the Un4seen.Bass.Misc namespace was added!
The C# 'PlugIn' sample was enhanced to contain live BPM detection. 
WaveForm: "RenderStartRecording" now works with non-decoding channels. 
BassTags: bug fixed when reading ID3v2.3 genre (TCON) tags. 
Visuals: a new DetectPeakFrequency method was added.
And a bug with the MaxFrequencySpectrum was fixed.
----- 
13.12.2005: Version 2.2.0.8 

WaveForm enhanced: new property FrameResolution added to allow you to specify a rendering 'quality' between 1ms and 5000ms (which defines how many milliseconds should be kept in each rendered frame).
WaveForm class: now supporting live recording rendering (see RenderStartRecording, RenderStopRecording, RenderRecording) 
BassTags: bug fixed when reading ID3v2.3 genre (TCON) tags. 
Visuals: now needs to be instanciated (members are no longer static) - this serves much more flexibility when using it on multiple controls or components (the Simple.cs sample is adjusted accordingly). 
BASS.NET API is now available for .Net v1.1 (VS2003) and .Net v2.0 (VS2005) as seperate installers. 
The full source code of the BASS.NET API is not included anymore in the downloads.
-----
05.12.2005: Version 2.2.0.7

BASS_DSP renamed to BASS_WADSP 2.2.0.0 
Namespace AddOn.Dsp renamed to AddOn.Wa 
Class BassDsp renamed to BassWa 
C# WinampDSP example modified 
fixed a bug with Bass.BASS_RecordGetInputName - new method Bass.BASS_RecordGetInputNames added
----- 
02.12.2005: Version 2.2.0.6 

Support for BASS_DSP 2.2.0.0 added
C# WinampDSP example added 
-----
23.11.2005: Version 2.2.0.5

New directory structure and full setup installer process 
The Bass.Net.dll release version is now installed in the given install directory and will already be registered to the .NET Framework environment - so DO NOT move the file location! When writing your own applications you can simple add a project reference and select the BASS.NET API from the standard .NET components tab. 
Now Bass.Net Help 2.x is fully integrated into the VS2003 or VS2005 environment 
Support for BASS 2.2.0.1 
Support for BASSWMA 2.2.0.4 and BASSENC 2.2.0.2 
Support for all stream add-ons 2.2.0.1 
AddOn.BassTag bug fixed, when reading OGG and WMA in UTF-8 
BASS_WMA_EncodeSetTag bug fixed to support real UTF-8 
Misc.WaveForm.CreateBitmap bug fixed when interpolating lines 
Misc.Visuals.MaxFrequencySpectrum new property added 
new samples added (VB and C#), demoing BassMix and WMA Encoding 
Bass.Net.dll now uses strong names (so might be even used in the global assembly cache) 
-----
12.11.2005: Version 2.2.0.4

Migrated to BASSWMA 2.2.0.3 
Full support for BASSVIS added. 
CLSCompliant flag added and set to TRUE 
LoadMe/FreeMe plugin methods introduced, allowing to load all BASS libraries from independed directories 
-----
09.11.2005: Version 2.2.0.3

New Misc namespace with internal visualization classes, e.g. WaveForm rendering and Spectrum graphs. 
Migrated to BASSWMA 2.2.0.2 
Support for BASS_STREAM_AUTOFREE flag in BASS_Mixer_StreamAddChannel 
Samples enhanced (Simple.cs got pretty complex ;-) 
-----
04.11.2005: Version 2.2.0.2

Full support for BASSWINAMP added. 
Migrated to BASSWMA 2.2.0.1 
Samples enhanced 
Utils got a few more helper methods 
Some enhancements to the documentation. 
-----
02.11.2005: Version 2.2.0.1

BASSCD fully integrated. 
The samples have been enhanced. 
-----
31.10.2005: 

BASSASIO fully integrated. 
New AddOn.Tags.BassTags (internal add-on, NOT using tags.dll)
- Using a single function to fill a unified TAG_INFO object containing all useful tags
- Works with all supported add-on formats and evaluates ID3v1, ID3v2, WMA, APE, OGG, MP4 tag headers
- Also supports Shoutcast and Icecast meta data.
- The PlugIn and NetRadio samples have been enhanced to show BASS_TAG_GetFromFile/URL. 
Bass.BASS_StreamGetTagsID3V2 and Bass.BASS_StreamGetTagsMP4 are now supported 
Bug fix in: BassWma.BASS_WMA_StreamCreateFile (Unicode overload). 
-----
27.10.2005: 

Samples has been enhanced and the documentation has been enhanced. 
A chapter about memory management and how to deal with data between unmananed and mananed code was added. 
This includes several examples in the documentation. 
-----
25.10.2005: 

The Simple sample demo has been enhanced to:
- the use of various techniques to handle data between managed and unmanged code (see 'RMS' method)
- how to use pointers and directly access the memory just like in C/C++ (see 'MyDSPGainUnsafe' callback)
(using 'unsafe' code is the fasted way to handle data and work like in all C samples!) 
-----
24.10.2005: 

Some minor changes to the interface: 
BASS_ChannelGetData overloads changed 
Samples added, improved 
VS2005 (.Net 2.0) successfully tested (compliant!) 
VB.Net example added 
-----
2.2.0.0

Initial Build, supporting Bass v2.2

See Also

Other Resources