From a15209b45fe5e1fc874c7edcf17256d96763c484 Mon Sep 17 00:00:00 2001 From: Dimitri Sudell Date: Wed, 7 Mar 2018 18:00:59 +0000 Subject: [PATCH] AUv3 Wrapper: use view callbacks to show and hide editor --- .../AU/juce_AUv3_Wrapper.mm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm b/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm index 26ba056ebe..98bcee876c 100644 --- a/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm +++ b/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm @@ -1670,7 +1670,7 @@ public: JUCE_IOS_MAC_VIEW* view = [[[JUCE_IOS_MAC_VIEW alloc] initWithFrame: convertToCGRect (editor->getBounds())] autorelease]; [myself setView: view]; - editor->setVisible (true); + editor->setVisible (false); editor->addToDesktop (0, view); } } @@ -1707,6 +1707,20 @@ public: processor->memoryWarningReceived(); } + void viewDidAppear (bool) + { + if (processorHolder != nullptr) + if (AudioProcessorEditor* editor = getAudioProcessor().getActiveEditor()) + editor->setVisible (true); + } + + void viewDidDisappear (bool) + { + if (processorHolder != nullptr) + if (AudioProcessorEditor* editor = getAudioProcessor().getActiveEditor()) + editor->setVisible (false); + } + CGSize getPreferredContentSize() const { return CGSizeMake (static_cast (preferredSize.getWidth()), @@ -1793,6 +1807,8 @@ private: - (CGSize) preferredContentSize { return cpp->getPreferredContentSize(); } - (void) viewDidLayoutSubviews { cpp->viewDidLayoutSubviews(); } - (void) didReceiveMemoryWarning { cpp->didReceiveMemoryWarning(); } +- (void) viewDidAppear: (BOOL) animated { cpp->viewDidAppear (animated); [super viewDidAppear:animated]; } +- (void) viewDidDisappear: (BOOL) animated { cpp->viewDidDisappear (animated); [super viewDidDisappear:animated]; } @end //==============================================================================