mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-08 20:40:11 +02:00
Don't cache IHostApplication::getName()
As it turns out there are only two or three functions where we can do this. It also breaks logging, and this function will probably only be called once anyways. More consistency is always better.
This commit is contained in:
@@ -106,6 +106,10 @@ YaPluginFactoryImpl::setHostContext(Steinberg::FUnknown* context) {
|
||||
// context.
|
||||
host_context = context;
|
||||
|
||||
// Automatically converted smart pointers for when the plugin performs a
|
||||
// callback later
|
||||
host_application = host_context;
|
||||
|
||||
std::optional<Vst3HostContextProxy::ConstructArgs> host_context_args{};
|
||||
if (host_context) {
|
||||
host_context_args =
|
||||
|
||||
@@ -28,6 +28,11 @@ class YaPluginFactoryImpl : public YaPluginFactory {
|
||||
void** obj) override;
|
||||
tresult PLUGIN_API setHostContext(Steinberg::FUnknown* context) override;
|
||||
|
||||
// The following pointers are cast from `host_context` if `setHostContext()`
|
||||
// has been called
|
||||
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::IHostApplication> host_application;
|
||||
|
||||
private:
|
||||
Vst3PluginBridge& bridge;
|
||||
|
||||
|
||||
@@ -323,6 +323,10 @@ tresult PLUGIN_API Vst3PluginProxyImpl::setComponentHandler(
|
||||
// this component handler
|
||||
component_handler = handler;
|
||||
|
||||
// Automatically converted smart pointers for when the plugin performs a
|
||||
// callback later
|
||||
host_application = host_context;
|
||||
|
||||
std::optional<Vst3ComponentHandlerProxy::ConstructArgs>
|
||||
component_handler_proxy_args = std::nullopt;
|
||||
if (handler) {
|
||||
|
||||
@@ -130,6 +130,11 @@ class Vst3PluginProxyImpl : public Vst3PluginProxy {
|
||||
*/
|
||||
Steinberg::IPtr<Steinberg::Vst::IComponentHandler> component_handler;
|
||||
|
||||
// The following pointers are cast from `host_context` if `setHostContext()`
|
||||
// has been called
|
||||
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::IHostApplication> host_application;
|
||||
|
||||
private:
|
||||
Vst3PluginBridge& bridge;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user