From 9a8464ff402511f9db6db02b79243cab3169bb3e Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 1 Mar 2019 18:56:56 +0100 Subject: [PATCH] Add a signal to indicate VCA creation As opposed to VCAAdded this is not emitted when re-loading a session and only emitted when a user creates a new VCA. --- libs/ardour/ardour/vca_manager.h | 1 + libs/ardour/vca_manager.cc | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/libs/ardour/ardour/vca_manager.h b/libs/ardour/ardour/vca_manager.h index 58d07a7fe2..aba9655ca0 100644 --- a/libs/ardour/ardour/vca_manager.h +++ b/libs/ardour/ardour/vca_manager.h @@ -54,6 +54,7 @@ public: VCAList::size_type n_vcas() const { return _vcas.size(); } PBD::Signal1 VCAAdded; + PBD::Signal0 VCACreated; /*<< is not emitted during set_state */ XMLNode& get_state(); int set_state (XMLNode const&, int version); diff --git a/libs/ardour/vca_manager.cc b/libs/ardour/vca_manager.cc index 90a1233087..15a9cc8983 100644 --- a/libs/ardour/vca_manager.cc +++ b/libs/ardour/vca_manager.cc @@ -111,6 +111,10 @@ VCAManager::create_vca (uint32_t howmany, std::string const & name_template) VCAAdded (vcal); /* EMIT SIGNAL */ + if (!vcal.empty ()) { + VCACreated (); /* EMIT SIGNAL */ + } + _session.set_dirty (); return vcal;