BASS.NET API for the Un4seen BASS Audio Library

Un4seen.Bass Namespace

BASS.NET API for the Un4seen BASS Audio Library
This namespace contains all classes, delegates and enumerations to support the native bass.dll. BASS is an audio library for use in Windows and Mac OSX software. Its purpose is to provide developers with powerful and efficient sample, stream (MP3, MP2, MP1, OGG, WAV, AIFF, custom generated, and more via add-ons), MOD music (XM, IT, S3M, MOD, MTM, UMX), MO3 music (MP3, OGG compressed MODs), and recording functions.

All BASS API calls are contained in the main class Bass and have been implemented as static methods. So there is NO need to create an instance of the Bass class!

All BASS structures have been implemented as real classes (named in capital letters). This because they are much easier to use and reflect exactly what BASS would expect. Those classes needs to be instantiated before their use.

The Utils class contains general miscellaneous helper and converter methods which are BASS.NET API related and does not relate to any native BASS functionality and also does not need to be instantiated, hence all methods are static as well.

Classes

  ClassDescription
Public classCode exampleBass
BASS.NET API wrapper for BASS.DLL

Requires: bass.dll - Bass Audio Library - available @ www.un4seen.com.

Public classBASS_3DVECTOR
Public classCode exampleBASS_CHANNELINFO
Used with BASS_ChannelGetInfo(Int32, BASS_CHANNELINFO) to retrieve information on a channel.
Public classBASS_DEVICEINFO
Public classBASS_DX8_CHORUS
Used with BASS_FXGetParameters(Int32, IntPtr) and BASS_FXSetParameters(Int32, IntPtr) to retrieve and set the parameters of a chorus effect.
Public classBASS_DX8_COMPRESSOR
Used with BASS_FXGetParameters(Int32, IntPtr) and BASS_FXSetParameters(Int32, IntPtr) to retrieve and set the parameters of a compression effect.
Public classBASS_DX8_DISTORTION
Used with BASS_FXGetParameters(Int32, IntPtr) and BASS_FXSetParameters(Int32, IntPtr) to retrieve and set the parameters of a distortion effect.
Public classBASS_DX8_ECHO
Used with BASS_FXGetParameters(Int32, IntPtr) and BASS_FXSetParameters(Int32, IntPtr) to retrieve and set the parameters of a echo effect.
Public classBASS_DX8_FLANGER
Used with BASS_FXGetParameters(Int32, IntPtr) and BASS_FXSetParameters(Int32, IntPtr) to retrieve and set the parameters of a flanger effect.
Public classBASS_DX8_GARGLE
Used with BASS_FXGetParameters(Int32, IntPtr) and BASS_FXSetParameters(Int32, IntPtr) to retrieve and set the parameters of a gargle effect.
Public classBASS_DX8_I3DL2REVERB
Used with BASS_FXGetParameters(Int32, IntPtr) and BASS_FXSetParameters(Int32, IntPtr) to retrieve and set the parameters of an I3DL2 (Interactive 3D Audio Level 2) reverberation effect.
Public classCode exampleBASS_DX8_PARAMEQ
Used with BASS_FXGetParameters(Int32, IntPtr) and BASS_FXSetParameters(Int32, IntPtr) to retrieve and set the parameters of a parametric equalizer effect.
Public classBASS_DX8_REVERB
Used with BASS_FXGetParameters(Int32, IntPtr) and BASS_FXSetParameters(Int32, IntPtr) to retrieve and set the parameters of a reverb effect.
Public classCode exampleBASS_FILEPROCS
Public classBASS_FX_VOLUME_PARAM
Used with BASS_FXGetParameters(Int32, IntPtr) and BASS_FXSetParameters(Int32, IntPtr) to retrieve and set the parameters of a volume level effect.
Public classBASS_INFO
Used with BASS_GetInfo(BASS_INFO) to retrieve information on the current device.
Public classBASS_PLUGINFORM
Used with BASS_PluginGetInfo(Int32) to retrieve information on the supported plugin formats.
Public classBASS_PLUGININFO
Used with BASS_PluginGetInfo(Int32) to retrieve information on a plugin.
Public classBASS_RECORDINFO
Used with BASS_RecordGetInfo(BASS_RECORDINFO) to retrieve information on the current recording device.
Public classBASS_SAMPLE
Used with BASS_SampleGetInfo(Int32, BASS_SAMPLE) and BASS_SampleSetInfo(Int32, BASS_SAMPLE) to retrieve and set the default playback attributes of a sample.
Public classCode exampleBASS_TAG_APE_BINARY
APE binary tag structure as returned by BASS_ChannelGetTags(Int32, BASSTag) using the BASS_TAG_APE_BINARY flag.
Public classBASS_TAG_CACODEC
TAG structure of the Apple CoreAudio codec information structure as returned by BASS_ChannelGetTagsCA(Int32).
Public classBASS_TAG_CUE
RIFF "cue " tag cue point structure to be used with BASS_ChannelGetTags(Int32, BASSTag) and the BASS_TAG_RIFF_CUE option.
Public classBASS_TAG_CUE_POINT
RIFF "cue " tag cue point structure.
Public classBASS_TAG_DSD_COMMENT
DSDIFF comment tag structure as returned by BASS_ChannelGetTags(Int32, BASSTag) using the BASS_TAG_DSD_COMMENT flag.
Public classCode exampleBASS_TAG_FLAC_CUE
FLAC cuesheet tag structure as returned by BASS_ChannelGetTags(Int32, BASSTag) using the BASS_TAG_FLAC_CUE flag.
Public classCode exampleBASS_TAG_FLAC_CUE_TRACK
FLAC cuesheet tag track structure as returned by the Tracks member.
Public classCode exampleBASS_TAG_FLAC_CUE_TRACK_INDEX
FLAC cuesheet tag track index structure as returned by the Indexes member.
Public classCode exampleBASS_TAG_FLAC_PICTURE
FLAC picture tag structure as returned by BASS_ChannelGetTags(Int32, BASSTag) using the BASS_TAG_FLAC_PICTURE flag.
Public classBASS_TAG_SMPL
RIFF "smpl" tag cue point structure to be used with BASS_ChannelGetTags(Int32, BASSTag) and the BASS_TAG_RIFF_SMPL option.
Public classBASS_TAG_SMPL_LOOP
RIFF "smpl" tag loop structure.
Public classCode exampleBASSBuffer
Implements a fast and generic circular ring buffer (FiFo).
Public classCode exampleBassNet
Bass.Net class.

