Loading...
Searching...
No Matches
juce::AudioProcessorParameterGroup Class Reference

## Detailed Description

A class encapsulating a group of AudioProcessorParameters and nested AudioProcessorParameterGroups.

This class is predominantly write-only; there are methods for adding group members but none for removing them. Ultimately you will probably want to add a fully constructed group to an AudioProcessor.

See also
  AudioProcessor::addParameterGroup

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

- juce_audio_processors_headless/processors/juce_AudioProcessorParameterGroup.h

## Classes

class | AudioProcessorParameterNode
| A child of an AudioProcessorParameterGroup. More...

## Public Member Functions

| AudioProcessorParameterGroup ()
| Creates an empty AudioProcessorParameterGroup with no name or ID.
| AudioProcessorParameterGroup (String groupID, String groupName, String subgroupSeparator)
| Creates an empty AudioProcessorParameterGroup.
template<typename ParameterOrGroup>
| AudioProcessorParameterGroup (String groupID, String groupName, String subgroupSeparator, std::unique_ptr< ParameterOrGroup > child)
| Creates an AudioProcessorParameterGroup with a single child.
template<typename ParameterOrGroup, typename... Args>
| AudioProcessorParameterGroup (String groupID, String groupName, String subgroupSeparator, std::unique_ptr< ParameterOrGroup > firstChild, Args &&... remainingChildren)
| Creates an AudioProcessorParameterGroup with multiple children.
| AudioProcessorParameterGroup (AudioProcessorParameterGroup &&)
| Once a group has been added to an AudioProcessor don't try to mutate it by moving or swapping it - this will crash most hosts.
AudioProcessorParameterGroup & | operator= (AudioProcessorParameterGroup &&)
| Once a group has been added to an AudioProcessor don't try to mutate it by moving or swapping it - this will crash most hosts.
| ~AudioProcessorParameterGroup ()
| Destructor.
String | getID () const
| Returns the group's ID.
String | getName () const
| Returns the group's name.
String | getSeparator () const
| Returns the group's separator string.
const AudioProcessorParameterGroup * | getParent () const noexcept
| Returns the parent of the group, or nullptr if this is a top-level group.
void | setName (String newName)
| Changes the name of the group.
const AudioProcessorParameterNode *const * | begin () const noexcept
const AudioProcessorParameterNode *const * | end () const noexcept
Array< const AudioProcessorParameterGroup * > | getSubgroups (bool recursive) const
| Returns all subgroups of this group.
Array< AudioProcessorParameter * > | getParameters (bool recursive) const
| Returns all the parameters in this group.
Array< const AudioProcessorParameterGroup * > | getGroupsForParameter (AudioProcessorParameter *) const
| Searches this group recursively for a parameter and returns a depth ordered list of the groups it belongs to.
template<typename ParameterOrGroup>
void | addChild (std::unique_ptr< ParameterOrGroup > child)
| Adds a child to the group.
template<typename ParameterOrGroup, typename... Args>
void | addChild (std::unique_ptr< ParameterOrGroup > firstChild, Args &&... remainingChildren)
| Adds multiple parameters or sub-groups to this group.

## Constructors and Destructors

## AudioProcessorParameterGroup() [1/5]

juce::AudioProcessorParameterGroup::AudioProcessorParameterGroup | ( |  | ) |

Creates an empty AudioProcessorParameterGroup with no name or ID.

Referenced by AudioProcessorParameterGroup(), AudioProcessorParameterGroup(), AudioProcessorParameterGroup(), getGroupsForParameter(), getParent(), getSubgroups(), and operator=().

## AudioProcessorParameterGroup() [2/5]

juce::AudioProcessorParameterGroup::AudioProcessorParameterGroup | ( | String | groupID,
|  | String | groupName,
|  | String | subgroupSeparator )

Creates an empty AudioProcessorParameterGroup.

Parameters

  groupID | A unique identifier for the group. Keep it basic; don't use any special characters like "." and avoid pure integer strings which could collide with legacy parameter IDs.
  groupName | The group's name, which will be displayed in the host.
  subgroupSeparator | A separator string to use between the name of this group and the name of any subgroups if this group is flattened. AUv3 and VST3 plug-ins can have multiple layers of nested subgroups, but AU plug-ins cannot have any subgroups.

## AudioProcessorParameterGroup() [3/5]

template<typename ParameterOrGroup>

juce::AudioProcessorParameterGroup::AudioProcessorParameterGroup | ( | String | groupID,
|  | String | groupName,
|  | String | subgroupSeparator,
|  | std::unique_ptr< ParameterOrGroup > | child )

inline

Creates an AudioProcessorParameterGroup with a single child.

Parameters

  groupID | A unique identifier for the group. Keep it basic; don't use any special characters like "." and avoid pure integer strings which could collide with legacy parameter IDs.
  groupName | The group's name, which will be displayed in the host.
  subgroupSeparator | A separator string to use between the name of this group and the name of any subgroups if this group is flattened. AUv3 and VST3 plug-ins can have multiple layers of nested subgroups, but AU plug-ins cannot have any subgroups.
  child | An AudioProcessorParameter or an AudioProcessorParameterGroup to add to the group.

References addChild(), and AudioProcessorParameterGroup().

