LMMS
Loading...
Searching...
No Matches
juce_AudioProcessorParameterWithID.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
33{
34public:
35 ParameterID() = default;
36
47 template <typename StringLike, typename = DisableIfSameOrDerived<ParameterID, StringLike>>
48 ParameterID (StringLike&& identifier, int versionHint = 0)
49 : paramID (std::forward<StringLike> (identifier)), version (versionHint) {}
50
52 auto getParamID() const { return paramID; }
53
55 auto getVersionHint() const { return version; }
56
57private:
59 int version = 0;
60};
61
67{
69
70public:
72
74 JUCE_NODISCARD auto withLabel (String x) const { return withMember (*this, &This::label, std::move (x)); }
75
77 JUCE_NODISCARD auto withCategory (Category x) const { return withMember (*this, &This::category, std::move (x)); }
78
80 JUCE_NODISCARD auto withMeta (bool x) const { return withMember (*this, &This::meta, std::move (x)); }
81
83 JUCE_NODISCARD auto withAutomatable (bool x) const { return withMember (*this, &This::automatable, std::move (x)); }
84
86 JUCE_NODISCARD auto withInverted (bool x) const { return withMember (*this, &This::inverted, std::move (x)); }
87
89 JUCE_NODISCARD auto getLabel() const { return label; }
90
92 JUCE_NODISCARD auto getCategory() const { return category; }
93
95 JUCE_NODISCARD auto getMeta() const { return meta; }
96
98 JUCE_NODISCARD auto getAutomatable() const { return automatable; }
99
101 JUCE_NODISCARD auto getInverted() const { return inverted; }
102
103private:
106 bool meta = false, automatable = true, inverted = false;
107};
108
109//==============================================================================
118{
119public:
136 AudioProcessorParameterWithID (const ParameterID& parameterID,
137 const String& parameterName,
138 const AudioProcessorParameterWithIDAttributes& attributes = {});
139
148 [[deprecated ("Prefer the signature taking an Attributes argument")]]
150 const String& parameterName,
151 const String& parameterLabel,
153 : AudioProcessorParameterWithID (parameterID,
154 parameterName,
155 AudioProcessorParameterWithIDAttributes().withLabel (parameterLabel)
156 .withCategory (parameterCategory))
157 {
158 }
159
162
165
168
171
172 String getName (int) const override;
173 String getLabel() const override;
174 Category getCategory() const override;
175
176 String getParameterID() const override { return paramID; }
177 bool isMetaParameter() const override { return meta; }
178 bool isAutomatable() const override { return automatable; }
179 bool isOrientationInverted() const override { return inverted; }
180
181private:
182 bool meta = false, automatable = true, inverted = false;
183
185};
186
187} // namespace juce
Category
Definition juce_AudioProcessorParameter.h:231
@ genericParameter
Definition juce_AudioProcessorParameter.h:232
Definition juce_AudioProcessorParameterWithID.h:67
JUCE_NODISCARD auto withMeta(bool x) const
Definition juce_AudioProcessorParameterWithID.h:80
JUCE_NODISCARD auto withLabel(String x) const
Definition juce_AudioProcessorParameterWithID.h:74
JUCE_NODISCARD auto getAutomatable() const
Definition juce_AudioProcessorParameterWithID.h:98
AudioProcessorParameterWithIDAttributes This
Definition juce_AudioProcessorParameterWithID.h:68
Category category
Definition juce_AudioProcessorParameterWithID.h:105
JUCE_NODISCARD auto getInverted() const
Definition juce_AudioProcessorParameterWithID.h:101
AudioProcessorParameter::Category Category
Definition juce_AudioProcessorParameterWithID.h:71
bool meta
Definition juce_AudioProcessorParameterWithID.h:106
bool inverted
Definition juce_AudioProcessorParameterWithID.h:106
JUCE_NODISCARD auto getLabel() const
Definition juce_AudioProcessorParameterWithID.h:89
JUCE_NODISCARD auto withAutomatable(bool x) const
Definition juce_AudioProcessorParameterWithID.h:83
JUCE_NODISCARD auto getCategory() const
Definition juce_AudioProcessorParameterWithID.h:92
bool automatable
Definition juce_AudioProcessorParameterWithID.h:106
JUCE_NODISCARD auto getMeta() const
Definition juce_AudioProcessorParameterWithID.h:95
JUCE_NODISCARD auto withCategory(Category x) const
Definition juce_AudioProcessorParameterWithID.h:77
String label
Definition juce_AudioProcessorParameterWithID.h:104
JUCE_NODISCARD auto withInverted(bool x) const
Definition juce_AudioProcessorParameterWithID.h:86
bool isOrientationInverted() const override
Definition juce_AudioProcessorParameterWithID.h:179
AudioProcessorParameterWithID(const ParameterID &parameterID, const String &parameterName, const String &parameterLabel, Category parameterCategory=AudioProcessorParameter::genericParameter)
Definition juce_AudioProcessorParameterWithID.h:149
const String label
Definition juce_AudioProcessorParameterWithID.h:167
const String name
Definition juce_AudioProcessorParameterWithID.h:164
AudioProcessorParameterWithID(const ParameterID &parameterID, const String &parameterName, const AudioProcessorParameterWithIDAttributes &attributes={})
Definition juce_AudioProcessorParameterWithID.cpp:29
Category getCategory() const override
Definition juce_AudioProcessorParameterWithID.cpp:45
String getParameterID() const override
Definition juce_AudioProcessorParameterWithID.h:176
bool isAutomatable() const override
Definition juce_AudioProcessorParameterWithID.h:178
const String paramID
Definition juce_AudioProcessorParameterWithID.h:161
String getLabel() const override
Definition juce_AudioProcessorParameterWithID.cpp:44
const Category category
Definition juce_AudioProcessorParameterWithID.h:170
String getName(int) const override
Definition juce_AudioProcessorParameterWithID.cpp:43
bool inverted
Definition juce_AudioProcessorParameterWithID.h:182
bool automatable
Definition juce_AudioProcessorParameterWithID.h:182
bool isMetaParameter() const override
Definition juce_AudioProcessorParameterWithID.h:177
bool meta
Definition juce_AudioProcessorParameterWithID.h:182
Definition juce_AudioProcessorParameterWithID.h:33
ParameterID()=default
String paramID
Definition juce_AudioProcessorParameterWithID.h:58
ParameterID(StringLike &&identifier, int versionHint=0)
Definition juce_AudioProcessorParameterWithID.h:48
int version
Definition juce_AudioProcessorParameterWithID.h:59
auto getParamID() const
Definition juce_AudioProcessorParameterWithID.h:52
auto getVersionHint() const
Definition juce_AudioProcessorParameterWithID.h:55
Definition juce_String.h:53
unsigned x[BMAX+1]
Definition inflate.c:1586
#define JUCE_NODISCARD
Definition juce_CompilerSupport.h:108
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
Object withMember(Object copy, Member OtherObject::*member, Member &&value)
Definition juce_Functional.h:89
Definition juce_Uuid.h:141
Definition juce_HostedAudioProcessorParameter.h:36