Represents a set of audio channel types. More...

Inheritance diagram for AudioChannelSet:

Public Types

enum  ChannelType {
  unknown = 0, left = 1, right = 2, centre = 3,
  LFE = 4, leftSurround = 5, rightSurround = 6, leftCentre = 7,
  rightCentre = 8, centreSurround = 9, surround = centreSurround, leftSurroundSide = 10,
  rightSurroundSide = 11, topMiddle = 12, topFrontLeft = 13, topFrontCentre = 14,
  topFrontRight = 15, topRearLeft = 16, topRearCentre = 17, topRearRight = 18,
  LFE2 = 19, leftSurroundRear = 20, rightSurroundRear = 21, wideLeft = 22,
  wideRight = 23, ambisonicW = 24, ambisonicX = 25, ambisonicY = 26,
  ambisonicZ = 27, topSideLeft = 28, topSideRight = 29, discreteChannel0 = 64
}
 Represents different audio channel types. More...
 
enum  { maxChannelsOfNamedLayout = 10 }
 

Public Member Functions

 AudioChannelSet () noexcept
 Creates an empty channel set. More...
 
void addChannel (ChannelType newChannelType)
 Adds a channel to the set. More...
 
void removeChannel (ChannelType newChannelType)
 Removes a channel from the set. More...
 
int size () const noexcept
 Returns the number of channels in the set. More...
 
bool isDisabled () const noexcept
 Returns true if there are no channels in the set. More...
 
Array< ChannelTypegetChannelTypes () const
 Returns an array of all the types in this channel set. More...
 
ChannelType getTypeOfChannel (int channelIndex) const noexcept
 Returns the type of one of the channels in the set, by index. More...
 
int getChannelIndexForType (ChannelType type) const noexcept
 Returns the index for a particular channel-type. More...
 
String getSpeakerArrangementAsString () const
 Returns a string containing a whitespace-separated list of speaker types corresponding to each channel. More...
 
String getDescription () const
 Returns the description of the current layout. More...
 
bool isDiscreteLayout () const noexcept
 Returns if this is a channel layout made-up of discrete channels. More...
 
void intersect (const AudioChannelSet &other)
 Intersect two channel layouts. More...
 
int32 getWaveChannelMask () const noexcept
 Returns a WAVEFORMATEXTENSIBLE channelMask representation (typically used in .wav files) of the receiver. More...
 
bool operator== (const AudioChannelSet &) const noexcept
 
bool operator!= (const AudioChannelSet &) const noexcept
 
bool operator< (const AudioChannelSet &) const noexcept
 

Static Public Member Functions

static AudioChannelSet JUCE_CALLTYPE disabled ()
 Creates a zero-channel set which can be used to indicate that a bus is disabled. More...
 
static AudioChannelSet JUCE_CALLTYPE mono ()
 Creates a one-channel mono set (centre). More...
 
static AudioChannelSet JUCE_CALLTYPE stereo ()
 Creates a set containing a stereo set (left, right). More...
 
static AudioChannelSet JUCE_CALLTYPE createLCR ()
 Creates a set containing an LCR set (left, right, centre). More...
 
static AudioChannelSet JUCE_CALLTYPE createLRS ()
 Creates a set containing an LRS set (left, right, surround). More...
 
static AudioChannelSet JUCE_CALLTYPE createLCRS ()
 Creates a set containing an LCRS set (left, right, centre, surround). More...
 
static AudioChannelSet JUCE_CALLTYPE create5point0 ()
 Creates a set for a 5.0 surround setup (left, right, centre, leftSurround, rightSurround). More...
 
static AudioChannelSet JUCE_CALLTYPE create5point1 ()
 Creates a set for a 5.1 surround setup (left, right, centre, leftSurround, rightSurround, LFE). More...
 
static AudioChannelSet JUCE_CALLTYPE create6point0 ()
 Creates a set for a 6.0 Cine surround setup (left, right, centre, leftSurround, rightSurround, centreSurround). More...
 
static AudioChannelSet JUCE_CALLTYPE create6point1 ()
 Creates a set for a 6.1 Cine surround setup (left, right, centre, leftSurround, rightSurround, centreSurround, LFE). More...
 
static AudioChannelSet JUCE_CALLTYPE create6point0Music ()
 Creates a set for a 6.0 Music surround setup (left, right, leftSurround, rightSurround, leftSurroundSide, rightSurroundSide). More...
 
