diff options
author | Carl Hetherington <carl@carlh.net> | 2010-07-28 01:40:36 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-07-28 01:40:36 +0000 |
commit | c2cf3c5bfd652db87b92b241676981a44daf3091 (patch) | |
tree | f30a6e6a34ecb53f73da09f909de26739565f558 /libs/ardour/auditioner.cc | |
parent | 922488427a09fdfd4f4685bb114bdc992680a39f (diff) |
Trim get_nth_physical port methods.
git-svn-id: svn://localhost/ardour2/branches/3.0@7518 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/auditioner.cc')
-rw-r--r-- | libs/ardour/auditioner.cc | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/libs/ardour/auditioner.cc b/libs/ardour/auditioner.cc index 45a836582d..868c8d4334 100644 --- a/libs/ardour/auditioner.cc +++ b/libs/ardour/auditioner.cc @@ -59,12 +59,17 @@ Auditioner::init () string left = _session.config.get_auditioner_output_left(); string right = _session.config.get_auditioner_output_right(); + vector<string> outputs; + _session.engine().get_physical_outputs (DataType::AUDIO, outputs); + if (left == "default") { if (_session.monitor_out()) { left = _session.monitor_out()->input()->audio (0)->name(); via_monitor = true; } else { - left = _session.engine().get_nth_physical_output (DataType::AUDIO, 0); + if (outputs.size() > 0) { + left = outputs[0]; + } } } @@ -73,7 +78,9 @@ Auditioner::init () right = _session.monitor_out()->input()->audio (1)->name(); via_monitor = true; } else { - right = _session.engine().get_nth_physical_output (DataType::AUDIO, 1); + if (outputs.size() > 1) { + right = outputs[1]; + } } } @@ -231,8 +238,12 @@ Auditioner::output_changed (IOChange change, void* /*src*/) if (change & ConnectionsChanged) { string phys; vector<string> connections; + vector<string> outputs; + _session.engine().get_physical_outputs (DataType::AUDIO, outputs); if (_output->nth (0)->get_connections (connections)) { - phys = _session.engine().get_nth_physical_output (DataType::AUDIO, 0); + if (outputs.size() > 0) { + phys = outputs[0]; + } if (phys != connections[0]) { _session.config.set_auditioner_output_left (connections[0]); } else { @@ -245,7 +256,9 @@ Auditioner::output_changed (IOChange change, void* /*src*/) connections.clear (); if (_output->nth (1)->get_connections (connections)) { - phys = _session.engine().get_nth_physical_output (DataType::AUDIO, 1); + if (outputs.size() > 1) { + phys = outputs[1]; + } if (phys != connections[0]) { _session.config.set_auditioner_output_right (connections[0]); } else { |