Contains a few optional and global settings.

Public classBASSTimer
Implements a secure Timer, which raises an event in defined intervals.
Public classUtils
BASS.NET API helper and misc. class containing some general useful methods.
Public classWAVEFORMATEX
The WAVEFORMATEX structure defines the format of waveform-audio data. Only format information common to all waveform-audio data formats is included in this structure. For formats that require additional information, this structure is included as the first member in another structure, along with the additional information. See WAVEFORMATEXT for details.
Public classWAVEFORMATEXT
The WAVEFORMATEXT is a specialized and generic format structure. It contains the WAVEFORMATEX structure and define the format of any Media Foundation audio data. Only format information common to all MF audio data formats are included in this structure. For formats that require additional information, this structure has an additional byte[] keeping the additional information.
Structures

  StructureDescription
Public structureCode exampleBASS_TAG_BEXT
TAG structure of a BWF BEXT block to be used with BASS_ChannelGetTags(Int32, BASSTag).
Public structureCode exampleBASS_TAG_CART
TAG structure of a BWF CART block to be used with BASS_ChannelGetTags(Int32, BASSTag).
Public structureCode exampleBASS_TAG_ID3
TAG structure of an ID3v1 block to be used with BASS_ChannelGetTags(Int32, BASSTag).
Delegates

  DelegateDescription