## AudioProcessorParameterGroup() [4/5]

template<typename ParameterOrGroup, typename... Args>

juce::AudioProcessorParameterGroup::AudioProcessorParameterGroup | ( | String | groupID,
|  | String | groupName,
|  | String | subgroupSeparator,
|  | std::unique_ptr< ParameterOrGroup > | firstChild,
|  | Args &&... | remainingChildren )

inline

Creates an AudioProcessorParameterGroup with multiple children.

Parameters

  groupID | A unique identifier for the group. Keep it basic; don't use any special characters like "." and avoid pure integer strings which could collide with legacy parameter IDs.
  groupName | The group's name, which will be displayed in the host.
  subgroupSeparator | A separator string to use between the name of this group and the name of any subgroups if this group is flattened. AUv3 and VST3 plug-ins can have multiple layers of nested subgroups, but AU plug-ins cannot have any subgroups.
  firstChild | An AudioProcessorParameter or an AudioProcessorParameterGroup to add to the group.
  remainingChildren | A list of more AudioProcessorParameters or AudioProcessorParameterGroups to add to the group.

References addChild(), and AudioProcessorParameterGroup().

## AudioProcessorParameterGroup() [5/5]

juce::AudioProcessorParameterGroup::AudioProcessorParameterGroup | ( | AudioProcessorParameterGroup && |  | ) |

Once a group has been added to an AudioProcessor don't try to mutate it by moving or swapping it - this will crash most hosts.

References AudioProcessorParameterGroup().

## ~AudioProcessorParameterGroup()

juce::AudioProcessorParameterGroup::~AudioProcessorParameterGroup | ( |  | ) |

Destructor.

## Member Functions

## operator=()

AudioProcessorParameterGroup & juce::AudioProcessorParameterGroup::operator= | ( | AudioProcessorParameterGroup && |  | ) |

Once a group has been added to an AudioProcessor don't try to mutate it by moving or swapping it - this will crash most hosts.

References AudioProcessorParameterGroup().

## getID()

String juce::AudioProcessorParameterGroup::getID | ( |  | ) | const

Returns the group's ID.

## getName()

String juce::AudioProcessorParameterGroup::getName | ( |  | ) | const

Returns the group's name.

## getSeparator()

String juce::AudioProcessorParameterGroup::getSeparator | ( |  | ) | const

Returns the group's separator string.

## getParent()

const AudioProcessorParameterGroup * juce::AudioProcessorParameterGroup::getParent | ( |  | ) | const

noexcept

Returns the parent of the group, or nullptr if this is a top-level group.

References AudioProcessorParameterGroup().

## setName()

void juce::AudioProcessorParameterGroup::setName | ( | String | newName | ) |

Changes the name of the group.

If you do this after the group has been added to an AudioProcessor, call updateHostDisplay() to inform the host of the change. Not all hosts support dynamic group name changes.

References setName().

Referenced by setName().

## begin()

const AudioProcessorParameterNode *const * juce::AudioProcessorParameterGroup::begin | ( |  | ) | const

noexcept

References begin().

Referenced by begin().

## end()

const AudioProcessorParameterNode *const * juce::AudioProcessorParameterGroup::end | ( |  | ) | const

noexcept

References end().

Referenced by end().

## getSubgroups()

Array< const AudioProcessorParameterGroup * > juce::AudioProcessorParameterGroup::getSubgroups | ( | bool | recursive | ) | const

Returns all subgroups of this group.

Parameters

  recursive | If this is true then this method will fetch all nested subgroups using a depth first search.

References AudioProcessorParameterGroup(), and getSubgroups().

Referenced by getSubgroups().

## getParameters()

Array< AudioProcessorParameter * > juce::AudioProcessorParameterGroup::getParameters | ( | bool | recursive | ) | const

Returns all the parameters in this group.

Parameters

  recursive | If this is true then this method will fetch all nested parameters using a depth first search.

References getParameters().

Referenced by getParameters().

## getGroupsForParameter()

Array< const AudioProcessorParameterGroup * > juce::AudioProcessorParameterGroup::getGroupsForParameter | ( | AudioProcessorParameter * |  | ) | const

Searches this group recursively for a parameter and returns a depth ordered list of the groups it belongs to.

References AudioProcessorParameterGroup(), and getGroupsForParameter().

Referenced by getGroupsForParameter().

## addChild() [1/2]

template<typename ParameterOrGroup>

void juce::AudioProcessorParameterGroup::addChild | ( | std::unique_ptr< ParameterOrGroup > | child | ) |

inline

Adds a child to the group.

Do not add children to a group which has itself already been added to the AudioProcessor - the new elements will be ignored.

References addChild().

Referenced by addChild(), addChild(), AudioProcessorParameterGroup(), and AudioProcessorParameterGroup().

## addChild() [2/2]

template<typename ParameterOrGroup, typename... Args>

void juce::AudioProcessorParameterGroup::addChild | ( | std::unique_ptr< ParameterOrGroup > | firstChild,
|  | Args &&... | remainingChildren )

inline

Adds multiple parameters or sub-groups to this group.

Do not add children to a group which has itself already been added to the AudioProcessor - the new elements will be ignored.

References addChild().

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited