diff --git a/src/virtmic.cpp b/src/virtmic.cpp index 3a691d2..cd340b7 100644 --- a/src/virtmic.cpp +++ b/src/virtmic.cpp @@ -86,6 +86,10 @@ void start(QString _target) { auto &parent = nodes.at(parent_id); std::string name = getTarget(parent.props); + if (parent.props["media.class"] == "Audio/Source" || + parent.props["media.class"] == "Audio/Source/Voice") + continue; + if (name == target || (target == "[All Desktop Audio]" && !EXCLUDE_TARGETS.contains(QString::fromStdString(name)))) { @@ -165,6 +169,11 @@ void start(QString _target) { } }); + reg_events.on( + [&](const pipewire::registry_event::node_state &event) { + link(target, core); + }); + reg_events.on( [&](const std::uint32_t id) { if (nodes.count(id)) {