add_option (_("Audio"), oac);
+ add_option (_("Audio"),
+ new BoolOption (
+ "ignore-feedback-loops",
+ _("Ignore Feedback Loops"),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::get_ignore_feedback_loops),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::set_ignore_feedback_loops)
+ ));
+
add_option (_("Audio"), new OptionEditorHeading (_("Denormals")));
add_option (_("Audio"),
CONFIG_VARIABLE (bool, use_plugin_own_gui, "use-plugin-own-gui", true)
CONFIG_VARIABLE (uint32_t, max_recent_sessions, "max-recent-sessions", 10)
CONFIG_VARIABLE (double, automation_thinning_factor, "automation-thinning-factor", 20.0)
+CONFIG_VARIABLE (bool, ignore_feedback_loops, "ignore-feedback-loops", false)
/* denormal management */
/* Attempt a topological sort of the route graph */
boost::shared_ptr<RouteList> sorted_routes = topological_sort (r, edges);
- if (sorted_routes) {
+ if (Config->get_ignore_feedback_loops() || sorted_routes) {
/* We got a satisfactory topological sort, so there is no feedback;
use this new graph.
#endif
SuccessfulGraphSort (); /* EMIT SIGNAL */
+ }
- } else {
+ if (!sorted_routes) {
/* The topological sort failed, so we have a problem. Tell everyone
and stick to the old graph; this will continue to be processed, so
until the feedback is fixed, what is played back will not quite