72 if (index ==
parameter.getParameterIndex())
127 area.removeFromLeft (8);
128 button.setBounds (area.reduced (0, 10));
163 button.setRadioGroupId (293847);
164 button.setClickingTogglesState (
true);
188 area.removeFromLeft (8);
191 button.setBounds (area.removeFromLeft (80));
198 if (
buttons[1].getToggleState() != newState)
208 auto buttonState =
buttons[1].getToggleState();
216 getParameter().setValueNotifyingHost (buttonState ? 1.0f : 0.0f);
225 auto selectedText =
buttons[buttonState ? 1 : 0].getButtonText();
278 area.removeFromLeft (8);
279 box.setBounds (area.reduced (0, 10));
294 box.setSelectedItemIndex (index);
328 slider.setRange (0.0, 1.0);
332 slider.setScrollWheelEnabled (
false);
354 valueLabel.setBounds (area.removeFromRight (80));
356 area.removeFromLeft (6);
377 auto newVal = (float)
slider.getValue();
420 editor.processor.addListener (
this);
439 editor.processor.removeListener (
this);
453 if (
e.mods.isRightButtonDown())
454 if (
auto* context =
editor.getHostContext())
455 if (
auto menu = context->getContextMenuForParameter (&
parameter))
456 menu->getEquivalentPopupMenu().showMenuAsync (
PopupMenu::Options().withTargetComponent (
this)
457 .withMousePosition());
473 return std::make_unique<BooleanParameterComponent> (processor,
parameter);
477 return std::make_unique<SwitchParameterComponent> (processor,
parameter);
482 if (!
parameter.getAllValueStrings().isEmpty()
484 return std::make_unique<ChoiceParameterComponent> (processor,
parameter);
487 return std::make_unique<SliderParameterComponent> (processor,
parameter);
509 p->handleNewParameterValue();
525 return std::make_unique<ParameterDisplayComponent> (
editor,
param);
539 for (
auto* node :
group)
541 if (
auto* param = node->getParameter())
542 if (param->isAutomatable())
545 if (
auto* inner = node->getGroup())
547 auto groupItem = std::make_unique<ParameterGroupItem> (editor, *inner);
549 if (groupItem->getNumSubItems() != 0)
559 return std::make_unique<Label> (
name,
name);
573 const auto width = 400 +
view.getIndentSize() * numIndents;
576 view.setDefaultOpenness (
true);
577 view.setRootItemVisible (
false);
600 auto* viewport =
pimpl->view.getViewport();
606 setSize (viewport->getViewedComponent()->getWidth() + viewport->getVerticalScrollBar().getWidth(),
607 jlimit (125, 400, viewport->getViewedComponent()->getHeight()));
#define noexcept
Definition DistrhoDefines.h:72
void triggerAsyncUpdate()
Definition juce_AsyncUpdater.cpp:62
void cancelPendingUpdate() noexcept
Definition juce_AsyncUpdater.cpp:74
AsyncUpdater()
Definition juce_AsyncUpdater.cpp:44
Definition juce_AudioProcessorEditor.h:43
AudioProcessorEditor(AudioProcessor &) noexcept
Definition juce_AudioProcessorEditor.cpp:29
void setResizable(bool allowHostToResize, bool useBottomRightCornerResizer)
Definition juce_AudioProcessorEditor.cpp:63
AudioProcessor & processor
Definition juce_AudioProcessorEditor.h:58
Definition juce_AudioProcessor.h:46
static int getDefaultNumParameterSteps() noexcept
Definition juce_AudioProcessor.cpp:573
Definition juce_AudioProcessorListener.h:40
Definition juce_AudioProcessorParameter.h:294
Definition juce_AudioProcessorParameterGroup.h:42
Definition juce_AudioProcessorParameter.h:40
virtual float getDefaultValue() const =0
void buttonClicked()
Definition juce_GenericAudioProcessorEditor.cpp:137
void resized() override
Definition juce_GenericAudioProcessorEditor.cpp:124
ToggleButton button
Definition juce_GenericAudioProcessorEditor.cpp:149
void handleNewParameterValue() override
Definition juce_GenericAudioProcessorEditor.cpp:131
bool isParameterOn() const
Definition juce_GenericAudioProcessorEditor.cpp:147
BooleanParameterComponent(AudioProcessor &proc, AudioProcessorParameter ¶m)
Definition juce_GenericAudioProcessorEditor.cpp:111
void paint(Graphics &) override
Definition juce_GenericAudioProcessorEditor.cpp:122
void resized() override
Definition juce_GenericAudioProcessorEditor.cpp:275
const StringArray parameterValues
Definition juce_GenericAudioProcessorEditor.cpp:313
void handleNewParameterValue() override
Definition juce_GenericAudioProcessorEditor.cpp:283
void boxChanged()
Definition juce_GenericAudioProcessorEditor.cpp:297
ComboBox box
Definition juce_GenericAudioProcessorEditor.cpp:312
ChoiceParameterComponent(AudioProcessor &proc, AudioProcessorParameter ¶m)
Definition juce_GenericAudioProcessorEditor.cpp:260
void paint(Graphics &) override
Definition juce_GenericAudioProcessorEditor.cpp:273
Definition juce_ComboBox.h:49
void addAndMakeVisible(Component *child, int zOrder=-1)
Definition juce_Component.cpp:1554
void setOpaque(bool shouldBeOpaque)
Definition juce_Component.cpp:829
Component() noexcept
Definition juce_Component.cpp:517
void setSize(int newWidth, int newHeight)
Definition juce_Component.cpp:1262
Colour findColour(int colourID, bool inheritFromParent=false) const
Definition juce_Component.cpp:2219
LookAndFeel & getLookAndFeel() const noexcept
Definition juce_Component.cpp:2173
Rectangle< int > getLocalBounds() const noexcept
Definition juce_Component.cpp:2283
std::unique_ptr< Pimpl > pimpl
Definition juce_GenericAudioProcessorEditor.h:60
~GenericAudioProcessorEditor() override
GenericAudioProcessorEditor(AudioProcessor &)
Definition juce_GenericAudioProcessorEditor.cpp:597
void paint(Graphics &) override
Definition juce_GenericAudioProcessorEditor.cpp:612
void resized() override
Definition juce_GenericAudioProcessorEditor.cpp:617
Definition juce_GraphicsContext.h:45
@ centredRight
Definition juce_Justification.h:148
@ centred
Definition juce_Justification.h:138
Definition juce_Label.h:41
@ outlineColourId
Definition juce_Label.h:108
Definition juce_LegacyAudioParameter.cpp:33
Definition juce_LegacyAudioParameter.cpp:121
static MessageManager * getInstance()
Definition juce_MessageManager.cpp:47
Definition juce_MouseEvent.h:39
Definition juce_GenericAudioProcessorEditor.cpp:102
ParameterListener(AudioProcessor &proc, AudioProcessorParameter ¶m)
Definition juce_GenericAudioProcessorEditor.cpp:34
Definition juce_GenericAudioProcessorEditor.cpp:415
void handleAsyncUpdate() override
Definition juce_GenericAudioProcessorEditor.cpp:503
Label parameterName
Definition juce_GenericAudioProcessorEditor.cpp:463
void resized() override
Definition juce_GenericAudioProcessorEditor.cpp:442
~ParameterDisplayComponent() override
Definition juce_GenericAudioProcessorEditor.cpp:436
Label parameterLabel
Definition juce_GenericAudioProcessorEditor.cpp:463
AudioProcessorEditor & editor
Definition juce_GenericAudioProcessorEditor.cpp:461
std::unique_ptr< ParameterComponent > parameterComp
Definition juce_GenericAudioProcessorEditor.cpp:464
void audioProcessorChanged(AudioProcessor *, const ChangeDetails &details) override
Definition juce_GenericAudioProcessorEditor.cpp:492
void audioProcessorParameterChanged(AudioProcessor *, int, float) override
Definition juce_GenericAudioProcessorEditor.cpp:490
AudioProcessorParameter & parameter
Definition juce_GenericAudioProcessorEditor.cpp:462
std::unique_ptr< ParameterComponent > createParameterComp(AudioProcessor &processor) const
Definition juce_GenericAudioProcessorEditor.cpp:466
ParameterDisplayComponent(AudioProcessorEditor &editorIn, AudioProcessorParameter ¶m)
Definition juce_GenericAudioProcessorEditor.cpp:417
void mouseDown(const MouseEvent &e) override
Definition juce_GenericAudioProcessorEditor.cpp:451
~ParameterListener() override
Definition juce_GenericAudioProcessorEditor.cpp:45
AudioProcessorParameter & parameter
Definition juce_GenericAudioProcessorEditor.cpp:93
void audioProcessorParameterChanged(AudioProcessor *, int index, float) override
Definition juce_GenericAudioProcessorEditor.cpp:70
void timerCallback() override
Definition juce_GenericAudioProcessorEditor.cpp:79
void audioProcessorChanged(AudioProcessor *, const ChangeDetails &) override
Definition juce_GenericAudioProcessorEditor.cpp:76
AudioProcessorParameter & getParameter() const noexcept
Definition juce_GenericAudioProcessorEditor.cpp:53
void parameterValueChanged(int, float) override
Definition juce_GenericAudioProcessorEditor.cpp:62
Atomic< int > parameterValueHasChanged
Definition juce_GenericAudioProcessorEditor.cpp:94
AudioProcessor & processor
Definition juce_GenericAudioProcessorEditor.cpp:92
ParameterListener(AudioProcessor &proc, AudioProcessorParameter ¶m)
Definition juce_GenericAudioProcessorEditor.cpp:34
const bool isLegacyParam
Definition juce_GenericAudioProcessorEditor.cpp:95
void parameterGestureChanged(int, bool) override
Definition juce_GenericAudioProcessorEditor.cpp:67
virtual void handleNewParameterValue()=0
@ backgroundColourId
Definition juce_ResizableWindow.h:312
Definition juce_Slider.h:54
@ LinearHorizontal
Definition juce_Slider.h:63
@ textBoxOutlineColourId
Definition juce_Slider.h:876
@ NoTextBox
Definition juce_Slider.h:95
SliderParameterComponent(AudioProcessor &proc, AudioProcessorParameter ¶m)
Definition juce_GenericAudioProcessorEditor.cpp:322
bool isDragging
Definition juce_GenericAudioProcessorEditor.cpp:406
void updateTextDisplay()
Definition juce_GenericAudioProcessorEditor.cpp:370
void sliderStoppedDragging()
Definition juce_GenericAudioProcessorEditor.cpp:398
void sliderValueChanged()
Definition juce_GenericAudioProcessorEditor.cpp:375
void handleNewParameterValue() override
Definition juce_GenericAudioProcessorEditor.cpp:360
Slider slider
Definition juce_GenericAudioProcessorEditor.cpp:404
void sliderStartedDragging()
Definition juce_GenericAudioProcessorEditor.cpp:392
void paint(Graphics &) override
Definition juce_GenericAudioProcessorEditor.cpp:348
void resized() override
Definition juce_GenericAudioProcessorEditor.cpp:350
Label valueLabel
Definition juce_GenericAudioProcessorEditor.cpp:405
Definition juce_StringArray.h:35
Definition juce_String.h:53
SwitchParameterComponent(AudioProcessor &proc, AudioProcessorParameter ¶m)
Definition juce_GenericAudioProcessorEditor.cpp:158
void handleNewParameterValue() override
Definition juce_GenericAudioProcessorEditor.cpp:194
TextButton buttons[2]
Definition juce_GenericAudioProcessorEditor.cpp:251
void paint(Graphics &) override
Definition juce_GenericAudioProcessorEditor.cpp:183
void resized() override
Definition juce_GenericAudioProcessorEditor.cpp:185
void rightButtonChanged()
Definition juce_GenericAudioProcessorEditor.cpp:206
bool isParameterOn() const
Definition juce_GenericAudioProcessorEditor.cpp:233
Definition juce_TextButton.h:39
int getTimerInterval() const noexcept
Definition juce_Timer.h:116
Timer() noexcept
Definition juce_Timer.cpp:316
void startTimerHz(int timerFrequencyHz) noexcept
Definition juce_Timer.cpp:349
void startTimer(int intervalInMilliseconds) noexcept
Definition juce_Timer.cpp:332
Definition juce_TreeView.h:657
Definition juce_TreeView.h:48
int getNumSubItems() const noexcept
Definition juce_TreeView.cpp:1493
TreeViewItem()
Definition juce_TreeView.cpp:1472
void addSubItem(TreeViewItem *newItem, int insertPosition=-1)
Definition juce_TreeView.cpp:1525
TreeViewItem * getSubItem(int index) const noexcept
Definition juce_TreeView.cpp:1498
* e
Definition inflate.c:1404
int g
Definition inflate.c:1573
register unsigned i
Definition inflate.c:1575
static int width
Definition pugl.h:1593
Definition carla_juce.cpp:31
constexpr Type jmin(Type a, Type b)
Definition juce_MathsFunctions.h:106
constexpr Type jmax(Type a, Type b)
Definition juce_MathsFunctions.h:94
Type jlimit(Type lowerLimit, Type upperLimit, Type valueToConstrain) noexcept
Definition juce_MathsFunctions.h:262
@ dontSendNotification
Definition juce_NotificationType.h:33
int roundToInt(const FloatType value) noexcept
Definition juce_MathsFunctions.h:465
@ button
Definition juce_AccessibilityRole.h:38
@ group
Definition juce_AccessibilityRole.h:61
Definition juce_Uuid.h:141
#define false
Definition ordinals.h:83
Definition juce_Atomic.h:42
Definition juce_AudioProcessorListener.h:63
bool parameterInfoChanged
Definition juce_AudioProcessorListener.h:67
Definition juce_GenericAudioProcessorEditor.cpp:567
ParameterGroupItem groupItem
Definition juce_GenericAudioProcessorEditor.cpp:592
Pimpl(AudioProcessorEditor &editor)
Definition juce_GenericAudioProcessorEditor.cpp:568
LegacyAudioParametersWrapper legacyParameters
Definition juce_GenericAudioProcessorEditor.cpp:591
TreeView view
Definition juce_GenericAudioProcessorEditor.cpp:593
static int getNumIndents(const TreeViewItem &item)
Definition juce_GenericAudioProcessorEditor.cpp:581
Definition juce_GenericAudioProcessorEditor.cpp:517
AudioProcessorParameter & param
Definition juce_GenericAudioProcessorEditor.cpp:531
AudioProcessorEditor & editor
Definition juce_GenericAudioProcessorEditor.cpp:530
bool mightContainSubItems() override
Definition juce_GenericAudioProcessorEditor.cpp:521
std::unique_ptr< Component > createItemComponent() override
Definition juce_GenericAudioProcessorEditor.cpp:523
ParamControlItem(AudioProcessorEditor &editorIn, AudioProcessorParameter ¶mIn)
Definition juce_GenericAudioProcessorEditor.cpp:518
int getItemHeight() const override
Definition juce_GenericAudioProcessorEditor.cpp:528
Definition juce_GenericAudioProcessorEditor.cpp:535
std::unique_ptr< Component > createItemComponent() override
Definition juce_GenericAudioProcessorEditor.cpp:557
String name
Definition juce_GenericAudioProcessorEditor.cpp:562
bool mightContainSubItems() override
Definition juce_GenericAudioProcessorEditor.cpp:555
ParameterGroupItem(AudioProcessorEditor &editor, const AudioProcessorParameterGroup &group)
Definition juce_GenericAudioProcessorEditor.cpp:536
uch * p
Definition crypt.c:594
#define const
Definition zconf.h:137