From a508381dd1dc2a0ebcf03f6fb1eae845e6cfb18c Mon Sep 17 00:00:00 2001 From: Curve Date: Wed, 18 Oct 2023 22:17:42 +0200 Subject: [PATCH] feat: delete virtual device when unused --- CMakeLists.txt | 4 ++-- package.json | 2 +- src/patchbay.impl.cpp | 13 +++++++++++-- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 69f2db8..4cee398 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ -cmake_minimum_required(VERSION 3.16) -project(venmic LANGUAGES CXX VERSION 2.0) +cmake_minimum_required(VERSION 3.21) +project(venmic LANGUAGES CXX VERSION 1.1) # -------------------------------------------------------------------------------------------------------- # Library options diff --git a/package.json b/package.json index e39ee94..f5a3f1a 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "name": "Curve", "url": "https://github.com/Curve" }, - "version": "1.0.0", + "version": "1.1.0", "main": "./lib/index.js", "types": "./lib/module.d.ts", "scripts": { diff --git a/src/patchbay.impl.cpp b/src/patchbay.impl.cpp index 373d946..6bbcde2 100644 --- a/src/patchbay.impl.cpp +++ b/src/patchbay.impl.cpp @@ -312,6 +312,8 @@ namespace vencord return rtn; }; + core->update(); + auto rtn = nodes // | ranges::views::filter(desireable) // | ranges::views::filter(can_output) // @@ -325,6 +327,11 @@ namespace vencord // NOLINTNEXTLINE(*-value-param) void patchbay::impl::receive([[maybe_unused]] cr_recipe::sender, vencord::target req) { + if (!mic) + { + create_mic(); + } + created.clear(); target.emplace(std::move(req)); @@ -343,8 +350,10 @@ namespace vencord // NOLINTNEXTLINE(*-value-param) void patchbay::impl::receive([[maybe_unused]] cr_recipe::sender, [[maybe_unused]] unset_target) { - target.reset(); created.clear(); + target.reset(); + + mic.reset(); } template <> @@ -377,7 +386,7 @@ namespace vencord listener.on([this](std::uint32_t id) { global_removed(id); }); listener.on([this](const auto &global) { global_added(global); }); - create_mic(); + core->update(); sender.send(ready{});