_path += '/';
}
+ set_history_depth (Config->get_history_depth());
+
+
/* these two are just provisional settings. set_state()
will likely override them.
*/
backup_path += "-1";
backup_path += _statefile_suffix;
- info << string_compose (_("Copying old session file %1 to %2\nUse %2 with Ardour versions before 2.0 from now on"),
- xmlpath, backup_path)
- << endmsg;
-
- copy_file (xmlpath, backup_path);
+ /* don't make another copy if it already exists */
- /* if it fails, don't worry. right? */
+ if (!Glib::file_test (backup_path, Glib::FILE_TEST_EXISTS)) {
+ info << string_compose (_("Copying old session file %1 to %2\nUse %2 with Ardour versions before 2.0 from now on"),
+ xmlpath, backup_path)
+ << endmsg;
+
+ copy_file (xmlpath, backup_path);
+
+ /* if it fails, don't worry. right? */
+ }
}
return 0;
// store libardour version, just in case
char buf[16];
snprintf(buf, sizeof(buf)-1, "%d.%d.%d",
- libardour_major_version, libardour_minor_version, libardour_micro_version);
+ libardour2_major_version, libardour2_minor_version, libardour2_micro_version);
node->add_property("version", string(buf));
/* store configuration settings */
Config->add_instant_xml (node, get_user_ardour_path());
}
-
int
Session::save_history (string snapshot_name)
{
string xml_path;
string bak_path;
- tree.set_root (&_history.get_state (Config->get_saved_history_depth()));
-
if (snapshot_name.empty()) {
snapshot_name = _current_snapshot_name;
}
bak_path = xml_path + ".bak";
- if ((access (xml_path.c_str(), F_OK) == 0) &&
- (rename (xml_path.c_str(), bak_path.c_str())))
- {
+ if (Glib::file_test (xml_path, Glib::FILE_TEST_EXISTS) && ::rename (xml_path.c_str(), bak_path.c_str())) {
error << _("could not backup old history file, current history not saved.") << endmsg;
return -1;
}
+ if (!Config->get_save_history() || Config->get_saved_history_depth() < 0) {
+ return 0;
+ }
+
+ tree.set_root (&_history.get_state (Config->get_saved_history_depth()));
+
if (!tree.write (xml_path))
{
error << string_compose (_("history could not be saved to %1"), xml_path) << endmsg;
xmlpath = _path + snapshot_name + ".history";
cerr << string_compose(_("Loading history from '%1'."), xmlpath) << endmsg;
- if (access (xmlpath.c_str(), F_OK)) {
- info << string_compose (_("%1: no history file \"%2\" for this session."), _name, xmlpath) << endmsg;
+ if (!Glib::file_test (xmlpath, Glib::FILE_TEST_EXISTS)) {
return 1;
}
} else if (PARAM_IS ("mmc-device-id") || PARAM_IS ("mmc-receive-device-id")) {
- if (mmc) {
- mmc->set_receive_device_id (Config->get_mmc_receive_device_id());
- }
+ set_mmc_receive_device_id (Config->get_mmc_receive_device_id());
} else if (PARAM_IS ("mmc-send-device-id")) {
- if (mmc) {
- mmc->set_send_device_id (Config->get_mmc_send_device_id());
- }
+ set_mmc_send_device_id (Config->get_mmc_send_device_id());
} else if (PARAM_IS ("midi-control")) {
set_slave_source (Config->get_slave_source());
} else if (PARAM_IS ("remote-model")) {
set_remote_control_ids ();
- } else if (PARAM_IS ("denormal-model")) {
+ } else if (PARAM_IS ("denormal-model")) {
setup_fpu ();
+ } else if (PARAM_IS ("history-depth")) {
+ set_history_depth (Config->get_history_depth());
+ } else if (PARAM_IS ("sync-all-route-ordering")) {
+ sync_order_keys ();
}
set_dirty ();
#undef PARAM_IS
}
+
+void
+Session::set_history_depth (uint32_t d)
+{
+ _history.set_depth (d);
+}