summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-01-24 19:06:31 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2015-01-24 19:06:31 -0500
commitab3ec791eaaa751cec5906a5e581024c0f391b0e (patch)
tree2136443adb6ce18d32ceadad6c5bf56e42abe30f
parent3068e55e5141eb95f7b9ff49ac711d42fba7a753 (diff)
Add a new signal (not yet used) to initiate session saves; alter signal name for existing signal used to allow other objects to add XML state to session
-rw-r--r--gtk2_ardour/video_timeline.cc2
-rw-r--r--libs/ardour/ardour/session.h16
-rw-r--r--libs/ardour/session_state.cc2
3 files changed, 17 insertions, 3 deletions
diff --git a/gtk2_ardour/video_timeline.cc b/gtk2_ardour/video_timeline.cc
index 0e58534772..eed09fdb23 100644
--- a/gtk2_ardour/video_timeline.cc
+++ b/gtk2_ardour/video_timeline.cc
@@ -142,7 +142,7 @@ VideoTimeLine::set_session (ARDOUR::Session *s)
SessionHandlePtr::set_session (s);
if (!_session) { return ; }
- _session->SaveSession.connect_same_thread (sessionsave, boost::bind (&VideoTimeLine::save_session, this));
+ _session->SessionSaveUnderway.connect_same_thread (sessionsave, boost::bind (&VideoTimeLine::save_session, this));
LocaleGuard lg (X_("C"));
XMLNode* node = _session->extra_xml (X_("Videotimeline"));
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index 895bbd6f17..d1b64f2e5c 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -408,7 +408,21 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop
PBD::Signal1<void,std::string> StateSaved;
PBD::Signal0<void> StateReady;
- PBD::Signal0<void> SaveSession;
+
+ /* emitted when session needs to be saved due to some internal
+ * event or condition (i.e. not in response to a user request).
+ *
+ * Only one object should
+ * connect to this signal and take responsibility.
+ *
+ * Argument is the snapshot name to use when saving.
+ */
+ PBD::Signal1<void,std::string> SaveSessionRequested;
+
+ /* emitted during a session save to allow other entities to add state, via
+ * extra XML, to the session state
+ */
+ PBD::Signal0<void> SessionSaveUnderway;
std::vector<std::string> possible_states() const;
static std::vector<std::string> possible_states (std::string path);
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index 29825b5505..c626e792ea 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -698,7 +698,7 @@ Session::save_state (string snapshot_name, bool pending, bool switch_to_snapshot
}
}
- SaveSession (); /* EMIT SIGNAL */
+ SessionSaveUnderway (); /* EMIT SIGNAL */
tree.set_root (&get_state());