summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-04-23 19:41:14 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-04-23 19:41:14 +0000
commit6d523705589e87a5f85cd0a8c5fd3427543b9799 (patch)
tree8506ba1b6f6d82548eb1a323b2824738b3afe4ff /gtk2_ardour/ardour_ui.cc
parent41d3f3519c077b061c03fc0f50b4d4bded0d1e28 (diff)
more misc. startup/session load fixes
git-svn-id: svn://localhost/ardour2/branches/3.0@5001 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/ardour_ui.cc')
-rw-r--r--gtk2_ardour/ardour_ui.cc14
1 files changed, 12 insertions, 2 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 299bb38523..838588487b 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -2245,9 +2245,19 @@ ARDOUR_UI::get_session_parameters (bool should_be_new)
if (!should_be_new && !ARDOUR_COMMAND_LINE::session_name.empty()) {
- session_path = Glib::path_get_dirname (ARDOUR_COMMAND_LINE::session_name);
+ /* if they named a specific statefile, use it, otherwise they are
+ just giving a session folder, and we want to use it as is
+ to find the session.
+ */
+
+ if (ARDOUR_COMMAND_LINE::session_name.find (statefile_suffix) != string::npos) {
+ session_path = Glib::path_get_dirname (ARDOUR_COMMAND_LINE::session_name);
+ } else {
+ session_path = ARDOUR_COMMAND_LINE::session_name;
+ }
+
session_name = Glib::path_get_basename (ARDOUR_COMMAND_LINE::session_name);
-
+
} else {
run_startup (should_be_new);