summaryrefslogtreecommitdiff
path: root/libs/ardour/session_state.cc
diff options
context:
space:
mode:
authorJohannes Mueller <github@johannes-mueller.org>2020-04-01 22:22:37 +0200
committerJohannes Mueller <github@johannes-mueller.org>2020-04-02 14:33:21 +0200
commit687b3078c383c34e4cd73f6073da7cc7823ecff2 (patch)
treef01ede01dda692e327b37bd61d5b517e6e514ded /libs/ardour/session_state.cc
parent1439610f959284c00ae0f1fd8b81a5d3253bbd6b (diff)
Don't issue VersionMismatch when creating a new session
When we create a new session and are using a template from an old version of Ardour, we should not issue the VersionMismatch dialog and not make a copy of the session file for the old version. We need to extend the signature of Session::load_state() to tell it if we are creating a session from a template. Session::_is_new cannot be used for it because it has a the semantics if to auto connect the the master bus.
Diffstat (limited to 'libs/ardour/session_state.cc')
-rw-r--r--libs/ardour/session_state.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index 59265baefe..e82637ad82 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -970,7 +970,7 @@ Session::restore_state (string snapshot_name)
}
int
-Session::load_state (string snapshot_name)
+Session::load_state (string snapshot_name, bool from_template)
{
delete state_tree;
state_tree = 0;
@@ -1035,7 +1035,7 @@ Session::load_state (string snapshot_name)
throw SessionException (string_compose (_("Incomatible Session Version. That session was created with a newer version of %1"), PROGRAM_NAME));
}
- if (Stateful::loading_state_version < CURRENT_SESSION_FILE_VERSION && _writable) {
+ if (Stateful::loading_state_version < CURRENT_SESSION_FILE_VERSION && _writable && !from_template) {
std::string backup_path(_session_dir->root_path());
std::string backup_filename = string_compose ("%1-%2%3", legalize_for_path (snapshot_name), Stateful::loading_state_version, statefile_suffix);