Enum BassFlags
Stream/Sample/Music/Recording/AddOn create flags to be used with Stream Creation functions.
Namespace: System.Dynamic.ExpandoObject
Assembly: ManagedBass.dll
Syntax
public enum BassFlags : uint
AacFrame960
BassAac add-on: use 960 samples per frame
AacStereo
BassAac add-on: Downmatrix to Stereo
Ac3DownmixDolby
BASS_AC3 add-on: downmix to dolby
Ac3DownmixQuad
BASS_AC3 add-on: downmix to quad
Ac3DownmixStereo
BassAC3 add-on: downmix to stereo
Ac3DRC
BASS_AC3 add-on: enable dynamic range compression
AsyncFile
Use an async look-ahead cache.
AutoFree
Automatically free the music or stream's resources when it has reached the end, or when ChannelStop(Int32) or Stop() is called. This flag can be toggled at any time using ChannelFlags(Int32, BassFlags, BassFlags).
Bass3D
Use 3D functionality. This is ignored if Device3D wasn't specified when calling Init(Int32, Int32, DeviceInitFlags, IntPtr, IntPtr). 3D streams must be mono (chans=1). The Speaker flags can not be used together with this flag.
Byte
Use 8-bit resolution. If neither this or the Float flags are specified, then the stream is 16-bit.
CdC2Errors
BASSCD add-on: Include C2 error info. 296 bytes of C2 error info is returned after each 2352 bytes of audio (and optionally 96 bytes of sub-channel data). This flag cannot be used with the Float flag, and is ignored if the Decode flag is not used. The first 294 bytes contain the C2 error bits (one bit for each byte of audio), followed by a byte containing the logical OR of all 294 bytes, which can be used to quickly check if there were any C2 errors. The final byte is just padding. Note that if you request both sub-channel data and C2 error info, the C2 info will come before the sub-channel data!
CDSubChannel
BASSCD add-on: Read sub-channel data. 96 bytes of de-interleaved sub-channel data will be returned after each 2352 bytes of audio. This flag can not be used with the Float flag, and is ignored if the Decode flag is not used.
CDSubchannelNoHW
BASSCD add-on: Read sub-channel data, without using any hardware de-interleaving. This is identical to the CDSubChannel flag, except that the de-interleaving is always performed by BASSCD even if the drive is apparently capable of de-interleaving itself.
Decode
Decode the sample data, without outputting it. Use ChannelGetData(Int32, IntPtr, Int32) to retrieve decoded sample data. Bass.SoftwareMixing/Bass3D/BassFlags.FX/AutoFree are all ignored when using this flag, as are the Speaker flags.
Default
0 = default create stream: 16 Bit, stereo, no Float, hardware mixing, no Loop, no 3D, no speaker assignments...
DSDOverPCM
BassDSD add-on: Produce DSD-over-PCM data (with 0x05/0xFA markers). DSD-over-PCM data is 24-bit, so the Float flag is required.
DSDRaw
BassDSD add-on: Produce raw DSD data instead of PCM. The DSD data is in blocks of 8 bits (1 byte) per-channel with the MSB being first/oldest. DSD data is not playable by BASS, so the Decode flag is required.
DShowAutoDVD
DSHOW add-on: Use this flag to enable auto dvd functions(on mouse down, keys etc).
DShowLoop
DSHOW add-on: Use this flag to restart the stream when it's finished.
DShowNoAudioProcessing
DSHOW add-on: Use this flag to disable audio processing.
DShowStreamMix
DSHOW add-on: Use this flag to enable mixing video on a channel.
DShowVideoProcessing
DSHOW add-on: Use this to enable video processing.
Float
Use 32-bit floating-point sample data (see Floating-Point Channels for details). WDM drivers or the Decode flag are required to use this flag.
FX
Enable the old implementation of DirectX 8 effects (Windows Only). Use ChannelSetFX(Int32, EffectType, Int32) to add effects to the stream. Requires DirectX 8 or above.
FxBpmBackground
BassFx add-on: If in use, then you can do other stuff while detection's in process.
FXBpmMult2
BassFx add-on: If in use, then will auto multiply bpm by 2 (if BPM < MinBPM*2)
FxFreeSource
BassFx add-on: Free the source Handle as well?
FxTempoAlgorithmCubic
BassFx add-on (
FxTempoAlgorithmLinear
BassFx add-on (
FxTempoAlgorithmShannon
BassFx add-on (
Loop
Loop the file. This flag can be toggled at any time using ChannelFlags(Int32, BassFlags, BassFlags).
Midi16Bit
BASSMIDI add-on: Reduce 24-bit sample data to 16-bit before encoding.
MidiDecayEnd
BASSMIDI add-on: Let the sound decay naturally (including reverb) instead of stopping it abruptly at the end of the file. This flag can be toggled at any time using ChannelFlags(Int32, BassFlags, BassFlags) methods.
MidiDecaySeek
BASSMIDI add-on: Let the old sound decay naturally (including reverb) when changing the position, including looping. This flag can be toggled at any time using ChannelFlags(Int32, BassFlags, BassFlags), and can also be used in ChannelSetPosition(Int32, Int64, PositionFlags) calls to have it apply to particular position changes.
MidiFontMemoryMap
BASSMIDI add-on: Map the file into memory. This flag is ignored if the soundfont is packed as the sample data cannot be played directly from a mapping; it needs to be decoded. This flag is also ignored if the file is too large to be mapped into memory.
MidiFontXGDRUMS
Use bank 127 in the soundfont for XG drum kits. When an XG drum kit is needed, bank 127 in soundfonts that have this flag set will be checked first, before falling back to bank 128 (the standard SF2 drum kit bank) if it is not available there.
MidiNoCrop
BASSMIDI add-on: Do not remove empty space (containing no events) from the end of the file.
MidiNoFx
BASSMIDI add-on: Disable the MIDI reverb/chorus processing. This flag can be toggled at any time using ChannelFlags(Int32, BassFlags, BassFlags).
MidiNoHeader
BASSMIDI add-on: Don't send a WAVE header to the encoder. If this flag is used then the sample format (mono 16-bit) must be passed to the encoder some other way, eg. via the command-line.
MidiNoSystemReset
BASSMIDI add-on: Ignore system reset events (
MidiNoteOff1
BASSMIDI add-on: Only release the oldest instance upon a note off event (
MixerBuffer
BASSmix add-on: Buffer source data for
MixerDownMix
BASSmix add-on: downmix to stereo (or mono if mixer is mono)
MixerEnd
BASSmix add-on: end the stream when there are no sources
MixerLimit
BASSmix add-on: Limit mixer processing to the amount available from this source.
MixerMatrix
BASSmix add-on: Matrix mixing
MixerNonStop
BASSmix add-on: don't stall when there are no sources
MixerNoRampin
BASSmix add-on: don't ramp-in the start
MixerPause
BASSmix add-on: don't process the source
MixerPositionEx
BASSmix add-on: enable
MixerResume
BASSmix add-on: resume a stalled mixer immediately upon new/unpaused source
Mono
Decode/play the stream (MP3/MP2/MP1 only) in mono, reducing the CPU usage (if it was originally stereo). This flag is automatically applied if Mono was specified when calling Init(Int32, Int32, DeviceInitFlags, IntPtr, IntPtr).
MusicFT2Mod
Music: Play .MOD file as FastTracker 2 would. This flag can be toggled at any time using ChannelFlags(Int32, BassFlags, BassFlags).
MusicFT2PAN
Apply FastTracker 2 panning to XM files.
MusicNonInterpolated
Music: Use non-interpolated mixing. This generally reduces the sound quality, but can be good for chip-tunes. This flag can be toggled at any time using ChannelFlags(Int32, BassFlags, BassFlags).
MusicNoSample
Music: Don't load the samples. This reduces the time taken to load the music, notably with MO3 files, which is useful if you just want to get the name and Length of the music without playing it.
MusicPositionReset
Music: Stop all notes when seeking (using ChannelSetPosition(Int32, Int64, PositionFlags)). This flag can be toggled at any time using ChannelFlags(Int32, BassFlags, BassFlags).
MusicPositionResetEx
Music: Stop all notes and reset bpm/etc when seeking. This flag can be toggled at any time using ChannelFlags(Int32, BassFlags, BassFlags).
MusicPT1Mod
Music: Play .MOD file as ProTracker 1 would. This flag can be toggled at any time using ChannelFlags(Int32, BassFlags, BassFlags).
MusicRamp
Music: Use "normal" ramping (as used in FastTracker 2). This flag can be toggled at any time using ChannelFlags(Int32, BassFlags, BassFlags).
MusicSensitiveRamping
Music: Use "sensitive" ramping. This flag can be toggled at any time using ChannelFlags(Int32, BassFlags, BassFlags).
MusicStopBack
Music: Stop the music when a backward jump effect is played. This stops musics that never reach the end from going into endless loops. Some MOD musics are designed to jump all over the place, so this flag would cause those to be stopped prematurely. If this flag is used together with the Loop flag, then the music would not be stopped but any End sync would be triggered. This flag can be toggled at any time using ChannelFlags(Int32, BassFlags, BassFlags).
MusicSurround
Music: Apply XMPlay's surround sound to the music (ignored in mono). This flag can be toggled at any time using ChannelFlags(Int32, BassFlags, BassFlags).
MusicSurround2
Music: Apply XMPlay's surround sound mode 2 to the music (ignored in mono). This flag can be toggled at any time using ChannelFlags(Int32, BassFlags, BassFlags).
MuteMax
Sample: muted at max distance (3D only)
Prescan
Enable pin-point accurate seeking (to the exact byte) on the MP3/MP2/MP1 stream or MOD music. This also increases the time taken to create the stream, due to the entire file being pre-scanned for the seek points. Note: This flag is ONLY needed for files with a VBR, files with a CBR are always accurate.
RecordAGC
Recording: Enable Automatic Gain Control (only available on certain devices, like iOS).
RecordEchoCancel
Recording: Enable Echo Cancellation (only available on certain devices, like iOS).
RecordPause
Recording: Start the recording paused. Use ChannelPlay(Int32, Boolean) to start it.
RestrictDownloadRate
Restrict the download rate of the file to the rate required to sustain playback. If this flag is not used, then the file will be downloaded as quickly as possible. This flag has no effect on "unbuffered" streams (Buffer=false). This flag can be toggled at any time using ChannelFlags(Int32, BassFlags, BassFlags).
SampleOverrideDistance
Sample: override furthest from listener (3D only)
SampleOverrideLongestPlaying
Sample: override longest playing
SampleOverrideLowestVolume
Sample: override lowest volume
SincInterpolation
Music and BASSMIDI add-on: Use sinc interpolated sample mixing. This increases the sound quality, but also requires more CPU. Otherwise linear interpolation is used. Music: If neither this or the MusicNonInterpolated flag is specified, linear interpolation is used. This flag can be toggled at any time using ChannelFlags(Int32, BassFlags, BassFlags).
SoftwareMixing
Force the stream to not use hardware mixing (Windows Only).
SpeakerCenter
Center speaker only (5.1, channel 5)
SpeakerCenterLFE
Center and LFE speakers (5.1, channel 5/6)
SpeakerFront
Front speakers (channel 1/2)
SpeakerFrontLeft
Front Left speaker only (channel 1)
SpeakerFrontRight
Front Right speaker only (channel 2)
SpeakerLeft
Speaker Modifier: left channel only
SpeakerLFE
LFE speaker only (5.1, channel 6)
SpeakerPair1
Speakers Pair 1
SpeakerPair10
Speakers Pair 10
SpeakerPair11
Speakers Pair 11
SpeakerPair12
Speakers Pair 12
SpeakerPair13
Speakers Pair 13
SpeakerPair14
Speakers Pair 14
SpeakerPair15
Speakers Pair 15
SpeakerPair2
Speakers Pair 2
SpeakerPair3
Speakers Pair 3
SpeakerPair4
Speakers Pair 4
SpeakerPair5
Speakers Pair 5
SpeakerPair6
Speakers Pair 6
SpeakerPair7
Speakers Pair 7
SpeakerPair8
Speakers Pair 8
SpeakerPair9
Speakers Pair 9
SpeakerRear
Rear/Side speakers (channel 3/4)
SpeakerRearCenter
Rear Center speakers (7.1, channel 7/8)
SpeakerRearCenterLeft
Rear Center Left speaker only (7.1, channel 7)
SpeakerRearCenterRight
Rear Center Right speaker only (7.1, channel 8)
SpeakerRearLeft
Rear/Side Left speaker only (channel 3)
SpeakerRearRight
Rear/Side Right speaker only (channel 4)
SpeakerRight
Speaker Modifier: right channel only
SplitSlave
BASSmix add-on: only read buffered data.
StreamDownloadBlocks
Download and play the file in smaller chunks. Uses a lot less memory than otherwise, but it's not possible to seek or loop the stream - once it's ended, the file must be opened again to play it again. This flag will automatically be applied when the file Length is unknown. This flag also has the effect of resticting the download rate. This flag has no effect on "unbuffered" streams (Buffer=false).
StreamStatus
Pass status info (HTTP/ICY tags) from the server to the DownloadProcedure callback during connection. This can be useful to determine the reason for a failure.
Unicode
File is a Unicode (16-bit characters) filename
VAM
Sample: uses the DX7 voice allocation and management
WVStereo
BassWV add-on: Limit to stereo