30 std::function<
void (
float)> parameterChangedCallback,
81template <
typename Callback>
85 const auto newValue =
normalise (newDenormalisedValue);
125 auto convertFrom0To1Function = [range] (
double currentRangeStart,
126 double currentRangeEnd,
127 double normalisedValue)
mutable
129 range.start = (float) currentRangeStart;
130 range.end = (float) currentRangeEnd;
131 return (
double) range.convertFrom0to1 ((
float) normalisedValue);
134 auto convertTo0To1Function = [range] (
double currentRangeStart,
135 double currentRangeEnd,
136 double mappedValue)
mutable
138 range.start = (float) currentRangeStart;
139 range.end = (float) currentRangeEnd;
140 return (
double) range.convertTo0to1 ((
float) mappedValue);
143 auto snapToLegalValueFunction = [range] (
double currentRangeStart,
144 double currentRangeEnd,
145 double mappedValue)
mutable
147 range.start = (float) currentRangeStart;
148 range.end = (float) currentRangeEnd;
149 return (
double) range.snapToLegalValue ((
float) mappedValue);
152 NormalisableRange<double> newRange { (double) range.start,
154 std::move (convertFrom0To1Function),
155 std::move (convertTo0To1Function),
156 std::move (snapToLegalValueFunction) };
158 newRange.skew = range.skew;
159 newRange.symmetricSkew = range.symmetricSkew;
161 slider.setNormalisableRange (newRange);
165 slider.addListener (
this);
170 slider.removeListener (
this);
214 if (index ==
comboBox.getSelectedItemIndex())
226 const auto numItems =
comboBox.getNumItems();
227 const auto selected = (float)
comboBox.getSelectedItemIndex();
228 const auto newValue = numItems > 1 ? selected / (float) (numItems - 1)
242 button.addListener (
this);
247 button.removeListener (
this);
266 attachment.setValueAsCompleteGesture (
button.getToggleState() ? 1.0f : 0.0f);
void triggerAsyncUpdate()
Definition juce_AsyncUpdater.cpp:62
void cancelPendingUpdate() noexcept
Definition juce_AsyncUpdater.cpp:74
virtual float getDefaultValue() const =0
virtual String getText(float normalisedValue, int) const
Definition juce_AudioProcessor.cpp:1607
virtual float getValueForText(const String &text) const =0
Definition juce_ComboBox.h:49
~ComboBoxParameterAttachment() override
Definition juce_ParameterAttachments.cpp:199
RangedAudioParameter & storedParameter
Definition juce_ParameterAttachments.h:206
ParameterAttachment attachment
Definition juce_ParameterAttachments.h:207
void sendInitialUpdate()
Definition juce_ParameterAttachments.cpp:204
ComboBox & comboBox
Definition juce_ParameterAttachments.h:205
bool ignoreCallbacks
Definition juce_ParameterAttachments.h:208
void comboBoxChanged(ComboBox *) override
Definition juce_ParameterAttachments.cpp:221
ComboBoxParameterAttachment(RangedAudioParameter ¶meter, ComboBox &combo, UndoManager *undoManager=nullptr)
Definition juce_ParameterAttachments.cpp:188
void setValue(float newValue)
Definition juce_ParameterAttachments.cpp:209
static MessageManager * getInstance()
Definition juce_MessageManager.cpp:47
ValueType interval
Definition juce_NormalisableRange.h:220
void endGesture()
Definition juce_ParameterAttachments.cpp:76
void setValueAsCompleteGesture(float newDenormalisedValue)
Definition juce_ParameterAttachments.cpp:50
void sendInitialUpdate()
Definition juce_ParameterAttachments.cpp:45
void handleAsyncUpdate() override
Definition juce_ParameterAttachments.cpp:106
RangedAudioParameter & parameter
Definition juce_ParameterAttachments.h:114
float normalise(float f) const
Definition juce_ParameterAttachments.h:105
std::atomic< float > lastValue
Definition juce_ParameterAttachments.h:115
void beginGesture()
Definition juce_ParameterAttachments.cpp:60
void setValueAsPartOfGesture(float newDenormalisedValue)
Definition juce_ParameterAttachments.cpp:68
void parameterValueChanged(int, float) override
Definition juce_ParameterAttachments.cpp:91
~ParameterAttachment() override
Definition juce_ParameterAttachments.cpp:39
UndoManager * undoManager
Definition juce_ParameterAttachments.h:116
void callIfParameterValueChanged(float newDenormalisedValue, Callback &&callback)
Definition juce_ParameterAttachments.cpp:82
ParameterAttachment(RangedAudioParameter ¶meter, std::function< void(float)> parameterChangedCallback, UndoManager *undoManager=nullptr)
Definition juce_ParameterAttachments.cpp:29
std::function< void(float)> setValue
Definition juce_ParameterAttachments.h:117
Definition juce_RangedAudioParameter.h:98
float convertTo0to1(float v) const noexcept
Definition juce_RangedAudioParameter.cpp:39
virtual const NormalisableRange< float > & getNormalisableRange() const =0
float convertFrom0to1(float v) const noexcept
Definition juce_RangedAudioParameter.cpp:45
Definition juce_ScopedValueSetter.h:55
Definition juce_Slider.h:54
void sendInitialUpdate()
Definition juce_ParameterAttachments.cpp:173
void sliderValueChanged(Slider *) override
Definition juce_ParameterAttachments.cpp:181
~SliderParameterAttachment() override
Definition juce_ParameterAttachments.cpp:168
Slider & slider
Definition juce_ParameterAttachments.h:160
bool ignoreCallbacks
Definition juce_ParameterAttachments.h:162
ParameterAttachment attachment
Definition juce_ParameterAttachments.h:161
void setValue(float newValue)
Definition juce_ParameterAttachments.cpp:175
SliderParameterAttachment(RangedAudioParameter ¶meter, Slider &slider, UndoManager *undoManager=nullptr)
Definition juce_ParameterAttachments.cpp:113
Definition juce_String.h:53
Definition juce_UndoManager.h:52
unsigned s
Definition inflate.c:1555
unsigned f
Definition inflate.c:1572
static PuglViewHint int value
Definition pugl.h:1708
Definition carla_juce.cpp:31
@ sendNotificationSync
Definition juce_NotificationType.h:35
int roundToInt(const FloatType value) noexcept
Definition juce_MathsFunctions.h:465
@ slider
Definition juce_AccessibilityRole.h:43
@ comboBox
Definition juce_AccessibilityRole.h:41
@ button
Definition juce_AccessibilityRole.h:38
Definition juce_Uuid.h:141
const char * text
Definition swell-functions.h:167
RECT const char void(* callback)(const char *droppath))) SWELL_API_DEFINE(BOOL
Definition swell-functions.h:1004
return c
Definition crypt.c:175