diff --git a/Source/PS_Source/globals.h b/Source/PS_Source/globals.h index 9fafdc8..fa328c3 100644 --- a/Source/PS_Source/globals.h +++ b/Source/PS_Source/globals.h @@ -377,3 +377,11 @@ private: double m_slope; double m_sr = 0.0; }; + +template +inline std::unique_ptr makeAddAndMakeVisible(Component& parent, Args&&... args) +{ + auto temp = std::make_unique(args...); + parent.addAndMakeVisible(temp.get()); + return std::move(temp); +} \ No newline at end of file diff --git a/Source/PluginEditor.cpp b/Source/PluginEditor.cpp index 89c43d6..2466400 100644 --- a/Source/PluginEditor.cpp +++ b/Source/PluginEditor.cpp @@ -1182,7 +1182,7 @@ ParameterComponent::ParameterComponent(AudioProcessorParameter * par, bool notif AudioParameterFloat* floatpar = dynamic_cast(par); if (floatpar) { - m_slider = makeAddAndMakeVisible(&floatpar->range); + m_slider = makeAddAndMakeVisible(*this,&floatpar->range); m_notify_only_on_release = notifyOnlyOnRelease; m_slider->setRange(floatpar->range.start, floatpar->range.end, floatpar->range.interval); m_slider->setValue(*floatpar, dontSendNotification); @@ -1192,7 +1192,7 @@ ParameterComponent::ParameterComponent(AudioProcessorParameter * par, bool notif AudioParameterInt* intpar = dynamic_cast(par); if (intpar) { - m_slider = makeAddAndMakeVisible(); + m_slider = makeAddAndMakeVisible(*this); m_notify_only_on_release = notifyOnlyOnRelease; m_slider->setRange(intpar->getRange().getStart(), intpar->getRange().getEnd(), 1.0); m_slider->setValue(*intpar, dontSendNotification);