static AudioChannelSet JUCE_CALLTYPE create6point1Music ()
 Creates a set for a 6.0 Music surround setup (left, right, leftSurround, rightSurround, leftSurroundSide, rightSurroundSide, LFE). More...
 
static AudioChannelSet JUCE_CALLTYPE create7point0 ()
 Creates a set for a DTS 7.0 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear). More...
 
static AudioChannelSet JUCE_CALLTYPE create7point0SDDS ()
 Creates a set for a SDDS 7.0 surround setup (left, right, centre, leftSurround, rightSurround, leftCentre, rightCentre). More...
 
static AudioChannelSet JUCE_CALLTYPE create7point1 ()
 Creates a set for a DTS 7.1 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, LFE). More...
 
static AudioChannelSet JUCE_CALLTYPE create7point1SDDS ()
 Creates a set for a 7.1 surround setup (left, right, centre, leftSurround, rightSurround, leftCentre, rightCentre, LFE). More...
 
static AudioChannelSet JUCE_CALLTYPE create7point0point2 ()
 Creates a set for Dolby Atmos 7.0.2 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, topSideLeft, topSideRight). More...
 
static AudioChannelSet JUCE_CALLTYPE create7point1point2 ()
 Creates a set for Dolby Atmos 7.1.2 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, LFE, topSideLeft, topSideRight). More...
 
static AudioChannelSet JUCE_CALLTYPE ambisonic ()
 Creates a set for ambisonic surround setups (ambisonicW, ambisonicX, ambisonicY, ambisonicZ). More...
 
static AudioChannelSet JUCE_CALLTYPE quadraphonic ()
 Creates a set for quadraphonic surround setup (left, right, leftSurround, rightSurround) More...
 
static AudioChannelSet JUCE_CALLTYPE pentagonal ()
 Creates a set for pentagonal surround setup (left, right, centre, leftSurroundRear, rightSurroundRear). More...
 
static AudioChannelSet JUCE_CALLTYPE hexagonal ()
 Creates a set for hexagonal surround setup (left, right, leftSurroundRear, rightSurroundRear, centre, surroundCentre). More...
 
static AudioChannelSet JUCE_CALLTYPE octagonal ()
 Creates a set for octagonal surround setup (left, right, leftSurround, rightSurround, centre, centreSurround, wideLeft, wideRight). More...
 
static AudioChannelSet JUCE_CALLTYPE discreteChannels (int numChannels)
 Creates a set of untyped discrete channels. More...
 
static AudioChannelSet JUCE_CALLTYPE canonicalChannelSet (int numChannels)
 Create a canonical channel set for a given number of channels. More...
 
static AudioChannelSet JUCE_CALLTYPE namedChannelSet (int numChannels)
 Create a channel set for a given number of channels which is non-discrete. More...
 
static Array< AudioChannelSet > JUCE_CALLTYPE channelSetsWithNumberOfChannels (int numChannels)
 Return an array of channel sets which have a given number of channels. More...
 
static String JUCE_CALLTYPE getChannelTypeName (ChannelType)
 Returns the name of a given channel type. More...
 
static String JUCE_CALLTYPE getAbbreviatedChannelTypeName (ChannelType)
 Returns the abbreviated name of a channel type. More...
 
static ChannelType JUCE_CALLTYPE getChannelTypeFromAbbreviation (const String &abbreviation)
 Returns the channel type from an abbreviated name. More...
 
static AudioChannelSet fromAbbreviatedString (const String &set)
 Returns an AudioChannelSet from a string returned by getSpeakerArrangementAsString. More...
 
static AudioChannelSet JUCE_CALLTYPE channelSetWithChannels (const Array< ChannelType > &)
 Creates a channel set for a list of channel types. More...
 
static AudioChannelSet JUCE_CALLTYPE fromWaveChannelMask (int32 dwChannelMask)
 Create an AudioChannelSet from a WAVEFORMATEXTENSIBLE channelMask (typically used in .wav files). More...
 

Detailed Description

Represents a set of audio channel types.

For example, you might have a set of left + right channels, which is a stereo channel set. It is a collection of values from the AudioChannelSet::ChannelType enum, where each type may only occur once within the set.

