Log process context contents in IInfoListener::setChannelContextInfos

This commit is contained in:
Robbert van der Helm
2021-02-13 16:40:24 +01:00
parent 4f8eaaaa75
commit 907925d660
3 changed files with 35 additions and 2 deletions
@@ -89,6 +89,24 @@ IMPLEMENT_FUNKNOWN_METHODS(YaAttributeList,
Steinberg::Vst::IAttributeList::iid)
#pragma GCC diagnostic pop
std::vector<std::string> YaAttributeList::keys_and_types() const {
std::vector<std::string> result{};
for (const auto& [key, value] : attrs_int) {
result.push_back("\"" + key + "\" (int)");
}
for (const auto& [key, value] : attrs_float) {
result.push_back("\"" + key + "\" (float)");
}
for (const auto& [key, value] : attrs_string) {
result.push_back("\"" + key + "\" (string)");
}
for (const auto& [key, value] : attrs_binary) {
result.push_back("\"" + key + "\" (binary)");
}
return result;
}
tresult YaAttributeList::write_back(
Steinberg::Vst::IAttributeList* stream) const {
if (!stream) {
@@ -42,6 +42,12 @@ class YaAttributeList : public Steinberg::Vst::IAttributeList {
DECLARE_FUNKNOWN_METHODS
/**
* Get all of the keys stored in this attribute list along with their type
* in the `<key> (<type>)` format, used in the log messages.
*/
std::vector<std::string> keys_and_types() const;
/**
* Write the attribute list a host provided `IAttributeList`. This is used
* in `YaBStream::write_back` to write any preset meta data back to the host