pending_abort = false;
destructive_index = 0;
current_trans = 0;
-
+ first_file_data_format_reset = true;
+ first_file_header_format_reset = true;
+
AudioDiskstream::allocate_working_buffers();
/* default short fade = 15ms */
return 0;
}
+bool
+Session::save_config_options_predicate (ConfigVariableBase::Owner owner) const
+{
+ const ConfigVariableBase::Owner modified_by_session_or_user = (ConfigVariableBase::Owner)
+ (ConfigVariableBase::Session|ConfigVariableBase::Interface);
+
+ return owner & modified_by_session_or_user;
+}
+
XMLNode&
Session::get_options () const
{
XMLNode* child;
LocaleGuard lg (X_("POSIX"));
- XMLNode& option_root = Config->get_partial_state (ConfigVariableBase::Interface);
+ XMLNode& option_root = Config->get_variables (mem_fun (*this, &Session::save_config_options_predicate));
child = option_root.add_child ("end-marker-is-free");
child->add_property ("val", _end_location_is_free ? "yes" : "no");
- child = option_root.add_child ("full-xfades-unmuted");
-
return option_root;
}
} else if (PARAM_IS ("auto-input")) {
- if (Config->get_use_hardware_monitoring() && transport_rolling()) {
+ if (Config->get_monitoring_model() == HardwareMonitoring && transport_rolling()) {
/* auto-input only makes a difference if we're rolling */
boost::shared_ptr<DiskstreamList> dsl = diskstreams.reader();
session_midi_feedback = Config->get_midi_feedback();
}
+ } else if (PARAM_IS ("jack-time-master")) {
+
+ engine().reset_timebase ();
+
+ } else if (PARAM_IS ("native-file-header-format")) {
+
+ if (!first_file_header_format_reset) {
+ reset_native_file_format ();
+ }
+
+ first_file_header_format_reset = false;
+
+ } else if (PARAM_IS ("native-file-data-format")) {
+
+ if (!first_file_data_format_reset) {
+ reset_native_file_format ();
+ }
+
+ first_file_data_format_reset = false;
}
set_dirty ();