latched rec-enable
[ardour.git] / libs / ardour / configuration.cc
index 28f13aabb8442281a361ac5f06f4171379c2b87d..61d288ab51d1af1fcc751b8c7e38e31179f731fd 100644 (file)
@@ -291,6 +291,9 @@ Configuration::state (bool user_only)
                snprintf (buf, sizeof (buf), "%f", speed_quietning);
                node->add_child_nocopy(option_node("quieten-at-speed", buf));
        }
+       if (!user_only || latched_record_enable_is_user) {
+               node->add_child_nocopy(option_node("latched-record-enable", latched_record_enable?"yes":"no"));
+       }
 
        /* use-vst is always per-user */
        node->add_child_nocopy (option_node ("use-vst", use_vst?"yes":"no"));
@@ -431,6 +434,8 @@ Configuration::set_state (const XMLNode& root)
                                        }
                                } else if (option_name == "midi-feedback-interval-ms") {
                                        set_midi_feedback_interval_ms (atoi (option_value.c_str()));
+                               } else if (option_name == "latched-record-enable") {
+                                       set_latched_record_enable (option_value == "yes");
                                }
                        }
                        
@@ -526,6 +531,7 @@ Configuration::set_defaults ()
        timecode_source_is_synced_is_user = false;
        quieten_at_speed_is_user = false;
        midi_feedback_interval_ms_is_user = false;
+       latched_record_enable_is_user = false;
 }
 
 Configuration::MidiPortDescriptor::MidiPortDescriptor (const XMLNode& node)
@@ -1130,3 +1136,18 @@ Configuration::set_quieten_at_speed (float gain_coefficient)
                quieten_at_speed_is_user = true;
        }
 }
+
+void
+Configuration::set_latched_record_enable (bool yn)
+{
+       latched_record_enable = yn;
+       if (user_configuration) {
+               latched_record_enable_is_user = true;
+       }
+}
+
+bool
+Configuration::get_latched_record_enable ()
+{
+       return latched_record_enable;
+}