JUCE: AudioChannelSet Class Reference

JUCE

Public Types | Public Member Functions | Static Public Member Functions | List of all members
AudioChannelSet Class Reference
juce_audio_basics » buffers

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

`#include <juce_AudioChannelSet.h>`

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 , topSideLeft = 28 , topSideRight = 29 , ambisonicACN0 = 24 , ambisonicACN1 = 25 , ambisonicACN2 = 26 , ambisonicACN3 = 27 , ambisonicACN4 = 30 , ambisonicACN5 = 31 , ambisonicACN6 = 32 , ambisonicACN7 = 33 , ambisonicACN8 = 34 , ambisonicACN9 = 35 , ambisonicACN10 = 36 , ambisonicACN11 = 37 , ambisonicACN12 = 38 , ambisonicACN13 = 39 , ambisonicACN14 = 40 , ambisonicACN15 = 41 , ambisonicACN16 = 42 , ambisonicACN17 = 43 , ambisonicACN18 = 44 , ambisonicACN19 = 45 , ambisonicACN20 = 46 , ambisonicACN21 = 47 , ambisonicACN22 = 48 , ambisonicACN23 = 49 , ambisonicACN24 = 50 , ambisonicACN25 = 51 , ambisonicACN26 = 52 , ambisonicACN27 = 53 , ambisonicACN28 = 54 , ambisonicACN29 = 55 , ambisonicACN30 = 56 , ambisonicACN31 = 57 , ambisonicACN32 = 58 , ambisonicACN33 = 59 , ambisonicACN34 = 60 , ambisonicACN35 = 61 , ambisonicW = ambisonicACN0 , ambisonicX = ambisonicACN3 , ambisonicY = ambisonicACN1 , ambisonicZ = ambisonicACN2 , bottomFrontLeft = 62 , bottomFrontCentre = 63 , bottomFrontRight = 64 , proximityLeft = 65 , proximityRight = 66 , bottomSideLeft = 67 , bottomSideRight = 68 , bottomRearLeft = 69 , bottomRearCentre = 70 , bottomRearRight = 71 , discreteChannel0 = 128 }
| Represents different audio channel types. More...
enum | { maxChannelsOfNamedLayout = 36 }

## Public Member Functions
| AudioChannelSet ()=default
| Creates an empty channel set. More...
int | getAmbisonicOrder () const
| Returns the order of the ambisonic layout represented by this AudioChannelSet. 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< ChannelType > | getChannelTypes () 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 | create5point1point2 ()
| Creates a set for a 5.1.2 surround setup (left, right, centre, LFE, leftSurround, rightSurround, topSideLeft, topSideRight). More...
static AudioChannelSet JUCE_CALLTYPE | create5point1point4 ()
| Creates a set for a 5.1.4 surround setup (left, right, centre, LFE, leftSurround, rightSurround, topFrontLeft, topFrontRight, topRearLeft, topRearRight). 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 | create7point0point4 ()
| Creates a set for Dolby Atmos 7.0.4 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, topFrontLeft, topFrontRight, topRearLeft, topRearRight). More...
static AudioChannelSet JUCE_CALLTYPE | create7point1point4 ()
| Creates a set for Dolby Atmos 7.1.4 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, LFE, topFrontLeft, topFrontRight, topRearLeft, topRearRight). More...
static AudioChannelSet JUCE_CALLTYPE | create7point1point6 ()
| Creates a set for Dolby Atmos 7.1.6 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, LFE, topFrontLeft, topFrontRight, topSideLeft, topSideRight, topRearLeft, topRearRight). More...
static AudioChannelSet JUCE_CALLTYPE | create9point1point6 ()
| Creates a set for a 9.1.6 surround setup (left, right, centre, LFE, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, wideLeft, wideRight, topFrontLeft, topFrontRight, topSideLeft, topSideRight, topRearLeft, topRearRight). 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 | ambisonic (int order=1)
| Creates a set for ACN, SN3D normalised ambisonic surround setups with a given order. 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

enum AudioChannelSet::ChannelType

Represents different audio channel types.

