From 54cd8e63683c902fa6ffe532e8c81c2fa9c950ca Mon Sep 17 00:00:00 2001 From: Nikolaus Gullotta Date: Mon, 26 Aug 2019 13:36:39 -0500 Subject: [PATCH] more work on getting TemplateManager to use the SnapshotManager: Create hookup, and use RenamedSnapshot signal --- gtk2_ardour/mixer_snapshots.cc | 1 + gtk2_ardour/template_dialog.cc | 8 ++++++++ libs/ardour/ardour/mixer_snapshot_manager.h | 1 + libs/ardour/mixer_snapshot_manager.cc | 1 + 4 files changed, 11 insertions(+) diff --git a/gtk2_ardour/mixer_snapshots.cc b/gtk2_ardour/mixer_snapshots.cc index 4725f61868..7dbe6a2b31 100644 --- a/gtk2_ardour/mixer_snapshots.cc +++ b/gtk2_ardour/mixer_snapshots.cc @@ -159,6 +159,7 @@ void MixerSnapshotList::set_session (Session* s) if(_global) { s->snapshot_manager().PromotedSnapshot.connect(connections, invalidator(*this), boost::bind(&MixerSnapshotList::add_promoted_snapshot, this, _1), gui_context()); s->snapshot_manager().RemovedSnapshot.connect(connections, invalidator(*this), boost::bind(&MixerSnapshotList::redisplay, this), gui_context()); + s->snapshot_manager().RenamedSnapshot.connect(connections, invalidator(*this), boost::bind(&MixerSnapshotList::redisplay, this), gui_context()); } redisplay(); } diff --git a/gtk2_ardour/template_dialog.cc b/gtk2_ardour/template_dialog.cc index 3154c41cde..50024dc15b 100644 --- a/gtk2_ardour/template_dialog.cc +++ b/gtk2_ardour/template_dialog.cc @@ -883,6 +883,14 @@ RouteTemplateManager::rename_template (TreeModel::iterator& item, const Glib::us item->set_value (_template_columns.name, string (new_name)); item->set_value (_template_columns.path, new_filepath); + + SnapshotList sl = _session->snapshot_manager().get_global_snapshots(); + for(SnapshotList::const_iterator it = sl.begin(); it != sl.end(); it++) { + if(old_name == (*it)->get_label()) { + _session->snapshot_manager().rename_snapshot((*it), new_name); + break; + } + } } void diff --git a/libs/ardour/ardour/mixer_snapshot_manager.h b/libs/ardour/ardour/mixer_snapshot_manager.h index 03a0bb2e9d..cad7439657 100644 --- a/libs/ardour/ardour/mixer_snapshot_manager.h +++ b/libs/ardour/ardour/mixer_snapshot_manager.h @@ -62,6 +62,7 @@ public: PBD::Signal1 PromotedSnapshot; PBD::Signal1 CreatedSnapshot; PBD::Signal0 RemovedSnapshot; + PBD::Signal0 RenamedSnapshot; private: void ensure_snapshot_dir(bool global); std::string _global_path; diff --git a/libs/ardour/mixer_snapshot_manager.cc b/libs/ardour/mixer_snapshot_manager.cc index 3af085bb9d..98e15fb24c 100644 --- a/libs/ardour/mixer_snapshot_manager.cc +++ b/libs/ardour/mixer_snapshot_manager.cc @@ -151,6 +151,7 @@ bool MixerSnapshotManager::rename_snapshot(MixerSnapshot* snapshot, const string const string new_path = Glib::build_filename(dir, snapshot->get_label() + string(template_suffix)); ::g_rename(old_path.c_str(), new_path.c_str()); snapshot->set_path(new_path); + RenamedSnapshot(); /* EMIT SIGNAL */ return true; }