BASS.NET API for the Un4seen BASS Audio Library

BassMix Class

BASS.NET API for the Un4seen BASS Audio Library
BASS.NET API wrapper for BASSMIX.DLL

Requires: bassmix.dll - Mixing and resample channels (MIX) Add-On - available @ www.un4seen.com.

A fairly common question is how to mix and/or resample channels. To make that task simple, here's the add-on that'll do it.

Inheritance Hierarchy

SystemObject
  Un4seen.Bass.AddOn.MixBassMix

Namespace:  Un4seen.Bass.AddOn.Mix
Assembly:  Bass.Net (in Bass.Net.dll) Version: 2.4.17.5
Syntax

public sealed class BassMix

The BassMix type exposes the following members.

Methods

  NameDescription
Public methodStatic memberCode exampleBASS_Mixer_ChannelFlags
Modifies and/or retrieves a channel's mixer flags.
Public methodStatic memberBASS_Mixer_ChannelGetData(Int32, Byte, Int32)
Retrieves the immediate sample data of a mixer source channel. This overload uses a managed byte[] to reference the buffer data! SHOULD ONLY BE USED, if the stream was created with BASS_SAMPLE_8BITS!
Public methodStatic memberBASS_Mixer_ChannelGetData(Int32, Int16, Int32)
Retrieves the immediate sample data of a mixer source channel. This overload uses a managed short[] to reference the buffer data as 16-bit values - each element will represent one channel in this case! SHOULD ONLY BE USED, if the stream was created WITHOUT BASS_SAMPLE_FLOAT or BASS_SAMPLE_8BITS!
Public methodStatic memberBASS_Mixer_ChannelGetData(Int32, Int32, Int32)
Retrieves the immediate sample data of a mixer source channel. This overload uses a managed int[] to reference the buffer data (Note: an int is 32-bit meaning if we expect to receive 16-bit data stereo a single int value will contain 2 x 16-bit, so a full stereo pair of data)! SHOULD ONLY BE USED, if the stream was created WITHOUT BASS_SAMPLE_FLOAT or BASS_SAMPLE_8BITS!
Public methodStatic memberBASS_Mixer_ChannelGetData(Int32, IntPtr, Int32)
Retrieves the immediate sample data (or an FFT representation of it) of a mixer source channel. This overload uses an IntPtr to reference the buffer data.
Public methodStatic memberBASS_Mixer_ChannelGetData(Int32, Single, Int32)
Retrieves the immediate sample data (or an FFT representation of it) of a mixer source channel. This overload uses a managed float[] to reference the buffer data as 32-bit! SHOULD ONLY BE USED, if the stream was created with BASS_SAMPLE_FLOAT!
Public methodStatic memberCode exampleBASS_Mixer_ChannelGetEnvelopePos(Int32, BASSMIXEnvelope, Object)
Retrieves the current position and value of an envelope on a channel.
Public methodStatic memberCode exampleBASS_Mixer_ChannelGetEnvelopePos(Int32, BASSMIXEnvelope, Single)
Retrieves the current position and value of an envelope on a channel.
Public methodStatic memberCode exampleBASS_Mixer_ChannelGetLevel(Int32)
Retrieves the level (peak amplitude) of a mixer source channel.
Public methodStatic memberBASS_Mixer_ChannelGetLevel(Int32, Single, BASSLevel)
Retrieves the level (peak amplitude) of a mixer source channel.
Public methodStatic memberBASS_Mixer_ChannelGetLevel(Int32, Single, Single, BASSLevel)
Retrieves the level (peak amplitude) of a mixer source channel.
Public methodStatic memberCode exampleBASS_Mixer_ChannelGetMatrix
Retrieves a channel's mixing matrix, if it has one.
Public methodStatic memberBASS_Mixer_ChannelGetMixer
Retrieves the mixer that a channel is plugged into.
Public methodStatic memberBASS_Mixer_ChannelGetPosition(Int32)
Retrieves the playback position in bytes of a mixer source channel.
Public methodStatic memberBASS_Mixer_ChannelGetPosition(Int32, BASSMode)
Retrieves the playback position of a mixer source channel.
Public methodStatic memberBASS_Mixer_ChannelGetPositionEx
Retrieves the playback position of a mixer source channel, optionally accounting for some latency.
Public methodStatic memberBASS_Mixer_ChannelIsActive
Checks if a mixer source channel is active.
Public methodStatic memberBASS_Mixer_ChannelPause
Pauses a mixer source channel (don't process the source).
Public methodStatic memberBASS_Mixer_ChannelPlay
Starts (or resumes) playback of a mixer source channel (process the source).
Public methodStatic memberBASS_Mixer_ChannelRemove
Unplugs a channel from a mixer.
Public methodStatic memberBASS_Mixer_ChannelRemoveSync
Removes a synchronizer from a mixer source channel.
Public methodStatic memberCode exampleBASS_Mixer_ChannelSetEnvelope(Int32, BASSMIXEnvelope, BASS_MIXER_NODE)
Sets an envelope to modify the sample rate, volume or pan of a channel over a period of time.
Public methodStatic memberCode exampleBASS_Mixer_ChannelSetEnvelope(Int32, BASSMIXEnvelope, BASS_MIXER_NODE, Int32)
Sets an envelope to modify the sample rate, volume or pan of a channel over a period of time.
Public methodStatic memberCode exampleBASS_Mixer_ChannelSetEnvelopePos
Sets the current position of an envelope on a channel.
Public methodStatic memberCode exampleBASS_Mixer_ChannelSetMatrix
Sets a channel's mixing matrix, if it has one.
Public methodStatic memberBASS_Mixer_ChannelSetMatrixEx
Fades to a channel's mixing matrix, if it has one.
Public methodStatic memberCode exampleBASS_Mixer_ChannelSetPosition(Int32, Int64)
Sets the playback position in bytes of a mixer source channel (using BASS_POS_BYTE).
Public methodStatic memberCode exampleBASS_Mixer_ChannelSetPosition(Int32, Int64, BASSMode)
Sets the playback position of a mixer source channel.
Public methodStatic memberCode exampleBASS_Mixer_ChannelSetSync
Sets up a synchronizer on a mixer source channel.
Public methodStatic memberCode exampleBASS_Mixer_ChannelSetSyncEx
Sets up an extended synchronizer on a mixer source channel.
Public methodStatic memberCode exampleBASS_Mixer_GetVersion
Retrieves the version number of the BASSmix.DLL that is loaded.
Public methodStatic memberCode exampleBASS_Mixer_GetVersion(Int32)
Retrieves the version of the BASSmix.DLL that is loaded.
Public methodStatic memberCode exampleBASS_Mixer_StreamAddChannel
Plugs a channel into a mixer.
Public methodStatic memberCode exampleBASS_Mixer_StreamAddChannelEx
Plugs a channel into a mixer, optionally delaying the start and limiting the length.
Public methodStatic memberCode exampleBASS_Mixer_StreamCreate
Creates a mixer stream.
Public methodStatic memberBASS_Mixer_StreamGetChannelCount
Gets the number of a mixer's source channels.
Public methodStatic memberBASS_Mixer_StreamGetChannels
Retrieves a mixer's source channels.
Public methodStatic memberCode exampleBASS_Split_StreamCreate
Creates a splitter stream (adds a reader channel to a decoding source channel).
Public methodStatic memberCode exampleBASS_Split_StreamGetAvailable
Retrieves the amount of buffered data available to a splitter stream, or the amount of data in a splitter source buffer.
Public methodStatic memberBASS_Split_StreamGetSource
Retrieves the source of a splitter stream.
Public methodStatic memberBASS_Split_StreamGetSplits
Retrieves the channel's splitters.
Public methodStatic memberBASS_Split_StreamReset
Resets a splitter stream or all splitter streams of a source.
Public methodStatic memberBASS_Split_StreamResetEx
Resets a splitter stream and sets its position in the source buffer.
Public methodStatic memberFreeMe
Unloads this library. This must be called when you have previously called LoadMe.
Public methodStatic memberCode exampleLoadMe
Loads this library into memory. The library will be search in the current application directory.
Public methodStatic memberCode exampleLoadMe(String)
Loads this library into memory. The library will be loaded from the given path.
Top
Fields

  NameDescription
Public fieldStatic memberBASSMIXVERSION
Current BASSmix version (without minor revision).
Top
Remarks

BASSMIX is an extension to the BASS audio library, enabling the mixing and resampling of streams and channels.

See Also

Reference