Differentiate between cached values in logs

If it turns out we forgot to flush this cache in some place.
This commit is contained in:
Robbert van der Helm
2021-01-30 13:56:58 +01:00
parent 68e10cd24c
commit 1043776e52
3 changed files with 23 additions and 10 deletions
+5 -1
View File
@@ -1776,7 +1776,8 @@ void Vst3Logger::log_response(
} }
void Vst3Logger::log_response(bool is_host_vst, void Vst3Logger::log_response(bool is_host_vst,
const YaComponent::GetBusInfoResponse& response) { const YaComponent::GetBusInfoResponse& response,
bool from_cache) {
log_response_base(is_host_vst, [&](auto& message) { log_response_base(is_host_vst, [&](auto& message) {
message << response.result.string(); message << response.result.string();
if (response.result == Steinberg::kResultOk) { if (response.result == Steinberg::kResultOk) {
@@ -1785,6 +1786,9 @@ void Vst3Logger::log_response(bool is_host_vst,
<< "\" with " << response.updated_bus.channelCount << "\" with " << response.updated_bus.channelCount
<< " channels, type = " << response.updated_bus.busType << " channels, type = " << response.updated_bus.busType
<< ", flags = " << response.updated_bus.flags << ">"; << ", flags = " << response.updated_bus.flags << ">";
if (from_cache) {
message << " (from cache)";
}
} }
}); });
} }
+12 -4
View File
@@ -305,7 +305,9 @@ class Vst3Logger {
const YaAudioProcessor::ProcessResponse&); const YaAudioProcessor::ProcessResponse&);
void log_response(bool is_host_vst, void log_response(bool is_host_vst,
const YaComponent::GetControllerClassIdResponse&); const YaComponent::GetControllerClassIdResponse&);
void log_response(bool is_host_vst, const YaComponent::GetBusInfoResponse&); void log_response(bool is_host_vst,
const YaComponent::GetBusInfoResponse&,
bool from_cache = false);
void log_response(bool is_host_vst, void log_response(bool is_host_vst,
const YaComponent::GetRoutingInfoResponse&); const YaComponent::GetRoutingInfoResponse&);
void log_response( void log_response(
@@ -319,10 +321,16 @@ class Vst3Logger {
void log_response(bool is_host_vst, const YaProgress::StartResponse&); void log_response(bool is_host_vst, const YaProgress::StartResponse&);
template <typename T> template <typename T>
void log_response(bool is_host_vst, const PrimitiveWrapper<T>& value) { void log_response(bool is_host_vst,
const PrimitiveWrapper<T>& value,
bool from_cache = false) {
// For logging all primitive return values other than `tresult` // For logging all primitive return values other than `tresult`
log_response_base(is_host_vst, log_response_base(is_host_vst, [&](auto& message) {
[&](auto& message) { message << value; }); message << value;
if (from_cache) {
message << " (from cache)";
}
});
} }
Logger& logger; Logger& logger;
@@ -231,8 +231,8 @@ Vst3PluginProxyImpl::getBusCount(Steinberg::Vst::MediaType type,
it != processing_bus_cache->bus_count.end()) { it != processing_bus_cache->bus_count.end()) {
const bool log_response = bridge.logger.log_request(true, request); const bool log_response = bridge.logger.log_request(true, request);
if (log_response) { if (log_response) {
// TODO: Add to the log message that this information was cached bridge.logger.log_response(true, PrimitiveWrapper(it->second),
bridge.logger.log_response(true, PrimitiveWrapper(it->second)); true);
} }
return it->second; return it->second;
@@ -268,10 +268,11 @@ Vst3PluginProxyImpl::getBusInfo(Steinberg::Vst::MediaType type,
it != processing_bus_cache->bus_info.end()) { it != processing_bus_cache->bus_info.end()) {
const bool log_response = bridge.logger.log_request(true, request); const bool log_response = bridge.logger.log_request(true, request);
if (log_response) { if (log_response) {
// TODO: Add to the log message that this information was cached
bridge.logger.log_response( bridge.logger.log_response(
true, GetBusInfoResponse{.result = Steinberg::kResultOk, true,
.updated_bus = it->second}); GetBusInfoResponse{.result = Steinberg::kResultOk,
.updated_bus = it->second},
true);
} }
bus = it->second; bus = it->second;