From f1502da03fac80845fdd5cd586b46cf880245526 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 9 Nov 2012 15:06:15 +0000 Subject: [PATCH] merge -r 13412:13414 svn+ssh://ardoursvn@subversion.ardour.org/ardour2/branches/3.0 git-svn-id: svn://localhost/ardour2/branches/3.0-SG@13415 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/ardour/rc_configuration_vars.h | 2 + .../ardour/session_configuration_vars.h | 2 - libs/ardour/auditioner.cc | 46 +++++++++---------- 3 files changed, 23 insertions(+), 27 deletions(-) diff --git a/libs/ardour/ardour/rc_configuration_vars.h b/libs/ardour/ardour/rc_configuration_vars.h index 35c90e61a6..b88f603f5d 100644 --- a/libs/ardour/ardour/rc_configuration_vars.h +++ b/libs/ardour/ardour/rc_configuration_vars.h @@ -152,6 +152,8 @@ CONFIG_VARIABLE (float, meter_falloff, "meter-falloff", 32.0f) /* miscellany */ +CONFIG_VARIABLE (std::string, auditioner_output_left, "auditioner-output-left", "default") +CONFIG_VARIABLE (std::string, auditioner_output_right, "auditioner-output-right", "default") CONFIG_VARIABLE (bool, replicate_missing_region_channels, "replicate-missing-region-channels", false) CONFIG_VARIABLE (bool, hiding_groups_deactivates_groups, "hiding-groups-deactivates-groups", true) CONFIG_VARIABLE (bool, verify_remove_last_capture, "verify-remove-last-capture", true) diff --git a/libs/ardour/ardour/session_configuration_vars.h b/libs/ardour/ardour/session_configuration_vars.h index d70d770587..911c9366fe 100644 --- a/libs/ardour/ardour/session_configuration_vars.h +++ b/libs/ardour/ardour/session_configuration_vars.h @@ -44,8 +44,6 @@ CONFIG_VARIABLE (Timecode::TimecodeFormat, timecode_format, "timecode-format", T CONFIG_VARIABLE_SPECIAL(std::string, raid_path, "raid-path", "", path_expand) CONFIG_VARIABLE_SPECIAL(std::string, audio_search_path, "audio-search-path", "", search_path_expand) CONFIG_VARIABLE_SPECIAL(std::string, midi_search_path, "midi-search-path", "", search_path_expand) -CONFIG_VARIABLE (std::string, auditioner_output_left, "auditioner-output-left", "default") -CONFIG_VARIABLE (std::string, auditioner_output_right, "auditioner-output-right", "default") CONFIG_VARIABLE (bool, jack_time_master, "jack-time-master", true) CONFIG_VARIABLE (bool, use_video_sync, "use-video-sync", false) CONFIG_VARIABLE (float, video_pullup, "video-pullup", 0.0f) diff --git a/libs/ardour/auditioner.cc b/libs/ardour/auditioner.cc index 4620bca306..7c1a2e1e2b 100644 --- a/libs/ardour/auditioner.cc +++ b/libs/ardour/auditioner.cc @@ -61,14 +61,11 @@ Auditioner::init () vector outputs; _session.engine().get_physical_outputs (DataType::AUDIO, outputs); - cerr << "we have " << outputs.size() << " for auditioning, L/R = " << left << " + " << right << endl; - if (left == "default") { if (_session.monitor_out()) { left = _session.monitor_out()->input()->audio (0)->name(); via_monitor = true; } else { - cerr << "here!\n"; if (outputs.size() > 0) { left = outputs[0]; } @@ -80,31 +77,30 @@ Auditioner::init () right = _session.monitor_out()->input()->audio (1)->name(); via_monitor = true; } else { - cerr << "there!\n"; if (outputs.size() > 1) { right = outputs[1]; } } } - if ((left.length() == 0) && (right.length() == 0)) { + if (left.empty() && right.empty()) { warning << _("no outputs available for auditioner - manual connection required") << endmsg; - return -1; + } else { + + _main_outs->defer_pan_reset (); + + if (left.length()) { + _output->add_port (left, this, DataType::AUDIO); + } + + if (right.length()) { + _output->add_port (right, this, DataType::AUDIO); + } + + _main_outs->allow_pan_reset (); + _main_outs->reset_panner (); } - _main_outs->defer_pan_reset (); - - if (left.length()) { - _output->add_port (left, this, DataType::AUDIO); - } - - if (right.length()) { - _output->add_port (right, this, DataType::AUDIO); - } - - _main_outs->allow_pan_reset (); - _main_outs->reset_panner (); - _output->changed.connect_same_thread (*this, boost::bind (&Auditioner::output_changed, this, _1, _2)); return 0; @@ -230,12 +226,12 @@ Auditioner::output_changed (IOChange change, void* /*src*/) phys = outputs[0]; } if (phys != connections[0]) { - _session.config.set_auditioner_output_left (connections[0]); + Config->set_auditioner_output_left (connections[0]); } else { - _session.config.set_auditioner_output_left ("default"); + Config->set_auditioner_output_left ("default"); } } else { - _session.config.set_auditioner_output_left (""); + Config->set_auditioner_output_left (""); } connections.clear (); @@ -245,12 +241,12 @@ Auditioner::output_changed (IOChange change, void* /*src*/) phys = outputs[1]; } if (phys != connections[0]) { - _session.config.set_auditioner_output_right (connections[0]); + Config->set_auditioner_output_right (connections[0]); } else { - _session.config.set_auditioner_output_right ("default"); + Config->set_auditioner_output_right ("default"); } } else { - _session.config.set_auditioner_output_right (""); + Config->set_auditioner_output_right (""); } } }