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:
parent
473fd45ca2
commit
5f8c9a4e60
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user