The documentation below lists which AudioChannelSet corresponds to which native layouts used by AAX, VST2/VST3 and CoreAudio/AU. The layout tags in CoreAudio are particularly confusing. For example, the layout which is labeled as "7.1 SDDS" in Logic Pro, corresponds to CoreAudio/AU's kAudioChannelLayoutTag_DTS_7_0 tag, whereas AAX's DTS 7.1 Layout corresponds to CoreAudio/AU's kAudioChannelLayoutTag_MPEG_7_1_A format, etc. Please do not use the CoreAudio tag as an indication to the actual layout of the speakers.

See also
Bus

Member Enumeration Documentation

◆ ChannelType

Represents different audio channel types.

Enumerator
unknown 
left 
right 
centre 
LFE 
leftSurround 
rightSurround 
leftCentre 
rightCentre 
centreSurround 
surround 
leftSurroundSide 
rightSurroundSide 
topMiddle 
topFrontLeft 
topFrontCentre 
topFrontRight 
topRearLeft 
topRearCentre 
topRearRight 
LFE2 
leftSurroundRear 
rightSurroundRear 
wideLeft 
wideRight 
ambisonicW 
ambisonicX 
ambisonicY 
ambisonicZ 
topSideLeft 
topSideRight 
discreteChannel0 

Non-typed individual channels are indexed upwards from this value.

◆ anonymous enum

anonymous enum
Enumerator
maxChannelsOfNamedLayout 

Constructor & Destructor Documentation

◆ AudioChannelSet()

AudioChannelSet::AudioChannelSet ( )
noexcept

Creates an empty channel set.

You can call addChannel to add channels to the set.

References JUCE_CALLTYPE.

Member Function Documentation

◆ disabled()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::disabled ( )
static

Creates a zero-channel set which can be used to indicate that a bus is disabled.

Referenced by SpeakerMappings::channelSetToVstArrangementType(), AudioUnitHelpers::setBusesLayout(), and SpeakerMappings::vstArrangementTypeToChannelSet().

◆ mono()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::mono ( )
static

Creates a one-channel mono set (centre).

Is equivalent to: kMonoAAX (VST), AAX_eStemFormat_Mono (AAX), kAudioChannelLayoutTag_Mono (CoreAudio)

Referenced by SpeakerMappings::channelSetToVstArrangementType(), and SpeakerMappings::vstArrangementTypeToChannelSet().

◆ stereo()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::stereo ( )
static

Creates a set containing a stereo set (left, right).

Is equivalent to: kStereo (VST), AAX_eStemFormat_Stereo (AAX), kAudioChannelLayoutTag_Stereo (CoreAudio)

Referenced by SpeakerMappings::channelSetToVstArrangementType(), and SpeakerMappings::vstArrangementTypeToChannelSet().

◆ createLCR()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::createLCR ( )
static

Creates a set containing an LCR set (left, right, centre).

Is equivalent to: k30Cine (VST), AAX_eStemFormat_LCR (AAX), kAudioChannelLayoutTag_MPEG_3_0_A (CoreAudio)

This format is referred to as "LRC" in Cubase. This format is referred to as "LCR" in Pro Tools.

Referenced by SpeakerMappings::channelSetToVstArrangementType(), and SpeakerMappings::vstArrangementTypeToChannelSet().

◆ createLRS()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::createLRS ( )
static

Creates a set containing an LRS set (left, right, surround).

Is equivalent to: k30Music (VST), n/a (AAX), kAudioChannelLayoutTag_ITU_2_1 (CoreAudio)

This format is referred to as "LRS" in Cubase.

Referenced by SpeakerMappings::channelSetToVstArrangementType(), and SpeakerMappings::vstArrangementTypeToChannelSet().

◆ createLCRS()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::createLCRS ( )
static

Creates a set containing an LCRS set (left, right, centre, surround).

Is equivalent to: k40Cine (VST), AAX_eStemFormat_LCRS (AAX), kAudioChannelLayoutTag_MPEG_4_0_A (CoreAudio)

This format is referred to as "LCRS (Pro Logic)" in Logic Pro. This format is referred to as "LRCS" in Cubase. This format is referred to as "LCRS" in Pro Tools.

Referenced by SpeakerMappings::channelSetToVstArrangementType(), and SpeakerMappings::vstArrangementTypeToChannelSet().

◆ create5point0()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::create5point0 ( )
static

Creates a set for a 5.0 surround setup (left, right, centre, leftSurround, rightSurround).

Is equivalent to: k50 (VST), AAX_eStemFormat_5_0 (AAX), kAudioChannelLayoutTag_MPEG_5_0_A (CoreAudio)

This format is referred to as "5.0" in Cubase. This format is referred to as "5.0" in Pro Tools.

