mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-07 03:50:11 +02:00
Don't log responses for filtered out requests
This commit is contained in:
@@ -106,9 +106,13 @@ class Vst3MessageHandler : public AdHocSocketHandler<Thread> {
|
||||
std::optional<std::pair<Vst3Logger&, bool>> logging) {
|
||||
using TResponse = typename T::Response;
|
||||
|
||||
// Since a lot of messages just return a `tresult`, we can't filter out
|
||||
// responses based on the response message type. Instead, we'll just
|
||||
// only print the responses when the request was not filtered out.
|
||||
bool should_log_response = false;
|
||||
if (logging) {
|
||||
auto [logger, is_host_vst] = *logging;
|
||||
logger.log_request(is_host_vst, object);
|
||||
should_log_response = logger.log_request(is_host_vst, object);
|
||||
}
|
||||
|
||||
// A socket only handles a single request at a time as to prevent
|
||||
@@ -125,7 +129,7 @@ class Vst3MessageHandler : public AdHocSocketHandler<Thread> {
|
||||
return std::monostate{};
|
||||
});
|
||||
|
||||
if (logging) {
|
||||
if (should_log_response) {
|
||||
auto [logger, is_host_vst] = *logging;
|
||||
logger.log_response(!is_host_vst, response_object);
|
||||
}
|
||||
@@ -165,11 +169,14 @@ class Vst3MessageHandler : public AdHocSocketHandler<Thread> {
|
||||
const auto process_message =
|
||||
[&](boost::asio::local::stream_protocol::socket& socket) {
|
||||
auto request = read_object<Request>(socket);
|
||||
|
||||
// See the comment in `receive_into()` for more information
|
||||
bool should_log_response = false;
|
||||
if (logging) {
|
||||
std::visit(
|
||||
should_log_response = std::visit(
|
||||
[&](const auto& object) {
|
||||
auto [logger, is_host_vst] = *logging;
|
||||
logger.log_request(is_host_vst, object);
|
||||
return logger.log_request(is_host_vst, object);
|
||||
},
|
||||
request);
|
||||
}
|
||||
@@ -181,7 +188,7 @@ class Vst3MessageHandler : public AdHocSocketHandler<Thread> {
|
||||
[&]<typename T>(T object) {
|
||||
typename T::Response response = callback(object);
|
||||
|
||||
if (logging) {
|
||||
if (should_log_response) {
|
||||
auto [logger, is_host_vst] = *logging;
|
||||
logger.log_response(!is_host_vst, response);
|
||||
}
|
||||
|
||||
+104
-106
@@ -35,9 +35,9 @@ void Vst3Logger::log_unknown_interface(
|
||||
}
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const Vst3PluginProxy::Construct& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << "IPluginFactory::createComponent(cid = "
|
||||
<< format_uid(Steinberg::FUID::fromTUID(request.cid.data()))
|
||||
<< ", _iid = ";
|
||||
@@ -53,18 +53,18 @@ void Vst3Logger::log_request(bool is_host_vst,
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const Vst3PluginProxy::Destruct& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
// We don't know what class this instance was originally instantiated
|
||||
// as, but it also doesn't really matter
|
||||
message << request.instance_id << ": FUnknown::~FUnknown()";
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const Vst3PluginProxy::SetState& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": {IComponent,IEditController}::setState(state = "
|
||||
"<IBStream* containing "
|
||||
@@ -72,19 +72,19 @@ void Vst3Logger::log_request(bool is_host_vst,
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const Vst3PluginProxy::GetState& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message
|
||||
<< request.instance_id
|
||||
<< ": {IComponent,IEditController}::getState(state = <IBStream*>)";
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(
|
||||
bool Vst3Logger::log_request(
|
||||
bool is_host_vst,
|
||||
const YaAudioProcessor::SetBusArrangements& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IAudioProcessor::setBusArrangements(inputs = "
|
||||
"[SpeakerArrangement; "
|
||||
@@ -94,20 +94,20 @@ void Vst3Logger::log_request(
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(
|
||||
bool Vst3Logger::log_request(
|
||||
bool is_host_vst,
|
||||
const YaAudioProcessor::GetBusArrangement& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IAudioProcessor::getBusArrangement(dir = " << request.dir
|
||||
<< ", index = " << request.index << ", &arr)";
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(
|
||||
bool Vst3Logger::log_request(
|
||||
bool is_host_vst,
|
||||
const YaAudioProcessor::CanProcessSampleSize& request) {
|
||||
log_request_base(
|
||||
return log_request_base(
|
||||
is_host_vst, Logger::Verbosity::all_events, [&](auto& message) {
|
||||
message
|
||||
<< request.instance_id
|
||||
@@ -117,18 +117,18 @@ void Vst3Logger::log_request(
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(
|
||||
bool Vst3Logger::log_request(
|
||||
bool is_host_vst,
|
||||
const YaAudioProcessor::GetLatencySamples& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IAudioProcessor::getLatencySamples()";
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const YaAudioProcessor::SetupProcessing& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IAudioProcessor::setupProcessing(setup = "
|
||||
"<SetupProcessing with mode = "
|
||||
@@ -139,18 +139,18 @@ void Vst3Logger::log_request(bool is_host_vst,
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const YaAudioProcessor::SetProcessing& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IAudioProcessor::setProcessing(state = "
|
||||
<< (request.state ? "true" : "false") << ")";
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const YaAudioProcessor::Process& request) {
|
||||
log_request_base(
|
||||
return log_request_base(
|
||||
is_host_vst, Logger::Verbosity::all_events, [&](auto& message) {
|
||||
// This is incredibly verbose, but if you're really a plugin that
|
||||
// handles processing in a weird way you're going to need all of
|
||||
@@ -207,35 +207,35 @@ void Vst3Logger::log_request(bool is_host_vst,
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const YaAudioProcessor::GetTailSamples& request) {
|
||||
log_request_base(is_host_vst, Logger::Verbosity::all_events,
|
||||
[&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IAudioProcessor::getTailSamples()";
|
||||
});
|
||||
return log_request_base(
|
||||
is_host_vst, Logger::Verbosity::all_events, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IAudioProcessor::getTailSamples()";
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const YaComponent::SetIoMode& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IComponent::setIoMode(mode = " << request.mode << ")";
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const YaComponent::GetBusCount& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IComponent::getBusCount(type = " << request.type
|
||||
<< ", dir = " << request.dir << ")";
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const YaComponent::GetBusInfo& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IComponent::getBusInfo(type = " << request.type
|
||||
<< ", dir = " << request.dir << ", index = " << request.index
|
||||
@@ -243,9 +243,9 @@ void Vst3Logger::log_request(bool is_host_vst,
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const YaComponent::GetRoutingInfo& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message
|
||||
<< request.instance_id
|
||||
<< ": IComponent::getRoutingInfo(inInfo = <RoutingInfo& for bus "
|
||||
@@ -256,9 +256,9 @@ void Vst3Logger::log_request(bool is_host_vst,
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const YaComponent::ActivateBus& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IComponent::activateBus(type = " << request.type
|
||||
<< ", dir = " << request.dir << ", index = " << request.index
|
||||
@@ -266,36 +266,36 @@ void Vst3Logger::log_request(bool is_host_vst,
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const YaComponent::SetActive& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id << ": IComponent::setActive(state = "
|
||||
<< (request.state ? "true" : "false") << ")";
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const YaConnectionPoint::Connect& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IConnectionPoint::connect(other = <IConnectionPoint* #"
|
||||
<< request.other_instance_id << ">)";
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const YaConnectionPoint::Disconnect& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IConnectionPoint::disconnect(other = <IConnectionPoint* #"
|
||||
<< request.other_instance_id << ">)";
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(
|
||||
bool Vst3Logger::log_request(
|
||||
bool is_host_vst,
|
||||
const YaEditController2::SetComponentState& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IEditController::setComponentState(state = <IBStream* "
|
||||
"containing "
|
||||
@@ -303,29 +303,29 @@ void Vst3Logger::log_request(
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(
|
||||
bool Vst3Logger::log_request(
|
||||
bool is_host_vst,
|
||||
const YaEditController2::GetParameterCount& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IEditController::getParameterCount()";
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(
|
||||
bool Vst3Logger::log_request(
|
||||
bool is_host_vst,
|
||||
const YaEditController2::GetParameterInfo& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IEditController::getParameterInfo(paramIndex = "
|
||||
<< request.param_index << ", &info)";
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(
|
||||
bool Vst3Logger::log_request(
|
||||
bool is_host_vst,
|
||||
const YaEditController2::GetParamStringByValue& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IEditController::getParamStringByValue(id = "
|
||||
<< request.id
|
||||
@@ -334,10 +334,10 @@ void Vst3Logger::log_request(
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(
|
||||
bool Vst3Logger::log_request(
|
||||
bool is_host_vst,
|
||||
const YaEditController2::GetParamValueByString& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
std::string param_title = VST3::StringConvert::convert(request.string);
|
||||
message << request.instance_id
|
||||
<< ": IEditController::getParamValueByString(id = "
|
||||
@@ -346,10 +346,10 @@ void Vst3Logger::log_request(
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(
|
||||
bool Vst3Logger::log_request(
|
||||
bool is_host_vst,
|
||||
const YaEditController2::NormalizedParamToPlain& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IEditController::normalizedParamToPlain(id = "
|
||||
<< request.id
|
||||
@@ -357,10 +357,10 @@ void Vst3Logger::log_request(
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(
|
||||
bool Vst3Logger::log_request(
|
||||
bool is_host_vst,
|
||||
const YaEditController2::PlainParamToNormalized& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IEditController::plainParamToNormalized(id = "
|
||||
<< request.id << ", plainValue = " << request.plain_value
|
||||
@@ -368,29 +368,29 @@ void Vst3Logger::log_request(
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(
|
||||
bool Vst3Logger::log_request(
|
||||
bool is_host_vst,
|
||||
const YaEditController2::GetParamNormalized& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IEditController::getParamNormalized(id = " << request.id
|
||||
<< ")";
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(
|
||||
bool Vst3Logger::log_request(
|
||||
bool is_host_vst,
|
||||
const YaEditController2::SetParamNormalized& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IEditController::setParamNormalized(id = " << request.id
|
||||
<< ", value = " << request.value << ")";
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const YaPluginBase::Initialize& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id
|
||||
<< ": IPluginBase::initialize(context = ";
|
||||
if (request.host_application_context_args) {
|
||||
@@ -402,28 +402,28 @@ void Vst3Logger::log_request(bool is_host_vst,
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const YaPluginBase::Terminate& request) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << request.instance_id << ": IPluginBase::terminate()";
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const YaPluginFactory::Construct&) {
|
||||
log_request_base(is_host_vst,
|
||||
[&](auto& message) { message << "GetPluginFactory()"; });
|
||||
return log_request_base(
|
||||
is_host_vst, [&](auto& message) { message << "GetPluginFactory()"; });
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst,
|
||||
bool Vst3Logger::log_request(bool is_host_vst,
|
||||
const YaPluginFactory::SetHostContext&) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << "IPluginFactory3::setHostContext(IHostApplication*)";
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_request(bool is_host_vst, const WantsConfiguration&) {
|
||||
log_request_base(is_host_vst, [&](auto& message) {
|
||||
bool Vst3Logger::log_request(bool is_host_vst, const WantsConfiguration&) {
|
||||
return log_request_base(is_host_vst, [&](auto& message) {
|
||||
message << "Requesting <Configuration>";
|
||||
});
|
||||
}
|
||||
@@ -473,44 +473,42 @@ void Vst3Logger::log_response(
|
||||
void Vst3Logger::log_response(
|
||||
bool is_host_vst,
|
||||
const YaAudioProcessor::ProcessResponse& response) {
|
||||
log_response_base(
|
||||
is_host_vst, Logger::Verbosity::all_events, [&](auto& message) {
|
||||
message << response.result.string();
|
||||
log_response_base(is_host_vst, [&](auto& message) {
|
||||
message << response.result.string();
|
||||
|
||||
// This is incredibly verbose, but if you're really a plugin that
|
||||
// handles processing in a weird way you're going to need all of
|
||||
// this
|
||||
// This is incredibly verbose, but if you're really a plugin that
|
||||
// handles processing in a weird way you're going to need all of this
|
||||
|
||||
std::ostringstream num_output_channels;
|
||||
num_output_channels << "[";
|
||||
for (bool is_first = true;
|
||||
const auto& buffers : response.output_data.outputs) {
|
||||
num_output_channels << (is_first ? "" : ", ")
|
||||
<< buffers.num_channels();
|
||||
is_first = false;
|
||||
}
|
||||
num_output_channels << "]";
|
||||
std::ostringstream num_output_channels;
|
||||
num_output_channels << "[";
|
||||
for (bool is_first = true;
|
||||
const auto& buffers : response.output_data.outputs) {
|
||||
num_output_channels << (is_first ? "" : ", ")
|
||||
<< buffers.num_channels();
|
||||
is_first = false;
|
||||
}
|
||||
num_output_channels << "]";
|
||||
|
||||
message << ", <AudioBusBuffers array with "
|
||||
<< num_output_channels.str() << " channels>";
|
||||
message << ", <AudioBusBuffers array with " << num_output_channels.str()
|
||||
<< " channels>";
|
||||
|
||||
if (response.output_data.output_parameter_changes) {
|
||||
message << ", <IParameterChanges* for "
|
||||
<< response.output_data.output_parameter_changes
|
||||
->num_parameters()
|
||||
<< " parameters>";
|
||||
} else {
|
||||
message << ", host does not support parameter outputs";
|
||||
}
|
||||
if (response.output_data.output_parameter_changes) {
|
||||
message << ", <IParameterChanges* for "
|
||||
<< response.output_data.output_parameter_changes
|
||||
->num_parameters()
|
||||
<< " parameters>";
|
||||
} else {
|
||||
message << ", host does not support parameter outputs";
|
||||
}
|
||||
|
||||
if (response.output_data.output_events) {
|
||||
message << ", <IEventList* with "
|
||||
<< response.output_data.output_events->num_events()
|
||||
<< " events>";
|
||||
} else {
|
||||
message << ", host does not support event outputs";
|
||||
}
|
||||
});
|
||||
if (response.output_data.output_events) {
|
||||
message << ", <IEventList* with "
|
||||
<< response.output_data.output_events->num_events()
|
||||
<< " events>";
|
||||
} else {
|
||||
message << ", host does not support event outputs";
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void Vst3Logger::log_response(bool is_host_vst,
|
||||
|
||||
+59
-59
@@ -55,55 +55,58 @@ class Vst3Logger {
|
||||
// that print information about the request and the response. The boolean
|
||||
// flag here indicates whether the request was initiated on the host side
|
||||
// (what we'll call a control message).
|
||||
// `log_response()` should only be called if the corresponding
|
||||
// `log_request()` call returned `true`. This way we can filter out the
|
||||
// log message for the response together with the request.
|
||||
|
||||
void log_request(bool is_host_vst, const Vst3PluginProxy::Construct&);
|
||||
void log_request(bool is_host_vst, const Vst3PluginProxy::Destruct&);
|
||||
void log_request(bool is_host_vst, const Vst3PluginProxy::SetState&);
|
||||
void log_request(bool is_host_vst, const Vst3PluginProxy::GetState&);
|
||||
void log_request(bool is_host_vst,
|
||||
bool log_request(bool is_host_vst, const Vst3PluginProxy::Construct&);
|
||||
bool log_request(bool is_host_vst, const Vst3PluginProxy::Destruct&);
|
||||
bool log_request(bool is_host_vst, const Vst3PluginProxy::SetState&);
|
||||
bool log_request(bool is_host_vst, const Vst3PluginProxy::GetState&);
|
||||
bool log_request(bool is_host_vst,
|
||||
const YaAudioProcessor::SetBusArrangements&);
|
||||
void log_request(bool is_host_vst,
|
||||
bool log_request(bool is_host_vst,
|
||||
const YaAudioProcessor::GetBusArrangement&);
|
||||
void log_request(bool is_host_vst,
|
||||
bool log_request(bool is_host_vst,
|
||||
const YaAudioProcessor::CanProcessSampleSize&);
|
||||
void log_request(bool is_host_vst,
|
||||
bool log_request(bool is_host_vst,
|
||||
const YaAudioProcessor::GetLatencySamples&);
|
||||
void log_request(bool is_host_vst,
|
||||
bool log_request(bool is_host_vst,
|
||||
const YaAudioProcessor::SetupProcessing&);
|
||||
void log_request(bool is_host_vst, const YaAudioProcessor::SetProcessing&);
|
||||
void log_request(bool is_host_vst, const YaAudioProcessor::Process&);
|
||||
void log_request(bool is_host_vst, const YaAudioProcessor::GetTailSamples&);
|
||||
void log_request(bool is_host_vst, const YaComponent::SetIoMode&);
|
||||
void log_request(bool is_host_vst, const YaComponent::GetBusCount&);
|
||||
void log_request(bool is_host_vst, const YaComponent::GetBusInfo&);
|
||||
void log_request(bool is_host_vst, const YaComponent::GetRoutingInfo&);
|
||||
void log_request(bool is_host_vst, const YaComponent::ActivateBus&);
|
||||
void log_request(bool is_host_vst, const YaComponent::SetActive&);
|
||||
void log_request(bool is_host_vst, const YaConnectionPoint::Connect&);
|
||||
void log_request(bool is_host_vst, const YaConnectionPoint::Disconnect&);
|
||||
void log_request(bool is_host_vst,
|
||||
bool log_request(bool is_host_vst, const YaAudioProcessor::SetProcessing&);
|
||||
bool log_request(bool is_host_vst, const YaAudioProcessor::Process&);
|
||||
bool log_request(bool is_host_vst, const YaAudioProcessor::GetTailSamples&);
|
||||
bool log_request(bool is_host_vst, const YaComponent::SetIoMode&);
|
||||
bool log_request(bool is_host_vst, const YaComponent::GetBusCount&);
|
||||
bool log_request(bool is_host_vst, const YaComponent::GetBusInfo&);
|
||||
bool log_request(bool is_host_vst, const YaComponent::GetRoutingInfo&);
|
||||
bool log_request(bool is_host_vst, const YaComponent::ActivateBus&);
|
||||
bool log_request(bool is_host_vst, const YaComponent::SetActive&);
|
||||
bool log_request(bool is_host_vst, const YaConnectionPoint::Connect&);
|
||||
bool log_request(bool is_host_vst, const YaConnectionPoint::Disconnect&);
|
||||
bool log_request(bool is_host_vst,
|
||||
const YaEditController2::SetComponentState&);
|
||||
void log_request(bool is_host_vst,
|
||||
bool log_request(bool is_host_vst,
|
||||
const YaEditController2::GetParameterCount&);
|
||||
void log_request(bool is_host_vst,
|
||||
bool log_request(bool is_host_vst,
|
||||
const YaEditController2::GetParameterInfo&);
|
||||
void log_request(bool is_host_vst,
|
||||
bool log_request(bool is_host_vst,
|
||||
const YaEditController2::GetParamStringByValue&);
|
||||
void log_request(bool is_host_vst,
|
||||
bool log_request(bool is_host_vst,
|
||||
const YaEditController2::GetParamValueByString&);
|
||||
void log_request(bool is_host_vst,
|
||||
bool log_request(bool is_host_vst,
|
||||
const YaEditController2::NormalizedParamToPlain&);
|
||||
void log_request(bool is_host_vst,
|
||||
bool log_request(bool is_host_vst,
|
||||
const YaEditController2::PlainParamToNormalized&);
|
||||
void log_request(bool is_host_vst,
|
||||
bool log_request(bool is_host_vst,
|
||||
const YaEditController2::GetParamNormalized&);
|
||||
void log_request(bool is_host_vst,
|
||||
bool log_request(bool is_host_vst,
|
||||
const YaEditController2::SetParamNormalized&);
|
||||
void log_request(bool is_host_vst, const YaPluginBase::Initialize&);
|
||||
void log_request(bool is_host_vst, const YaPluginBase::Terminate&);
|
||||
void log_request(bool is_host_vst, const YaPluginFactory::Construct&);
|
||||
void log_request(bool is_host_vst, const YaPluginFactory::SetHostContext&);
|
||||
void log_request(bool is_host_vst, const WantsConfiguration&);
|
||||
bool log_request(bool is_host_vst, const YaPluginBase::Initialize&);
|
||||
bool log_request(bool is_host_vst, const YaPluginBase::Terminate&);
|
||||
bool log_request(bool is_host_vst, const YaPluginFactory::Construct&);
|
||||
bool log_request(bool is_host_vst, const YaPluginFactory::SetHostContext&);
|
||||
bool log_request(bool is_host_vst, const WantsConfiguration&);
|
||||
|
||||
void log_response(bool is_host_vst, const Ack&);
|
||||
void log_response(
|
||||
@@ -141,12 +144,11 @@ class Vst3Logger {
|
||||
* Log a request with a standard prefix based on the boolean flag we pass to
|
||||
* every logging function so we don't have to repeat it everywhere.
|
||||
*
|
||||
* TODO: Make these logging messages return a boolean based on whether or
|
||||
* not it was filtered out. Don't show the responses for filtered out
|
||||
* messages.
|
||||
* Returns `true` if the log message was displayed, and the response should
|
||||
* thus also be logged.
|
||||
*/
|
||||
template <std::invocable<std::ostringstream&> F>
|
||||
void log_request_base(bool is_host_vst,
|
||||
bool log_request_base(bool is_host_vst,
|
||||
Logger::Verbosity min_verbosity,
|
||||
F callback) {
|
||||
if (BOOST_UNLIKELY(logger.verbosity >= min_verbosity)) {
|
||||
@@ -159,38 +161,36 @@ class Vst3Logger {
|
||||
|
||||
callback(message);
|
||||
log(message.str());
|
||||
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
template <std::invocable<std::ostringstream&> F>
|
||||
void log_request_base(bool is_host_vst, F callback) {
|
||||
log_request_base(is_host_vst, Logger::Verbosity::most_events, callback);
|
||||
bool log_request_base(bool is_host_vst, F callback) {
|
||||
return log_request_base(is_host_vst, Logger::Verbosity::most_events,
|
||||
callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* Log a response with a standard prefix based on the boolean flag we pass
|
||||
* to every logging function so we don't have to repeat it everywhere.
|
||||
*
|
||||
* This should only be called when the corresonding `log_request()` returned
|
||||
* `true`.
|
||||
*/
|
||||
template <std::invocable<std::ostringstream&> F>
|
||||
void log_response_base(bool is_host_vst,
|
||||
Logger::Verbosity min_verbosity,
|
||||
F callback) {
|
||||
if (BOOST_UNLIKELY(logger.verbosity >= min_verbosity)) {
|
||||
std::ostringstream message;
|
||||
if (is_host_vst) {
|
||||
message << "[host -> vst] ";
|
||||
} else {
|
||||
message << "[host <- vst] ";
|
||||
}
|
||||
|
||||
callback(message);
|
||||
log(message.str());
|
||||
}
|
||||
}
|
||||
|
||||
template <std::invocable<std::ostringstream&> F>
|
||||
void log_response_base(bool is_host_vst, F callback) {
|
||||
log_response_base(is_host_vst, Logger::Verbosity::most_events,
|
||||
callback);
|
||||
std::ostringstream message;
|
||||
if (is_host_vst) {
|
||||
message << "[host -> vst] ";
|
||||
} else {
|
||||
message << "[host <- vst] ";
|
||||
}
|
||||
|
||||
callback(message);
|
||||
log(message.str());
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user