gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

commit 610d816057afe0a221f3b358114487c4c5739717
parent 4ade67099bd718e77a41ccca6021212d1c158aee
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date:   Sun, 20 Mar 2022 17:09:58 +0100

ensure that the plugin doesn't crash if a skin fails to load or if skins are switched

Diffstat:
Msource/jucePlugin/PluginEditor.cpp | 1+
Msource/jucePlugin/ui3/VirusEditor.cpp | 7+++++++
Msource/jucePlugin/ui3/VirusEditor.h | 1+
3 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/source/jucePlugin/PluginEditor.cpp b/source/jucePlugin/PluginEditor.cpp @@ -52,6 +52,7 @@ void AudioPluginAudioProcessorEditor::loadSkin(int index) auto* errorLabel = new juce::Label(); errorLabel->setText(juce::String("Failed to load editor\n\n") + _err.what(), juce::dontSendNotification); + errorLabel->setFont(juce::Font(juce::Font::getDefaultSansSerifFontName(), 36, 0)); errorLabel->setJustificationType(juce::Justification::centred); errorLabel->setSize(400, 300); diff --git a/source/jucePlugin/ui3/VirusEditor.cpp b/source/jucePlugin/ui3/VirusEditor.cpp @@ -117,6 +117,13 @@ namespace genericVirusUI menuButton->onClick = m_openMenuCallback; } + VirusEditor::~VirusEditor() + { + m_parameterBinding.clearBindings(); + + getController().onProgramChange = nullptr; + } + Virus::Controller& VirusEditor::getController() const { return m_processor.getController(); diff --git a/source/jucePlugin/ui3/VirusEditor.h b/source/jucePlugin/ui3/VirusEditor.h @@ -17,6 +17,7 @@ namespace genericVirusUI { public: VirusEditor(VirusParameterBinding& _binding, Virus::Controller& _controller, AudioPluginAudioProcessor &_processorRef, const std::string& _jsonFilename, std::function<void()> _openMenuCallback); + ~VirusEditor() override; void setPart(size_t _part);