Log cached audioMasterGetTime() calls

Just like we log cached VST3 function calls.
This commit is contained in:
Robbert van der Helm
2021-04-29 00:38:10 +02:00
parent 1deb4cf664
commit b8f8dd7236
3 changed files with 17 additions and 4 deletions
+6 -1
View File
@@ -449,7 +449,8 @@ void Vst2Logger::log_event_response(
int opcode,
intptr_t return_value,
const EventResultPayload& payload,
const std::optional<EventResultPayload>& value_payload) {
const std::optional<EventResultPayload>& value_payload,
bool from_cache) {
if (BOOST_UNLIKELY(logger.verbosity >= Logger::Verbosity::most_events)) {
if (should_filter_event(is_dispatch, opcode)) {
return;
@@ -516,6 +517,10 @@ void Vst2Logger::log_event_response(
}},
payload);
if (from_cache) {
message << " (from cache)";
}
log(message.str());
}
}
+2 -1
View File
@@ -74,7 +74,8 @@ class Vst2Logger {
int opcode,
intptr_t return_value,
const EventResultPayload& payload,
const std::optional<EventResultPayload>& value_payload);
const std::optional<EventResultPayload>& value_payload,
bool from_cache = false);
/**
* The underlying logger instance we're wrapping.
+9 -2
View File
@@ -607,10 +607,17 @@ intptr_t Vst2Bridge::host_callback(AEffect* effect,
if (cached_time_info) {
// This cached value is temporary, so we'll still use the
// regular time info storing mechanism
// TODO: Log when we hit this cache so it doesn't get hidden
last_time_info = *cached_time_info;
const intptr_t result =
reinterpret_cast<intptr_t>(&last_time_info);
return reinterpret_cast<intptr_t>(&last_time_info);
// Make sure that these cached events don't get lost in the logs
logger.log_event(false, opcode, index, value,
WantsVstTimeInfo{}, option, std::nullopt);
logger.log_event_response(false, opcode, result, last_time_info,
std::nullopt, true);
return result;
}
} break;
}