From d9cf6880b6d65665a55aed212503de0820db6f40 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 13 Jan 2014 10:50:22 +0100 Subject: fix output metering for Sends (Aux and External) --- libs/ardour/send.cc | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'libs/ardour/send.cc') diff --git a/libs/ardour/send.cc b/libs/ardour/send.cc index e74fd7f8ce..2c3d8f23ae 100644 --- a/libs/ardour/send.cc +++ b/libs/ardour/send.cc @@ -29,6 +29,7 @@ #include "ardour/buffer_set.h" #include "ardour/meter.h" #include "ardour/io.h" +#include "ardour/panner_shell.h" #include "i18n.h" @@ -86,6 +87,10 @@ Send::Send (Session& s, boost::shared_ptr p, boost::shared_ptrgain_control ()); + + if (panner_shell()) { + panner_shell()->Changed.connect_same_thread (*this, boost::bind (&Send::panshell_changed, this)); + } } Send::~Send () @@ -284,7 +289,7 @@ Send::can_support_io_configuration (const ChanCount& in, ChanCount& out) bool Send::configure_io (ChanCount in, ChanCount out) { - if (!_amp->configure_io (in, out) || !_meter->configure_io (in, out)) { + if (!_amp->configure_io (in, out)) { return false; } @@ -292,11 +297,21 @@ Send::configure_io (ChanCount in, ChanCount out) return false; } + if (!_meter->configure_io (ChanCount (DataType::AUDIO, pan_outs()), ChanCount (DataType::AUDIO, pan_outs()))) { + return false; + } + reset_panner (); return true; } +void +Send::panshell_changed () +{ + _meter->configure_io (ChanCount (DataType::AUDIO, pan_outs()), ChanCount (DataType::AUDIO, pan_outs())); +} + bool Send::set_name (const string& new_name) { -- cgit v1.2.3