Enumerator
unknown | Unknown channel type.
left | L channel.
right | R channel.
centre | C channel. (Sometimes M for mono)
LFE | LFE channel.
leftSurround | Ls channel.
rightSurround | Rs channel.
leftCentre | Lc (AAX/VST), Lc used as Lss in AU for most layouts.
rightCentre | Rc (AAX/VST), Rc used as Rss in AU for most layouts.
centreSurround | Cs/S channel.
surround | Same as Centre Surround channel.
leftSurroundSide | Lss (AXX), Side Left "Sl" (VST), Left Centre "LC" (AU) channel.
rightSurroundSide | Rss (AXX), Side right "Sr" (VST), Right Centre "Rc" (AU) channel.
topMiddle | Top Middle channel.
topFrontLeft | Top Front Left channel.
topFrontCentre | Top Front Centre channel.
topFrontRight | Top Front Right channel.
topRearLeft | Top Rear Left channel.
topRearCentre | Top Rear Centre channel.
topRearRight | Top Rear Right channel.
LFE2 | Second LFE channel.
leftSurroundRear | Lsr (AAX), Lcs (VST), Rls (AU) channel.
rightSurroundRear | Rsr (AAX), Rcs (VST), Rrs (AU) channel.
wideLeft | Wide Left channel.
wideRight | Wide Right channel.
topSideLeft | Lts (AAX), Tsl (VST), Ltm (AU) channel for Dolby Atmos.
topSideRight | Rts (AAX), Tsr (VST), Rtm (AU) channel for Dolby Atmos.
ambisonicACN0 | Zero-th ambisonic channel number 0.
ambisonicACN1 | First-order ambisonic channel number 1.
ambisonicACN2 | First-order ambisonic channel number 2.
ambisonicACN3 | First-order ambisonic channel number 3.
ambisonicACN4 | Second-order ambisonic channel number 4.
ambisonicACN5 | Second-order ambisonic channel number 5.
ambisonicACN6 | Second-order ambisonic channel number 6.
ambisonicACN7 | Second-order ambisonic channel number 7.
ambisonicACN8 | Second-order ambisonic channel number 8.
ambisonicACN9 | Third-order ambisonic channel number 9.
ambisonicACN10 | Third-order ambisonic channel number 10.
ambisonicACN11 | Third-order ambisonic channel number 11.
ambisonicACN12 | Third-order ambisonic channel number 12.
ambisonicACN13 | Third-order ambisonic channel number 13.
ambisonicACN14 | Third-order ambisonic channel number 14.
ambisonicACN15 | Third-order ambisonic channel number 15.
ambisonicACN16 | Fourth-order ambisonic channel number 16.
ambisonicACN17 | Fourth-order ambisonic channel number 17.
ambisonicACN18 | Fourth-order ambisonic channel number 18.
ambisonicACN19 | Fourth-order ambisonic channel number 19.
ambisonicACN20 | Fourth-order ambisonic channel number 20.
ambisonicACN21 | Fourth-order ambisonic channel number 21.
ambisonicACN22 | Fourth-order ambisonic channel number 22.
ambisonicACN23 | Fourth-order ambisonic channel number 23.
ambisonicACN24 | Fourth-order ambisonic channel number 24.
ambisonicACN25 | Fifth-order ambisonic channel number 25.
ambisonicACN26 | Fifth-order ambisonic channel number 26.
ambisonicACN27 | Fifth-order ambisonic channel number 27.
ambisonicACN28 | Fifth-order ambisonic channel number 28.
ambisonicACN29 | Fifth-order ambisonic channel number 29.
ambisonicACN30 | Fifth-order ambisonic channel number 30.
ambisonicACN31 | Fifth-order ambisonic channel number 31.
ambisonicACN32 | Fifth-order ambisonic channel number 32.
ambisonicACN33 | Fifth-order ambisonic channel number 33.
ambisonicACN34 | Fifth-order ambisonic channel number 34.
ambisonicACN35 | Fifth-order ambisonic channel number 35.
ambisonicW | Same as zero-th ambisonic channel number 0.
ambisonicX | Same as first-order ambisonic channel number 3.
ambisonicY | Same as first-order ambisonic channel number 1.
ambisonicZ | Same as first-order ambisonic channel number 2.
bottomFrontLeft | Bottom Front Left (Bfl)
bottomFrontCentre | Bottom Front Centre (Bfc)
bottomFrontRight | Bottom Front Right (Bfr)
proximityLeft | Proximity Left (Pl)
proximityRight | Proximity Right (Pr)
bottomSideLeft | Bottom Side Left (Bsl)
bottomSideRight | Bottom Side Right (Bsr)
bottomRearLeft | Bottom Rear Left (Brl)
bottomRearCentre | Bottom Rear Center (Brc)
bottomRearRight | Bottom Rear Right (Brr)
discreteChannel0 | Non-typed individual channels are indexed upwards from this value.

## ◆ anonymous enum

anonymous enum

Enumerator
maxChannelsOfNamedLayout |

## Constructor & Destructor Documentation

