1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-09 23:34:20 +00:00
This commit is contained in:
mikosg 2026-01-07 11:28:43 -08:00 committed by GitHub
commit 9bd7c75bc5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1225,6 +1225,24 @@ public:
return kResultOk;
}
//==============================================================================
tresult PLUGIN_API setComponentHandler (Steinberg::Vst::IComponentHandler* newHandler) override
{
auto result = Vst::EditController::setComponentHandler (newHandler);
// The following is needed because Studio One calls this method after our installAudioProcessor method,
// so installAudioProcessor is not able to set a non-null IComponentHandler on VST3ClientExtensions.
// Other DAWs call this method before our installAudioProcessor (when audioProcessor is still nullptr).
if(audioProcessor != nullptr)
{
if (auto* extensions = audioProcessor->get()->getVST3ClientExtensions())
{
extensions->setIComponentHandler (componentHandler);
}
}
return result;
}
void setAudioProcessor (JuceAudioProcessor* audioProc)
{
if (audioProcessor.get() != audioProc)
@ -1705,7 +1723,10 @@ private:
if (auto* extensions = audioProcessor->get()->getVST3ClientExtensions())
{
extensions->setIComponentHandler (componentHandler);
if (componentHandler != nullptr)
{
extensions->setIComponentHandler (componentHandler);
}
extensions->setIHostApplication (hostContext.get());
}