Speaker assignment flags

Most soundcards these days are capable of more than plain stereo output. To take advantage of this, HSTREAM and HMUSIC channels can be assigned to specific speakers. For example, channels can be played on the front or rear speakers to effectively have 2 separate stereo outputs from the one device. A 3rd stereo output is available on 5.1 cards, and a 4th on 7.1 cards. The speakers member of the BASS_INFO structure can be used to check how many speakers are available. A channel that is assigned to an unavailable speaker will not be heard during playback.

Stereo speaker assignment flags

BASS_SPEAKER_FRONTThe front speakers.
BASS_SPEAKER_REARThe rear speakers.
BASS_SPEAKER_CENLFEThe center and LFE (subwoofer) speakers in a 5.1 setup.
BASS_SPEAKER_SIDEThe side speakers in a 7.1 setup.

Mono speaker assignment flags

BASS_SPEAKER_FRONTLEFTThe front left speaker.
BASS_SPEAKER_FRONTRIGHTThe front right speaker.
BASS_SPEAKER_REARLEFTThe rear left speaker.
BASS_SPEAKER_REARRIGHTThe rear right speaker.
BASS_SPEAKER_CENTERThe center speaker in a 5.1 speaker setup.
BASS_SPEAKER_LFEThe LFE (subwoofer) speaker in a 5.1 setup.
BASS_SPEAKER_SIDELEFTThe side left speaker in a 7.1 setup.
BASS_SPEAKER_SIDERIGHTThe side right speaker in a 7.1 setup.

As well as these defined speaker location flags, there is the BASS_SPEAKER_N(n) macro that can be used to access the extra speakers of soundcards that have more than 8 speakers, where n is the n'th pair of speakers (up to a maximum of 15). For example, BASS_SPEAKER_N(1) is equivalent to BASS_SPEAKER_FRONT. To use a speaker in mono, add the BASS_SPEAKER_LEFT or BASS_SPEAKER_RIGHT flags.

The stereo speaker assignment flags can also be used with mono channels, so that, for example, a mono channel can be played on both the front speakers. But mono speaker assignment flags cannot be used with stereo channels, so, for example, it is not possible to play a stereo channel on just the center speaker.

See also

BASS_ChannelFlags, BASS_MusicLoad, BASS_StreamCreate, BASS_StreamCreateFile, BASS_StreamCreateURL, Multi-channel streams