From df98be1240907af95fc5af6495d120d52560da2f Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 19 Apr 2017 16:38:41 +0200 Subject: [PATCH] Don't explicitly store Auditioner -> Monitor connections. The monitor section connection is implicit and done by default. This fixes an issue with the auditioner connections being lost when switching between sessions that use/don't use the monitor-section. Previously: 1) load session with monitor section, save session -> global config explicitly saved "auditioner-output-left" -> "ardour:Monitor/audio_in 1" 2) Load a session w/o monitor-section. The config is parsed, "ardour:Monitor/audio_in" port does not exist, connection was lost. --- libs/ardour/auditioner.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libs/ardour/auditioner.cc b/libs/ardour/auditioner.cc index eec65f07f6..f2122cef27 100644 --- a/libs/ardour/auditioner.cc +++ b/libs/ardour/auditioner.cc @@ -570,6 +570,14 @@ Auditioner::output_changed (IOChange change, void* /*src*/) vector connections; vector outputs; _session.engine().get_physical_outputs (DataType::AUDIO, outputs); + + if (_session.monitor_out () && _output->connected_to (_session.monitor_out ()->input ())) { + Config->set_auditioner_output_left ("default"); + Config->set_auditioner_output_right ("default"); + via_monitor = true; + return; + } + if (_output->nth (0)->get_connections (connections)) { if (outputs.size() > 0) { phys = outputs[0];