Referenced by SpeakerMappings::channelSetToVstArrangementType(), and SpeakerMappings::vstArrangementTypeToChannelSet().

◆ create5point1()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::create5point1 ( )
static

Creates a set for a 5.1 surround setup (left, right, centre, leftSurround, rightSurround, LFE).

Is equivalent to: k51 (VST), AAX_eStemFormat_5_1 (AAX), kAudioChannelLayoutTag_MPEG_5_1_A (CoreAudio)

This format is referred to as "5.1 (ITU 775)" in Logic Pro. This format is referred to as "5.1" in Cubase. This format is referred to as "5.1" in Pro Tools.

Referenced by SpeakerMappings::channelSetToVstArrangementType(), and SpeakerMappings::vstArrangementTypeToChannelSet().

◆ create6point0()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::create6point0 ( )
static

Creates a set for a 6.0 Cine surround setup (left, right, centre, leftSurround, rightSurround, centreSurround).

Is equivalent to: k60Cine (VST), AAX_eStemFormat_6_0 (AAX), kAudioChannelLayoutTag_AudioUnit_6_0 (CoreAudio)

Logic Pro incorrectly uses this for the surround format labeled "6.1 (ES/EX)". This format is referred to as "6.0 Cine" in Cubase. This format is referred to as "6.0" in Pro Tools.

Referenced by SpeakerMappings::channelSetToVstArrangementType(), and SpeakerMappings::vstArrangementTypeToChannelSet().

◆ create6point1()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::create6point1 ( )
static

Creates a set for a 6.1 Cine surround setup (left, right, centre, leftSurround, rightSurround, centreSurround, LFE).

Is equivalent to: k61Cine (VST), AAX_eStemFormat_6_1 (AAX), kAudioChannelLayoutTag_MPEG_6_1_A (CoreAudio)

This format is referred to as "6.1" in Pro Tools.

Referenced by SpeakerMappings::channelSetToVstArrangementType(), and SpeakerMappings::vstArrangementTypeToChannelSet().

◆ create6point0Music()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::create6point0Music ( )
static

Creates a set for a 6.0 Music surround setup (left, right, leftSurround, rightSurround, leftSurroundSide, rightSurroundSide).

Is equivalent to: k60Music (VST), n/a (AAX), kAudioChannelLayoutTag_DTS_6_0_A (CoreAudio)

This format is referred to as "6.0 Music" in Cubase.

Referenced by SpeakerMappings::channelSetToVstArrangementType(), and SpeakerMappings::vstArrangementTypeToChannelSet().

◆ create6point1Music()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::create6point1Music ( )
static

Creates a set for a 6.0 Music surround setup (left, right, leftSurround, rightSurround, leftSurroundSide, rightSurroundSide, LFE).

Is equivalent to: k61Music (VST), n/a (AAX), kAudioChannelLayoutTag_DTS_6_1_A (CoreAudio)

Referenced by SpeakerMappings::channelSetToVstArrangementType(), and SpeakerMappings::vstArrangementTypeToChannelSet().

◆ create7point0()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::create7point0 ( )
static

Creates a set for a DTS 7.0 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear).

Is equivalent to: k70Music (VST), AAX_eStemFormat_7_0_DTS (AAX), kAudioChannelLayoutTag_AudioUnit_7_0 (CoreAudio)

This format is referred to as "7.0" in Pro Tools.

Referenced by SpeakerMappings::channelSetToVstArrangementType(), and SpeakerMappings::vstArrangementTypeToChannelSet().

◆ create7point0SDDS()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::create7point0SDDS ( )
static

Creates a set for a SDDS 7.0 surround setup (left, right, centre, leftSurround, rightSurround, leftCentre, rightCentre).

Is equivalent to: k70Cine (VST), AAX_eStemFormat_7_0_SDDS (AAX), kAudioChannelLayoutTag_AudioUnit_7_0_Front (CoreAudio)

This format is referred to as "7.0 SDDS" in Pro Tools.

Referenced by SpeakerMappings::channelSetToVstArrangementType(), and SpeakerMappings::vstArrangementTypeToChannelSet().

◆ create7point1()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::create7point1 ( )
static

Creates a set for a DTS 7.1 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, LFE).

Is equivalent to: k71CineSideFill (VST), AAX_eStemFormat_7_1_DTS (AAX), kAudioChannelLayoutTag_MPEG_7_1_C/kAudioChannelLayoutTag_ITU_3_4_1 (CoreAudio)

