diff options
Diffstat (limited to 'libs/ardour/auditioner.cc')
-rw-r--r-- | libs/ardour/auditioner.cc | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/libs/ardour/auditioner.cc b/libs/ardour/auditioner.cc index c509997b2e..6085501470 100644 --- a/libs/ardour/auditioner.cc +++ b/libs/ardour/auditioner.cc @@ -194,29 +194,27 @@ Auditioner::output_changed (IOChange change, void* src) string phys; if (change & ConnectionsChanged) { - const char ** connections; - connections = output (0)->get_connections (); - if (connections) { + vector<string> connections; + if (output (0)->get_connections (connections)) { phys = _session.engine().get_nth_physical_output (DataType::AUDIO, 0); if (phys != connections[0]) { Config->set_auditioner_output_left (connections[0]); } else { Config->set_auditioner_output_left ("default"); } - free (connections); } else { Config->set_auditioner_output_left (""); } - connections = output (1)->get_connections (); - if (connections) { + connections.clear (); + + if (output (1)->get_connections (connections)) { phys = _session.engine().get_nth_physical_output (DataType::AUDIO, 1); if (phys != connections[0]) { Config->set_auditioner_output_right (connections[0]); } else { Config->set_auditioner_output_right ("default"); } - free (connections); } else { Config->set_auditioner_output_right (""); } |