summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2011-05-04 11:32:35 +0000
committerCarl Hetherington <carl@carlh.net>2011-05-04 11:32:35 +0000
commitbcb554a1909b24182a881b9a0506c8467dc36687 (patch)
treeb0df0250fceefc11060147513e6af135fe9c4b70 /gtk2_ardour
parent56b70dcc0b64d34d346514ecfb7c528b140cb743 (diff)
Fix problems with sessions being saved as foo.ardour.ardour when loaded using the session file name (#4026).
git-svn-id: svn://localhost/ardour2/branches/3.0@9471 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/ardour_ui.cc17
1 files changed, 11 insertions, 6 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 449ce2f376..79e89499b8 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -2166,7 +2166,7 @@ ARDOUR_UI::save_state_canfail (string name, bool switch_to_it)
return ret;
}
}
- cerr << "SS canfail\n";
+
save_ardour_state (); /* XXX cannot fail? yeah, right ... */
return 0;
}
@@ -2503,7 +2503,7 @@ ARDOUR_UI::get_session_parameters (bool quit_on_cancel, bool should_be_new, stri
int ret = -1;
bool likely_new = false;
- if (! load_template.empty()) {
+ if (!load_template.empty()) {
should_be_new = true;
template_name = load_template;
}
@@ -2517,14 +2517,17 @@ ARDOUR_UI::get_session_parameters (bool quit_on_cancel, bool should_be_new, stri
to find the session.
*/
- if (ARDOUR_COMMAND_LINE::session_name.find (statefile_suffix) != string::npos) {
+ string::size_type suffix = ARDOUR_COMMAND_LINE::session_name.find (statefile_suffix);
+
+ if (suffix != string::npos) {
session_path = Glib::path_get_dirname (ARDOUR_COMMAND_LINE::session_name);
+ session_name = ARDOUR_COMMAND_LINE::session_name.substr (0, suffix);
+ session_name = Glib::path_get_basename (session_name);
} else {
session_path = ARDOUR_COMMAND_LINE::session_name;
+ session_name = Glib::path_get_basename (ARDOUR_COMMAND_LINE::session_name);
}
- session_name = Glib::path_get_basename (ARDOUR_COMMAND_LINE::session_name);
-
} else {
bool const apply = run_startup (should_be_new, load_template);
@@ -2680,7 +2683,9 @@ ARDOUR_UI::close_session()
goto_editor_window ();
}
-/** @return -2 if the load failed because we are not connected to the AudioEngine */
+/** @param snap_name Snapshot name (without .ardour suffix).
+ * @return -2 if the load failed because we are not connected to the AudioEngine.
+ */
int
ARDOUR_UI::load_session (const std::string& path, const std::string& snap_name, std::string mix_template)
{