This format is referred to as "7.1 (3/4.1)" in Logic Pro. This format is referred to as "7.1" in Pro Tools.

Referenced by SpeakerMappings::channelSetToVstArrangementType(), and SpeakerMappings::vstArrangementTypeToChannelSet().

◆ create7point1SDDS()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::create7point1SDDS ( )
static

Creates a set for a 7.1 surround setup (left, right, centre, leftSurround, rightSurround, leftCentre, rightCentre, LFE).

Is equivalent to: k71Cine (VST), AAX_eStemFormat_7_1_SDDS (AAX), kAudioChannelLayoutTag_MPEG_7_1_A (CoreAudio)

This format is referred to as "7.1 (SDDS)" in Logic Pro. This format is referred to as "7.1 SDDS" in Pro Tools.

Referenced by SpeakerMappings::channelSetToVstArrangementType(), and SpeakerMappings::vstArrangementTypeToChannelSet().

◆ create7point0point2()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::create7point0point2 ( )
static

Creates a set for Dolby Atmos 7.0.2 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, topSideLeft, topSideRight).

Is equivalent to: n/a (VST), AAX_eStemFormat_7_0_2 (AAX), n/a (CoreAudio)

◆ create7point1point2()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::create7point1point2 ( )
static

Creates a set for Dolby Atmos 7.1.2 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, LFE, topSideLeft, topSideRight).

Is equivalent to: k71_2 (VST), AAX_eStemFormat_7_1_2 (AAX), n/a (CoreAudio)

◆ ambisonic()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::ambisonic ( )
static

Creates a set for ambisonic surround setups (ambisonicW, ambisonicX, ambisonicY, ambisonicZ).

Is equivalent to: kBFormat (VST), n/a (AAX), kAudioChannelLayoutTag_Ambisonic_B_Format (CoreAudio)

◆ quadraphonic()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::quadraphonic ( )
static

Creates a set for quadraphonic surround setup (left, right, leftSurround, rightSurround)

Is equivalent to: k40Music (VST), AAX_eStemFormat_Quad (AAX), kAudioChannelLayoutTag_Quadraphonic (CoreAudio)

This format is referred to as "Quadraphonic" in Logic Pro. This format is referred to as "Quadro" in Cubase. This format is referred to as "Quad" in Pro Tools.

Referenced by SpeakerMappings::channelSetToVstArrangementType(), and SpeakerMappings::vstArrangementTypeToChannelSet().

◆ pentagonal()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::pentagonal ( )
static

Creates a set for pentagonal surround setup (left, right, centre, leftSurroundRear, rightSurroundRear).

Is equivalent to: n/a (VST), n/a (AAX), kAudioChannelLayoutTag_Pentagonal (CoreAudio)

◆ hexagonal()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::hexagonal ( )
static

Creates a set for hexagonal surround setup (left, right, leftSurroundRear, rightSurroundRear, centre, surroundCentre).

Is equivalent to: n/a (VST), n/a (AAX), kAudioChannelLayoutTag_Hexagonal (CoreAudio)

◆ octagonal()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::octagonal ( )
static

Creates a set for octagonal surround setup (left, right, leftSurround, rightSurround, centre, centreSurround, wideLeft, wideRight).

Is equivalent to: n/a (VST), n/a (AAX), kAudioChannelLayoutTag_Octagonal (CoreAudio)

◆ discreteChannels()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::discreteChannels ( int  numChannels)
static

◆ canonicalChannelSet()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::canonicalChannelSet ( int  numChannels)
static

Create a canonical channel set for a given number of channels.

For example, numChannels = 1 will return mono, numChannels = 2 will return stereo, etc.

◆ namedChannelSet()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::namedChannelSet ( int  numChannels)
static

Create a channel set for a given number of channels which is non-discrete.

If numChannels is larger than the number of channels of the surround format with the maximum amount of channels (currently 7.1 Surround), then this function returns an empty set.

◆ channelSetsWithNumberOfChannels()

static Array<AudioChannelSet> JUCE_CALLTYPE AudioChannelSet::channelSetsWithNumberOfChannels ( int  numChannels)
static

Return an array of channel sets which have a given number of channels.

Referenced by AudioUnitHelpers::isNumberOfChannelsSupported().

◆ getChannelTypeName()

static String JUCE_CALLTYPE AudioChannelSet::getChannelTypeName ( ChannelType  )
static

