diff --git a/src/patchbay.impl.cpp b/src/patchbay.impl.cpp index 17bfffc..53c4ca1 100644 --- a/src/patchbay.impl.cpp +++ b/src/patchbay.impl.cpp @@ -303,9 +303,20 @@ namespace vencord core->update(); - auto rtn = nodes // - | ranges::views::filter(desireable) // - | ranges::views::filter(can_output) // + auto filtered = nodes // + | ranges::views::filter(desireable) // + | ranges::views::filter(can_output); + + // Some nodes update their props (metadata) over time, and there is no pipewire event to catch this. Thus we + // re-bind them. + + for (auto &[id, node] : filtered) + { + auto updated = registry->bind(id).get(); + node.info.props = updated->info().props; + } + + auto rtn = filtered // | ranges::views::transform(to_node) // | ranges::to;