LMMS
Loading...
Searching...
No Matches
juce_AudioProcessorParameter.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
29class AudioProcessor;
30
31//==============================================================================
40{
41public:
43
92 explicit AudioProcessorParameter (int versionHint)
93 : version (versionHint) {}
94
97
106 virtual float getValue() const = 0;
107
122 virtual void setValue (float newValue) = 0;
123
134 void setValueNotifyingHost (float newValue);
135
142 void beginChangeGesture();
143
149 void endChangeGesture();
150
152 virtual float getDefaultValue() const = 0;
153
157 virtual String getName (int maximumStringLength) const = 0;
158
162 virtual String getLabel() const = 0;
163
177 virtual int getNumSteps() const;
178
188 virtual bool isDiscrete() const;
189
200 virtual bool isBoolean() const;
201
207 virtual String getText (float normalisedValue, int /*maximumStringLength*/) const;
208
210 virtual float getValueForText (const String& text) const = 0;
211
216 virtual bool isOrientationInverted() const;
217
221 virtual bool isAutomatable() const;
222
228 virtual bool isMetaParameter() const;
229
231 {
232 genericParameter = (0 << 16) | 0,
233
234 inputGain = (1 << 16) | 0,
235 outputGain = (1 << 16) | 1,
236
242 inputMeter = (2 << 16) | 0,
243 outputMeter = (2 << 16) | 1,
246 analysisMeter = (2 << 16) | 4,
247 otherMeter = (2 << 16) | 5
248 };
249
251 virtual Category getCategory() const;
252
255
256 //==============================================================================
266 virtual String getCurrentValueAsText() const;
267
276 virtual StringArray getAllValueStrings() const;
277
278 //==============================================================================
280 int getVersionHint() const { return version; }
281
282 //==============================================================================
294 {
295 public:
297 virtual ~Listener() = default;
298
308 virtual void parameterValueChanged (int parameterIndex, float newValue) = 0;
309
323 virtual void parameterGestureChanged (int parameterIndex, bool gestureIsStarting) = 0;
324 };
325
331 void addListener (Listener* newListener);
332
337 void removeListener (Listener* listener);
338
339 //==============================================================================
341 void sendValueChangedMessageToListeners (float newValue);
342
343private:
344 //==============================================================================
345 friend class AudioProcessor;
349 int version = 0;
353
354 #if JUCE_DEBUG
355 bool isPerformingGesture = false;
356 #endif
357
359};
360
361} // namespace juce
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_Array.h:56
Definition juce_AudioProcessorParameter.h:294
virtual void parameterValueChanged(int parameterIndex, float newValue)=0
virtual void parameterGestureChanged(int parameterIndex, bool gestureIsStarting)=0
Definition juce_AudioProcessorParameter.h:40
virtual float getValue() const =0
StringArray valueStrings
Definition juce_AudioProcessorParameter.h:352
void sendValueChangedMessageToListeners(float newValue)
Definition juce_AudioProcessor.cpp:1581
virtual String getLabel() const =0
virtual float getDefaultValue() const =0
virtual String getText(float normalisedValue, int) const
Definition juce_AudioProcessor.cpp:1607
virtual int getNumSteps() const
Definition juce_AudioProcessor.cpp:1603
virtual bool isMetaParameter() const
Definition juce_AudioProcessor.cpp:1601
int parameterIndex
Definition juce_AudioProcessorParameter.h:348
virtual void setValue(float newValue)=0
virtual bool isAutomatable() const
Definition juce_AudioProcessor.cpp:1600
friend class AudioProcessor
Definition juce_AudioProcessorParameter.h:345
int version
Definition juce_AudioProcessorParameter.h:349
void beginChangeGesture()
Definition juce_AudioProcessor.cpp:1523
void removeListener(Listener *listener)
Definition juce_AudioProcessor.cpp:1636
Array< Listener * > listeners
Definition juce_AudioProcessorParameter.h:351
Category
Definition juce_AudioProcessorParameter.h:231
@ otherMeter
Definition juce_AudioProcessorParameter.h:247
@ expanderGateGainReductionMeter
Definition juce_AudioProcessorParameter.h:245
@ inputMeter
Definition juce_AudioProcessorParameter.h:242
@ outputMeter
Definition juce_AudioProcessorParameter.h:243
@ compressorLimiterGainReductionMeter
Definition juce_AudioProcessorParameter.h:244
@ genericParameter
Definition juce_AudioProcessorParameter.h:232
@ outputGain
Definition juce_AudioProcessorParameter.h:235
@ analysisMeter
Definition juce_AudioProcessorParameter.h:246
@ inputGain
Definition juce_AudioProcessorParameter.h:234
void setValueNotifyingHost(float newValue)
Definition juce_AudioProcessor.cpp:1517
void endChangeGesture()
Definition juce_AudioProcessor.cpp:1552
CriticalSection listenerLock
Definition juce_AudioProcessorParameter.h:350
virtual bool isDiscrete() const
Definition juce_AudioProcessor.cpp:1604
virtual bool isOrientationInverted() const
Definition juce_AudioProcessor.cpp:1599
void addListener(Listener *newListener)
Definition juce_AudioProcessor.cpp:1630
AudioProcessor * processor
Definition juce_AudioProcessorParameter.h:347
int getParameterIndex() const noexcept
Definition juce_AudioProcessorParameter.h:254
AudioProcessorParameter() noexcept=default
virtual bool isBoolean() const
Definition juce_AudioProcessor.cpp:1605
virtual float getValueForText(const String &text) const =0
friend class LegacyAudioParameter
Definition juce_AudioProcessorParameter.h:346
int getVersionHint() const
Definition juce_AudioProcessorParameter.h:280
virtual String getName(int maximumStringLength) const =0
Definition juce_CriticalSection.h:43
Definition juce_StringArray.h:35
Definition juce_String.h:53
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
const char * text
Definition swell-functions.h:167
#define const
Definition zconf.h:137