30 int minValue,
int maxValue,
int def,
32 :
RangedAudioParameter (idToUse, nameToUse, attributes.getAudioProcessorParameterWithIDAttributes()),
33 range ([minValue, maxValue]
40 return rangeWithInterval;
43 defaultValue (convertTo0to1 ((
float) def)),
44 stringFromIntFunction (attributes.getStringFromValueFunction() !=
nullptr
45 ? attributes.getStringFromValueFunction()
46 : [] (
int v,
int) { return String (v); }),
47 intFromStringFunction (attributes.getValueFromStringFunction() !=
nullptr
48 ? attributes.getValueFromStringFunction()
49 : [] (
const String&
text) { return text.getIntValue(); })
56 #if __cpp_lib_atomic_is_always_lock_free
57 static_assert (std::atomic<float>::is_always_lock_free,
58 "AudioParameterInt requires a lock-free std::atomic<float>");
72 if (
get() != newValue)
83struct AudioParameterIntTests :
public UnitTest
85 AudioParameterIntTests()
89 void runTest()
override
91 beginTest (
"Three options switches at the correct points");
93 AudioParameterInt intParam ({}, {}, 1, 3, 1);
95 intParam.setValueNotifyingHost (0.0f);
96 expectEquals (intParam.get(), 1);
98 intParam.setValueNotifyingHost (0.2f);
99 expectEquals (intParam.get(), 1);
101 intParam.setValueNotifyingHost (0.3f);
102 expectEquals (intParam.get(), 2);
104 intParam.setValueNotifyingHost (0.7f);
105 expectEquals (intParam.get(), 2);
107 intParam.setValueNotifyingHost (0.8f);
108 expectEquals (intParam.get(), 3);
110 intParam.setValueNotifyingHost (1.0f);
111 expectEquals (intParam.get(), 3);
114 beginTest (
"Out-of-bounds input");
116 AudioParameterInt intParam ({}, {}, -1, 2, 0);
118 intParam.setValueNotifyingHost (-0.5f);
119 expectEquals (intParam.get(), -1);
121 intParam.setValueNotifyingHost (1.5f);
122 expectEquals (intParam.get(), 2);
125 expectEquals (intParam.get(), -1);
128 expectEquals (intParam.get(), 2);
133static AudioParameterIntTests audioParameterIntTests;
Definition juce_AudioParameterInt.h:33
AudioParameterInt(const ParameterID ¶meterID, const String ¶meterName, int minValue, int maxValue, int defaultValue, const AudioParameterIntAttributes &attributes={})
Definition juce_AudioParameterInt.cpp:29
float getValueForText(const String &) const override
Definition juce_AudioParameterInt.cpp:66
float getDefaultValue() const override
Definition juce_AudioParameterInt.cpp:64
int getNumSteps() const override
Definition juce_AudioParameterInt.cpp:65
int get() const noexcept
Definition juce_AudioParameterInt.h:112
std::function< String(int, int)> stringFromIntFunction
Definition juce_AudioParameterInt.h:146
std::function< int(const String &)> intFromStringFunction
Definition juce_AudioParameterInt.h:147
float getValue() const override
Definition juce_AudioParameterInt.cpp:62
const NormalisableRange< float > & getNormalisableRange() const override
Definition juce_AudioParameterInt.h:126
void setValue(float newValue) override
Definition juce_AudioParameterInt.cpp:63
~AudioParameterInt() override
Definition juce_AudioParameterInt.cpp:54
virtual void valueChanged(int newValue)
Definition juce_AudioParameterInt.cpp:68
String getText(float, int) const override
Definition juce_AudioParameterInt.cpp:67
std::atomic< float > value
Definition juce_AudioParameterInt.h:144
const float defaultValue
Definition juce_AudioParameterInt.h:145
Range< int > getRange() const noexcept
Definition juce_AudioParameterInt.h:123
const NormalisableRange< float > range
Definition juce_AudioParameterInt.h:143
void setValueNotifyingHost(float newValue)
Definition juce_AudioProcessor.cpp:1517
Definition juce_NormalisableRange.h:40
ValueType interval
Definition juce_NormalisableRange.h:220
Definition juce_AudioProcessorParameterWithID.h:33
Definition juce_RangedAudioParameter.h:98
float convertTo0to1(float v) const noexcept
Definition juce_RangedAudioParameter.cpp:39
float convertFrom0to1(float v) const noexcept
Definition juce_RangedAudioParameter.cpp:45
Definition juce_String.h:53
Definition juce_UnitTest.h:70
unsigned v[N_MAX]
Definition inflate.c:1584
static PuglViewHint int value
Definition pugl.h:1708
virtual ASIOError start()=0
Definition juce_UnitTestCategories.h:27
Definition carla_juce.cpp:31
RangedDirectoryIterator end(const RangedDirectoryIterator &)
Definition juce_RangedDirectoryIterator.h:184
Type jlimit(Type lowerLimit, Type upperLimit, Type valueToConstrain) noexcept
Definition juce_MathsFunctions.h:262
int roundToInt(const FloatType value) noexcept
Definition juce_MathsFunctions.h:465
png_uint_32 length
Definition png.c:2247
const char * text
Definition swell-functions.h:167