Browse Source

GenericAudioProcessorEditor: Update parameter names when AudioProcessor changes

v6.1.6
reuk 4 years ago
parent
commit
07ca7ae13b
No known key found for this signature in database GPG Key ID: 9ADCD339CFC98A11
1 changed files with 30 additions and 1 deletions
  1. +30
    -1
      modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp

+ 30
- 1
modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp View File

@@ -406,12 +406,16 @@ private:
};
//==============================================================================
class ParameterDisplayComponent : public Component
class ParameterDisplayComponent : public Component,
private AudioProcessorListener,
private AsyncUpdater
{
public:
ParameterDisplayComponent (AudioProcessorEditor& editorIn, AudioProcessorParameter& param)
: editor (editorIn), parameter (param)
{
editor.processor.addListener (this);
parameterName.setText (parameter.getName (128), dontSendNotification);
parameterName.setJustificationType (Justification::centredRight);
parameterName.setInterceptsMouseClicks (false, false);
@@ -426,6 +430,12 @@ public:
setSize (400, 40);
}
~ParameterDisplayComponent() override
{
cancelPendingUpdate();
editor.processor.removeListener (this);
}
void resized() override
{
auto area = getLocalBounds();
@@ -479,6 +489,25 @@ private:
return std::make_unique<SliderParameterComponent> (processor, parameter);
}
void audioProcessorParameterChanged (AudioProcessor*, int, float) override {}
void audioProcessorChanged (AudioProcessor*, const ChangeDetails& details) override
{
if (! details.parameterInfoChanged)
return;
if (MessageManager::getInstance()->isThisTheMessageThread())
handleAsyncUpdate();
else
triggerAsyncUpdate();
}
void handleAsyncUpdate() override
{
parameterName .setText (parameter.getName (128), dontSendNotification);
parameterLabel.setText (parameter.getLabel(), dontSendNotification);
}
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ParameterDisplayComponent)
};


Loading…
Cancel
Save