diff options
author | Robin Gareus <robin@gareus.org> | 2017-04-19 16:38:41 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-04-19 16:41:51 +0200 |
commit | df98be1240907af95fc5af6495d120d52560da2f (patch) | |
tree | 7fbb82ef592285d82228112c80aa814837a4a006 /libs | |
parent | c8aa78af07a225d6eb4f26c64732fe5f78be7a32 (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')
-rw-r--r-- | libs/ardour/auditioner.cc | 8 |
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]; |