diff options
author | Jesse Chappell <jesse@essej.net> | 2007-04-20 02:46:21 +0000 |
---|---|---|
committer | Jesse Chappell <jesse@essej.net> | 2007-04-20 02:46:21 +0000 |
commit | c46cb59f8d4b25b7199c52f0613ddc5b4186b93f (patch) | |
tree | ccecb8e405b6312271c4b059a52ce4b5a771fc2a /libs | |
parent | a77dd0ad59c4668301cef5097ebf22f4353b4f79 (diff) |
resurrected the periodic safety backup. defaults to 120 second interval between saves. never lose your work again.
git-svn-id: svn://localhost/ardour2/trunk@1732 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/ardour/configuration_vars.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/session.h | 2 | ||||
-rw-r--r-- | libs/ardour/session_state.cc | 10 |
3 files changed, 13 insertions, 1 deletions
diff --git a/libs/ardour/ardour/configuration_vars.h b/libs/ardour/ardour/configuration_vars.h index 62bf826dc9..395732e727 100644 --- a/libs/ardour/ardour/configuration_vars.h +++ b/libs/ardour/ardour/configuration_vars.h @@ -137,6 +137,8 @@ CONFIG_VARIABLE (bool, use_vst, "use-vst", true) CONFIG_VARIABLE (uint32_t, subframes_per_frame, "subframes-per-frame", 100) CONFIG_VARIABLE (uint32_t, saved_history_depth, "save-history-depth", 100) CONFIG_VARIABLE (bool, use_overlap_equivalency, "use-overlap-equivalency", false) +CONFIG_VARIABLE (bool, periodic_safety_backups, "periodic-safety-backups", true) +CONFIG_VARIABLE (uint32_t, periodic_safety_backup_interval, "periodic-safety-backup-interval", 120) /* BWAV */ diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 675fa7ca0a..70a9d7c96f 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -323,6 +323,8 @@ class Session : public PBD::StatefulDestructible void disable_record (bool rt_context, bool force = false); void step_back_from_record (); + void maybe_write_autosave (); + /* Proxy signal for region hidden changes */ sigc::signal<void,boost::shared_ptr<Region> > RegionHiddenChange; diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index d3bf70a2dd..418709a826 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -575,6 +575,14 @@ Session::load_diskstreams (const XMLNode& node) } void +Session::maybe_write_autosave() +{ + if (dirty() && record_status() != Recording) { + save_state("", true); + } +} + +void Session::remove_pending_capture_state () { string xml_path; @@ -681,7 +689,7 @@ Session::save_state (string snapshot_name, bool pending) tmp_path += snapshot_name; tmp_path += ".tmp"; - cerr << "actually writing state\n"; + cerr << "actually writing state to " << xml_path << endl; if (!tree.write (tmp_path)) { error << string_compose (_("state could not be saved to %1"), tmp_path) << endmsg; |