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"));
+ }
+ if (!user_only || tape_dir_is_user) {
+ if (!tape_dir.empty()) {
+ node->add_child_nocopy(option_node("tape-dir", tape_dir));
+ }
+ }
/* use-vst is always per-user */
node->add_child_nocopy (option_node ("use-vst", use_vst?"yes":"no"));
}
} 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");
+ } else if (option_name == "tape-dir") {
+ set_tape_dir (option_value);
}
}
timecode_source_is_synced = true;
use_vst = true; /* if we build with VST_SUPPORT, otherwise no effect */
quieten_at_speed = true;
+ tape_dir = "";
midi_feedback_interval_ms = 100;
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;
+ tape_dir_is_user = false;
}
Configuration::MidiPortDescriptor::MidiPortDescriptor (const XMLNode& node)
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;
+}
+
+string
+Configuration::get_tape_dir ()
+{
+ return tape_dir;
+}
+
+void
+Configuration::set_tape_dir (string path)
+{
+ tape_dir = path;
+}