13
0

if a user specifies just a session name (not path) and it does not exist, use the default session folder

This commit is contained in:
Paul Davis 2019-07-18 10:17:05 -06:00
parent 473fd45ca2
commit 5f8c9a4e60

View File

@ -3285,15 +3285,33 @@ ARDOUR_UI::get_session_parameters (bool quit_on_cancel, bool should_be_new, stri
template_name = load_template;
}
session_name = basename_nosuffix (ARDOUR_COMMAND_LINE::session_name);
session_path = ARDOUR_COMMAND_LINE::session_name;
if (!session_path.empty()) {
if (Glib::file_test (session_path.c_str(), Glib::FILE_TEST_EXISTS)) {
session_name = basename_nosuffix (ARDOUR_COMMAND_LINE::session_name);
if (Glib::file_test (session_path.c_str(), Glib::FILE_TEST_IS_REGULAR)) {
/* session/snapshot file, change path to be dir */
session_path = Glib::path_get_dirname (session_path);
}
} else {
/* session (file or folder) does not exist ... did the
* user give us a path or just a name?
*/
if (session_path.find (G_DIR_SEPARATOR) == string::npos) {
/* user gave session name with no path info, use
default session folder.
*/
session_name = ARDOUR_COMMAND_LINE::session_name;
session_path = Glib::build_filename (Config->get_default_session_parent_dir (), session_name);
} else {
session_name = basename_nosuffix (ARDOUR_COMMAND_LINE::session_name);
}
}
}