Refactor plugin factories into Vst3*Proxy format

Now every proxy object that's directly created by the host or plugin
shares the same structure.
This commit is contained in:
Robbert van der Helm
2021-02-13 15:42:05 +01:00
parent 4e4ed3a6b4
commit 4f8eaaaa75
14 changed files with 289 additions and 133 deletions
+26 -15
View File
@@ -66,6 +66,12 @@ void Vst3Logger::log_query_interface(
}
}
bool Vst3Logger::log_request(bool is_host_vst,
const Vst3PluginFactoryProxy::Construct&) {
return log_request_base(
is_host_vst, [&](auto& message) { message << "GetPluginFactory()"; });
}
bool Vst3Logger::log_request(bool is_host_vst,
const Vst3PlugViewProxy::Destruct& request) {
return log_request_base(is_host_vst, [&](auto& message) {
@@ -690,13 +696,7 @@ bool Vst3Logger::log_request(bool is_host_vst,
}
bool Vst3Logger::log_request(bool is_host_vst,
const YaPluginFactory::Construct&) {
return log_request_base(
is_host_vst, [&](auto& message) { message << "GetPluginFactory()"; });
}
bool Vst3Logger::log_request(bool is_host_vst,
const YaPluginFactory::SetHostContext&) {
const YaPluginFactory3::SetHostContext&) {
return log_request_base(is_host_vst, [&](auto& message) {
message << "IPluginFactory3::setHostContext(context = <FUnknown*>)";
});
@@ -1381,6 +1381,25 @@ void Vst3Logger::log_response(bool is_host_vst, const Ack&) {
log_response_base(is_host_vst, [&](auto& message) { message << "ACK"; });
}
void Vst3Logger::log_response(
bool is_host_vst,
const Vst3PluginFactoryProxy::ConstructArgs& args) {
log_response_base(is_host_vst, [&](auto& message) {
message << "<";
if (args.plugin_factory_args.supports_plugin_factory_3) {
message << "IPluginFactory3*";
} else if (args.plugin_factory_args.supports_plugin_factory_2) {
message << "IPluginFactory2*";
} else if (args.plugin_factory_args.supports_plugin_factory) {
message << "IPluginFactory*";
} else {
message << "FUnknown*";
}
message << " with " << args.plugin_factory_args.num_classes
<< " registered classes>";
});
}
void Vst3Logger::log_response(bool is_host_vst,
const std::variant<Vst3PluginProxy::ConstructArgs,
UniversalTResult>& result) {
@@ -1591,14 +1610,6 @@ void Vst3Logger::log_response(
});
}
void Vst3Logger::log_response(bool is_host_vst,
const YaPluginFactory::ConstructArgs& args) {
log_response_base(is_host_vst, [&](auto& message) {
message << "<IPluginFactory* with " << args.num_classes
<< " registered classes>";
});
}
void Vst3Logger::log_response(bool is_host_vst, const Configuration&) {
log_response_base(is_host_vst,
[&](auto& message) { message << "<Configuration>"; });