Public delegateCode exampleDOWNLOADPROC
Internet stream download callback function (to be used with BASS_StreamCreateURL(String, Int32, BASSFlag, DOWNLOADPROC, IntPtr)).
Public delegateCode exampleDSPPROC
User defined DSP callback function (to be used with BASS_ChannelSetDSP(Int32, DSPPROC, IntPtr, Int32)).
Public delegateCode exampleFILECLOSEPROC
User file stream close callback function (to be used with BASS_FILEPROCS).
Public delegateCode exampleFILELENPROC
User file stream length callback function (to be used with BASS_FILEPROCS).
Public delegateCode exampleFILEREADPROC
User file stream read callback function (to be used with BASS_FILEPROCS).
Public delegateCode exampleFILESEEKPROC
User file stream seek callback function (to be used with BASS_FILEPROCS).
Public delegateIOSNOTIFYPROC
iOS notification callback function.
Public delegateCode exampleRECORDPROC
User defined callback function to process recorded sample data.
Public delegateCode exampleSTREAMPROC
User stream writing callback delegate (to be used with BASS_StreamCreate(Int32, Int32, BASSFlag, STREAMPROC, IntPtr)).
Public delegateCode exampleSYNCPROC
User defined synchronizer callback function (see BASS_ChannelSetSync(Int32, BASSSync, Int64, SYNCPROC, IntPtr) for details).
Enumerations

  EnumerationDescription
Public enumerationBASS_TAG_FLAC_CUE_TRACKCUESHEETTrackType
The possible cuesheet track type Flags.
Public enumerationBASS3DAlgorithm
Software 3D mixing algorithm modes to be used with BASS_SetConfig(BASSConfig, Int32) using the BASS_CONFIG_3DALGORITHM.
Public enumerationBASS3DMode
3D Channel Mode flags to be used with e.g. BASS_SAMPLE
Public enumerationBASSActive
Public enumerationBASSAttribute
Public enumerationBASSChannelType
Channel Type flags to be used with BASS_CHANNELINFO (see also BASS_ChannelGetInfo(Int32, BASS_CHANNELINFO))
Public enumerationBASSConfig
Public enumerationBASSData
Public enumerationBASSDeviceInfo
BASS_DEVICEINFO flags to be used with BASS_DEVICEINFO
Public enumerationBASSDirectSound
Direct Sound interface flags for use with BASS_GetDSoundObject(Int32)
Public enumerationBASSError
Public enumerationBASSFlag
Public enumerationBASSFXPhase
DX8 effect types, use with e.g. the BASS_DX8_CHORUS and BASS_DX8_FLANGER effect.
Public enumerationBASSFXType
FX effect types, use with BASS_ChannelSetFX(Int32, BASSFXType, Int32).
Public enumerationBASSInfo
BASS_INFO flags to be used with BASS_INFO
Public enumerationBASSInit
Initialization flags to be used with BASS_Init(Int32, Int32, BASSInit, IntPtr, IntPtr)
Public enumerationBASSInput
Public enumerationBASSInputType
Public enumerationBASSIOSNotify
The notification status used with IOSNOTIFYPROC.
Public enumerationBASSiOSSession
Audio session configuration on iOS (flags for the BASS_CONFIG_IOS_SESSION option).
Public enumerationBASSLevel
Level retrieval flags (to be used with BASS_ChannelGetLevel(Int32)).
Public enumerationBASSMode
Public enumerationBASSRecordFormat
Formats flags of BASS_RECORDINFO.formats member to be used with BASS_RECORDINFO
Public enumerationBASSRecordInfo
BASS_RECORDINFO flags to be used with BASS_RECORDINFO
Public enumerationBASSStreamFilePosition
Stream File Position modes to be used with BASS_StreamGetFilePosition(Int32, BASSStreamFilePosition)
Public enumerationBASSStreamProc
STREAMPROC flag used with BASS_StreamCreate(Int32, Int32, BASSFlag, STREAMPROC, IntPtr) resp. used with a user sample stream to be used with STREAMPROC.
Public enumerationBASSStreamSystem
Public enumerationBASSSync
Sync types to be used with BASS_ChannelSetSync(Int32, BASSSync, Int64, SYNCPROC, IntPtr) (param flag) and SYNCPROC (data flag).
Public enumerationBASSTag
Types of what's returned by BASS_ChannelGetTags(Int32, BASSTag).
Public enumerationBASSVam
Voice allocation management flags. These flags enable hardware resource stealing... if the hardware has no available voices, a currently playing buffer will be stopped to make room for the new buffer.
Public enumerationWAVEFormatTag
Defines possible wave formats to be used with the wFormatTag flag.