Log the entire speaker arrangement bitsets

This makes it very clear why lots of plugins don't work in Ardour right
now.
This commit is contained in:
Robbert van der Helm
2020-12-29 13:13:15 +01:00
parent c42c05a795
commit 1e1eaee69c
+31 -5
View File
@@ -16,6 +16,8 @@
#include "vst3.h"
#include <bitset>
#include <public.sdk/source/vst/utility/stringconvert.h>
#include "src/common/serialization/vst3.h"
@@ -550,10 +552,31 @@ bool Vst3Logger::log_request(
return log_request_base(is_host_vst, [&](auto& message) {
message << request.instance_id
<< ": IAudioProcessor::setBusArrangements(inputs = "
"[SpeakerArrangement; "
<< request.inputs.size() << "], numIns = " << request.num_ins
<< ", outputs = [SpeakerArrangement; " << request.outputs.size()
<< "], numOuts = " << request.num_outs << ")";
"[";
for (bool first = true; const auto& arrangement : request.inputs) {
if (!first) {
message << ", ";
}
message << "SpeakerArrangement: 0b"
<< std::bitset<sizeof(Steinberg::Vst::SpeakerArrangement)>(
arrangement);
first = false;
}
message << "], numIns = " << request.num_ins << ", outputs = [";
for (bool first = true; const auto& arrangement : request.outputs) {
if (!first) {
message << ", ";
}
message << "SpeakerArrangement: 0b"
<< std::bitset<sizeof(Steinberg::Vst::SpeakerArrangement)>(
arrangement);
first = false;
}
message << "], numOuts = " << request.num_outs << ")";
});
}
@@ -1019,7 +1042,10 @@ void Vst3Logger::log_response(
log_response_base(is_host_vst, [&](auto& message) {
message << response.result.string();
if (response.result == Steinberg::kResultOk) {
message << ", <SpeakerArrangement>";
message << ", <SpeakerArrangement: 0b"
<< std::bitset<sizeof(Steinberg::Vst::SpeakerArrangement)>(
response.updated_arr)
<< ">";
}
});
}