From 86bc853788a499931815c337bb745e2efabc36d1 Mon Sep 17 00:00:00 2001 From: Nikolaus Gullotta Date: Tue, 30 Jul 2019 15:20:45 -0500 Subject: [PATCH] MixerSnapshots now have a path (the source from which it derived) and MixerSnapshotManager will correctly set this --- libs/ardour/ardour/mixer_snapshot.h | 6 +++++- libs/ardour/mixer_snapshot.cc | 4 +++- libs/ardour/mixer_snapshot_manager.cc | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/libs/ardour/ardour/mixer_snapshot.h b/libs/ardour/ardour/mixer_snapshot.h index af913243d7..5f5458a9d5 100644 --- a/libs/ardour/ardour/mixer_snapshot.h +++ b/libs/ardour/ardour/mixer_snapshot.h @@ -99,7 +99,10 @@ class LIBARDOUR_API MixerSnapshot void set_id(unsigned int new_id) {id = new_id;}; std::string get_label() {return label;}; - void set_label(std::string new_label) {label = new_label;}; + void set_label(const std::string& new_label) {label = new_label;}; + + std::string get_path() {return _path;}; + void set_path(const std::string& new_path) {_path = new_path;}; bool get_favorite() {return favorite;}; void set_favorite(bool yn) {favorite = yn;}; @@ -130,6 +133,7 @@ class LIBARDOUR_API MixerSnapshot std::string last_modified_with; std::string suffix; RecallFlags _flags; + std::string _path; std::vector route_states; std::vector group_states; diff --git a/libs/ardour/mixer_snapshot.cc b/libs/ardour/mixer_snapshot.cc index a9b45dfed2..bc51d8f312 100644 --- a/libs/ardour/mixer_snapshot.cc +++ b/libs/ardour/mixer_snapshot.cc @@ -461,6 +461,8 @@ void MixerSnapshot::load(const string path) return; } + _path = path; + XMLTree tree; tree.read(path); @@ -536,7 +538,7 @@ void MixerSnapshot::load_from_session(string path) return; } } - + _path = path; XMLTree tree; tree.read(path); diff --git a/libs/ardour/mixer_snapshot_manager.cc b/libs/ardour/mixer_snapshot_manager.cc index 2d4d0cfafc..b5372bdc3d 100644 --- a/libs/ardour/mixer_snapshot_manager.cc +++ b/libs/ardour/mixer_snapshot_manager.cc @@ -60,6 +60,7 @@ void MixerSnapshotManager::refresh() MixerSnapshot* snap = new MixerSnapshot(_session, info.path); snap->set_label(info.name); + snap->set_path(info.path); _global_snapshots.insert(snap); printf("Global - name: %s\n", snap->get_label().c_str());