- string left = Config->get_auditioner_output_left();
- string right = Config->get_auditioner_output_right();
-
+}
+
+int
+Auditioner::init ()
+{
+ if (Track::init ()) {
+ return -1;
+ }
+
+ 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 {
+ if (outputs.size() > 0) {
+ left = outputs[0];
+ }
+ }
+ }
+
+ if (right == "default") {
+ if (_session.monitor_out()) {
+ right = _session.monitor_out()->input()->audio (1)->name();
+ via_monitor = true;
+ } else {
+ if (outputs.size() > 1) {
+ right = outputs[1];
+ }
+ }
+ }
+