A class encapsulating a group of AudioProcessorParameters and nested AudioProcessorParameterGroups. More...
#include <juce_AudioProcessorParameterGroup.h>
Classes | |
class | AudioProcessorParameterNode |
A child of an AudioProcessorParameterGroup. More... | |
Public Member Functions | |
AudioProcessorParameterGroup (const String &groupID, const String &groupName, const String &subgroupSeparator) | |
Creates an empty AudioProcessorParameterGroup. More... | |
template<typename ChildType > | |
AudioProcessorParameterGroup (const String &groupID, const String &groupName, const String &subgroupSeparator, std::unique_ptr< ChildType > child) | |
Creates an AudioProcessorParameterGroup with a single child. More... | |
template<typename ChildType , typename... Args> | |
AudioProcessorParameterGroup (const String &groupID, const String &groupName, const String &subgroupSeparator, std::unique_ptr< ChildType > firstChild, Args &&... remainingChildren) | |
Creates an AudioProcessorParameterGroup with multiple children. More... | |
template<typename ChildType > | |
void | addChild (std::unique_ptr< ChildType > child) |
Adds a child to the group. More... | |
template<typename ChildType , typename... Args> | |
void | addChild (std::unique_ptr< ChildType > firstChild, Args &&... remainingChildren) |
Adds multiple children to the group. More... | |
const AudioProcessorParameterNode ** | begin () const noexcept |
const AudioProcessorParameterNode ** | end () const noexcept |
Array< const AudioProcessorParameterGroup * > | getGroupsForParameter (AudioProcessorParameter *parameter) const |
Searches this group recursively for a parameter and returns a depth ordered list of the groups it belongs to. More... | |
String | getID () const |
Returns the group's ID. More... | |
String | getName () const |
Returns the group's name. More... | |
Array< AudioProcessorParameter * > | getParameters (bool recursive) const |
Returns all the parameters in this group. More... | |
const AudioProcessorParameterGroup * | getParent () const noexcept |
Returns the parent of the group, or nullptr if this is a top-levle group. More... | |
String | getSeparator () const |
Returns the group's separator string. More... | |
Array< const AudioProcessorParameterGroup * > | getSubgroups (bool recursive) const |
Returns all subgroups of this group. More... | |
void | swapWith (AudioProcessorParameterGroup &other) noexcept |
Swaps the content of this group with another. More... | |
Private Member Functions | |
const AudioProcessorParameterGroup * | getGroupForParameter (AudioProcessorParameter *parameter) const |
void | getParameters (Array< AudioProcessorParameter *> &previousParameters, bool recursive) const |
void | getSubgroups (Array< const AudioProcessorParameterGroup *> &previousGroups, bool recursive) const |
Private Attributes | |
OwnedArray< const AudioProcessorParameterNode > | children |
const String | identifier |
const String | name |
AudioProcessorParameterGroup * | parent = nullptr |
const String | separator |
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.
{Audio}
|
inline |
Creates an empty AudioProcessorParameterGroup.
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. |
|
inline |
Creates an AudioProcessorParameterGroup with a single child.
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().
|
inline |
Creates an AudioProcessorParameterGroup with multiple children.
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().
|
inline |
Adds a child to the group.
References children.
Referenced by addChild(), and AudioProcessorParameterGroup().
|
inline |
Adds multiple children to the group.
References addChild().
|
inlinenoexcept |
References children.
|
inlinenoexcept |
References children.
|
inlineprivate |
|
inline |
Searches this group recursively for a parameter and returns a depth ordered list of the groups it belongs to.
References getGroupForParameter(), juce::AudioProcessorParameterGroup::AudioProcessorParameterNode::group, and juce::Array< ElementType, TypeOfCriticalSectionToUse, minimumAllocatedSize >::insert().
|
inline |
Returns the group's ID.
References identifier.
|
inline |
Returns the group's name.
References name.
|
inline |
Returns all the parameters in this group.
recursive | If this is true then this method will fetch all nested parameters using a depth first search. |
|
inlineprivate |
|
inlinenoexcept |
Returns the parent of the group, or nullptr if this is a top-levle group.
References juce::AudioProcessorParameterGroup::AudioProcessorParameterNode::parent.
|
inline |
Returns the group's separator string.
References separator.
|
inline |
Returns all subgroups of this group.
recursive | If this is true then this method will fetch all nested subgroups using a depth first search. |
|
inlineprivate |
|
inlinenoexcept |
Swaps the content of this group with another.
References children, and juce::AudioProcessorParameterGroup::AudioProcessorParameterNode::group.
|
private |
Referenced by addChild(), begin(), end(), getGroupForParameter(), getParameters(), getSubgroups(), and swapWith().
|
private |
|
private |
Referenced by getSeparator().