summaryrefslogtreecommitdiff
path: root/libs/ardour/auditioner.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-04-19 16:38:41 +0200
committerRobin Gareus <robin@gareus.org>2017-04-19 16:41:51 +0200
commitdf98be1240907af95fc5af6495d120d52560da2f (patch)
tree7fbb82ef592285d82228112c80aa814837a4a006 /libs/ardour/auditioner.cc
parentc8aa78af07a225d6eb4f26c64732fe5f78be7a32 (diff)
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.
Diffstat (limited to 'libs/ardour/auditioner.cc')
-rw-r--r--libs/ardour/auditioner.cc8
1 files changed, 8 insertions, 0 deletions
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<string> connections;
vector<string> 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];