diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2015-01-24 19:06:31 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2015-01-24 19:06:31 -0500 |
commit | ab3ec791eaaa751cec5906a5e581024c0f391b0e (patch) | |
tree | 2136443adb6ce18d32ceadad6c5bf56e42abe30f | |
parent | 3068e55e5141eb95f7b9ff49ac711d42fba7a753 (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.cc | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/session.h | 16 | ||||
-rw-r--r-- | libs/ardour/session_state.cc | 2 |
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()); |