## ◆ AudioChannelSet()

AudioChannelSet::AudioChannelSet | ( |  | ) |
| default

Creates an empty channel set.

You can call addChannel to add channels to the set.

## 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(), 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().

## ◆ create5point1point2()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::create5point1point2 | ( |  | ) |
| static

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

Is equivalent to: kAudioChannelLayoutTag_Atmos_5_1_2 (CoreAudio).

## ◆ create5point1point4()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::create5point1point4 | ( |  | ) |
| static

Creates a set for a 5.1.4 surround setup (left, right, centre, LFE, leftSurround, rightSurround, topFrontLeft, topFrontRight, topRearLeft, topRearRight).

Is equivalent to: kAudioChannelLayoutTag_Atmos_5_1_4 (CoreAudio).

## ◆ 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), kAudioChannelLayoutTag_Atmos_7_1_2 (CoreAudio)

## ◆ create7point0point4()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::create7point0point4 | ( |  | ) |
| static

Creates a set for Dolby Atmos 7.0.4 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, topFrontLeft, topFrontRight, topRearLeft, topRearRight).

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

## ◆ create7point1point4()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::create7point1point4 | ( |  | ) |
| static

Creates a set for Dolby Atmos 7.1.4 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, LFE, topFrontLeft, topFrontRight, topRearLeft, topRearRight).

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

## ◆ create7point1point6()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::create7point1point6 | ( |  | ) |
| static

Creates a set for Dolby Atmos 7.1.6 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, LFE, topFrontLeft, topFrontRight, topSideLeft, topSideRight, topRearLeft, topRearRight).

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

## ◆ create9point1point6()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::create9point1point6 | ( |  | ) |
| static

Creates a set for a 9.1.6 surround setup (left, right, centre, LFE, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, wideLeft, wideRight, topFrontLeft, topFrontRight, topSideLeft, topSideRight, topRearLeft, topRearRight).

Note that the VST3 layout arranges the front speakers "L Lc C Rc R", but the JUCE layout uses the arrangement "wideLeft left centre right wideRight". To maintain the relative positions of the speakers, the channels will be remapped accordingly. This means that the VST3 host's "L" channel will be received on a JUCE plugin's "wideLeft" channel, the "Lc" channel will be received on a JUCE plugin's "left" channel, and so on.

Is equivalent to: k91_6 (VST3), kAudioChannelLayoutTag_Atmos_9_1_6 (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)

## ◆ ambisonic()

static AudioChannelSet JUCE_CALLTYPE AudioChannelSet::ambisonic | ( | int | order = `1` | ) |
| static

Creates a set for ACN, SN3D normalised ambisonic surround setups with a given order.

Is equivalent to: kAmbiXXXOrderACN (VST), AAX_eStemFormat_Ambi_XXX_ACN (AAX), kAudioChannelLayoutTag_HOA_ACN_SN3D (CoreAudio)

## ◆ getAmbisonicOrder()

int AudioChannelSet::getAmbisonicOrder | ( |  | ) | const

Returns the order of the ambisonic layout represented by this AudioChannelSet.

If the AudioChannelSet is not an ambisonic layout, then this method will return -1.

## ◆ discreteChannels()

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

Creates a set of untyped discrete channels.

Referenced by SpeakerMappings::vstArrangementTypeToChannelSet().

## ◆ 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.

## ◆ 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 | ) |

Adds a channel to the set.

## ◆ removeChannel()

void AudioChannelSet::removeChannel | ( | ChannelType | newChannelType | ) |

Removes a channel from the set.

## ◆ size()

int AudioChannelSet::size | ( |  | ) | const
| noexcept

Returns the number of channels in the set.

Referenced by SpeakerMappings::channelSetToVstArrangement(), and SpeakerMappings::VstSpeakerConfigurationHolder::VstSpeakerConfigurationHolder().

## ◆ isDisabled()

bool AudioChannelSet::isDisabled | ( |  | ) | const
| noexcept

Returns true if there are no channels in the set.

References gl::size.

## ◆ getChannelTypes()

Array< ChannelType > AudioChannelSet::getChannelTypes | ( |  | ) | const

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

Referenced by SpeakerMappings::channelSetToVstArrangementType().

## ◆ getTypeOfChannel()

ChannelType AudioChannelSet::getTypeOfChannel | ( | int | channelIndex | ) | const
| noexcept

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

Referenced by SpeakerMappings::channelSetToVstArrangement(), and 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.

## ◆ 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.

## ◆ fromWaveChannelMask()

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

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

## ◆ 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:

- juce_AudioChannelSet.h