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.
This commit is contained in:
Robin Gareus 2017-04-19 16:38:41 +02:00
parent c8aa78af07
commit df98be1240

View File

@ -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];