Returns the name of a given channel type.

For example, this method may return "Surround Left".

◆ getAbbreviatedChannelTypeName()

static String JUCE_CALLTYPE AudioChannelSet::getAbbreviatedChannelTypeName ( ChannelType  )
static

Returns the abbreviated name of a channel type.

For example, this method may return "Ls".

◆ getChannelTypeFromAbbreviation()

static ChannelType JUCE_CALLTYPE AudioChannelSet::getChannelTypeFromAbbreviation ( const String abbreviation)
static

Returns the channel type from an abbreviated name.

◆ addChannel()

void AudioChannelSet::addChannel ( ChannelType  newChannelType)

◆ removeChannel()

void AudioChannelSet::removeChannel ( ChannelType  newChannelType)

Removes a channel from the set.

◆ size()

int AudioChannelSet::size ( ) const
noexcept

◆ isDisabled()

bool AudioChannelSet::isDisabled ( ) const
noexcept

Returns true if there are no channels in the set.

Referenced by AudioProcessor::Bus::isEnabled().

◆ getChannelTypes()

Array<ChannelType> AudioChannelSet::getChannelTypes ( ) const

Returns an array of all the types in this channel set.

Referenced by SpeakerMappings::channelSetToVstArrangementType(), and juce::CoreAudioLayouts::getCoreAudioLayoutChannels().

◆ getTypeOfChannel()

ChannelType AudioChannelSet::getTypeOfChannel ( int  channelIndex) const
noexcept

Returns the type of one of the channels in the set, by index.

Referenced by SpeakerMappings::VstSpeakerConfigurationHolder::VstSpeakerConfigurationHolder().

◆ getChannelIndexForType()

int AudioChannelSet::getChannelIndexForType ( ChannelType  type) const
noexcept

Returns the index for a particular channel-type.

Will return -1 if the this set does not contain a channel of this type.

◆ getSpeakerArrangementAsString()

String AudioChannelSet::getSpeakerArrangementAsString ( ) const

Returns a string containing a whitespace-separated list of speaker types corresponding to each channel.

For example in a 5.1 arrangement, the string may be "L R C Lfe Ls Rs". If the speaker arrangement is unknown, the returned string will be empty.

◆ fromAbbreviatedString()

static AudioChannelSet AudioChannelSet::fromAbbreviatedString ( const String set)
static

Returns an AudioChannelSet from a string returned by getSpeakerArrangementAsString.

See also
getSpeakerArrangementAsString

◆ getDescription()

String AudioChannelSet::getDescription ( ) const

Returns the description of the current layout.

For example, this method may return "Quadraphonic". Note that the returned string may not be unique.

◆ isDiscreteLayout()

bool AudioChannelSet::isDiscreteLayout ( ) const
noexcept

Returns if this is a channel layout made-up of discrete channels.

◆ intersect()

void AudioChannelSet::intersect ( const AudioChannelSet other)

Intersect two channel layouts.

References JUCE_CALLTYPE, operator!=(), operator<(), and operator==().

◆ channelSetWithChannels()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::channelSetWithChannels ( const Array< ChannelType > &  )
static

Creates a channel set for a list of channel types.

This function will assert if you supply a duplicate channel.

Note that this method ignores the order in which the channels are given, i.e. two arrays with the same elements but in a different order will still result in the same channel set.

Referenced by juce::CoreAudioLayouts::fromCoreAudio().

◆ fromWaveChannelMask()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::fromWaveChannelMask ( int32  dwChannelMask)
static

Create an AudioChannelSet from a WAVEFORMATEXTENSIBLE channelMask (typically used in .wav files).

Referenced by juce::CoreAudioLayouts::getCoreAudioLayoutChannels().

◆ getWaveChannelMask()

int32 AudioChannelSet::getWaveChannelMask ( ) const
noexcept

Returns a WAVEFORMATEXTENSIBLE channelMask representation (typically used in .wav files) of the receiver.

Returns -1 if the receiver cannot be represented in a WAVEFORMATEXTENSIBLE channelMask representation.

◆ operator==()

bool AudioChannelSet::operator== ( const AudioChannelSet ) const
noexcept

◆ operator!=()

bool AudioChannelSet::operator!= ( const AudioChannelSet ) const
noexcept

◆ operator<()

bool AudioChannelSet::operator< ( const AudioChannelSet ) const
noexcept

The documentation for this class was generated from the following file: