|
LMMS
|
#include <juce_AudioProcessorParameterGroup.h>
Classes | |
| class | AudioProcessorParameterNode |
Public Member Functions | |
| AudioProcessorParameterGroup () | |
| AudioProcessorParameterGroup (String groupID, String groupName, String subgroupSeparator) | |
| template<typename ParameterOrGroup> | |
| AudioProcessorParameterGroup (String groupID, String groupName, String subgroupSeparator, std::unique_ptr< ParameterOrGroup > child) | |
| template<typename ParameterOrGroup, typename... Args> | |
| AudioProcessorParameterGroup (String groupID, String groupName, String subgroupSeparator, std::unique_ptr< ParameterOrGroup > firstChild, Args &&... remainingChildren) | |
| AudioProcessorParameterGroup (AudioProcessorParameterGroup &&) | |
| AudioProcessorParameterGroup & | operator= (AudioProcessorParameterGroup &&) |
| ~AudioProcessorParameterGroup () | |
| String | getID () const |
| String | getName () const |
| String | getSeparator () const |
| const AudioProcessorParameterGroup * | getParent () const noexcept |
| void | setName (String newName) |
| const AudioProcessorParameterNode *const * | begin () const noexcept |
| const AudioProcessorParameterNode *const * | end () const noexcept |
| Array< const AudioProcessorParameterGroup * > | getSubgroups (bool recursive) const |
| Array< AudioProcessorParameter * > | getParameters (bool recursive) const |
| Array< const AudioProcessorParameterGroup * > | getGroupsForParameter (AudioProcessorParameter *) const |
| template<typename ParameterOrGroup> | |
| void | addChild (std::unique_ptr< ParameterOrGroup > child) |
| template<typename ParameterOrGroup, typename... Args> | |
| void | addChild (std::unique_ptr< ParameterOrGroup > firstChild, Args &&... remainingChildren) |
| void | swapWith (AudioProcessorParameterGroup &other) |
Private Member Functions | |
| void | getSubgroups (Array< const AudioProcessorParameterGroup * > &, bool recursive) const |
| void | getParameters (Array< AudioProcessorParameter * > &, bool recursive) const |
| const AudioProcessorParameterGroup * | getGroupForParameter (AudioProcessorParameter *) const |
| void | updateChildParentage () |
| void | append (std::unique_ptr< AudioProcessorParameter >) |
| void | append (std::unique_ptr< AudioProcessorParameterGroup >) |
Private Attributes | |
| String | identifier |
| String | name |
| String | separator |
| OwnedArray< AudioProcessorParameterNode > | children |
| AudioProcessorParameterGroup * | parent = nullptr |
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.
@tags{Audio}
|
default |
Creates an empty AudioProcessorParameterGroup with no name or ID.
| juce::AudioProcessorParameterGroup::AudioProcessorParameterGroup | ( | String | groupID, |
| String | groupName, | ||
| String | subgroupSeparator ) |
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. |
|
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. |
| juce::AudioProcessorParameterGroup::AudioProcessorParameterGroup | ( | AudioProcessorParameterGroup && | other | ) |
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.
|
default |
Destructor.
|
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.
|
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.
|
private |
|
private |
|
noexcept |
|
noexcept |
|
private |
| Array< const AudioProcessorParameterGroup * > juce::AudioProcessorParameterGroup::getGroupsForParameter | ( | AudioProcessorParameter * | parameter | ) | const |
Searches this group recursively for a parameter and returns a depth ordered list of the groups it belongs to.
| String juce::AudioProcessorParameterGroup::getID | ( | ) | const |
Returns the group's ID.
| String juce::AudioProcessorParameterGroup::getName | ( | ) | const |
Returns the group's name.
|
private |
| Array< AudioProcessorParameter * > juce::AudioProcessorParameterGroup::getParameters | ( | bool | recursive | ) | const |
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. |
|
noexcept |
Returns the parent of the group, or nullptr if this is a top-level group.
| String juce::AudioProcessorParameterGroup::getSeparator | ( | ) | const |
Returns the group's separator string.
|
private |
| Array< const AudioProcessorParameterGroup * > juce::AudioProcessorParameterGroup::getSubgroups | ( | bool | recursive | ) | const |
Returns all subgroups of this group.
| recursive | If this is true then this method will fetch all nested subgroups using a depth first search. |
| AudioProcessorParameterGroup & juce::AudioProcessorParameterGroup::operator= | ( | AudioProcessorParameterGroup && | other | ) |
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.
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.
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |