X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fsend.cc;h=23ae860f47123fc7f1893d82e83d94cdc096c04d;hb=884cb355230d293233e599bdfebae7f67684a48e;hp=9d5fd619c3d486056c20e25dd5cc0792b3811f20;hpb=6b3a8915f3c50f7220121fcb9202ec20144389c4;p=ardour.git diff --git a/libs/ardour/send.cc b/libs/ardour/send.cc index 9d5fd619c3..23ae860f47 100644 --- a/libs/ardour/send.cc +++ b/libs/ardour/send.cc @@ -26,6 +26,7 @@ #include "ardour/amp.h" #include "ardour/buffer_set.h" #include "ardour/debug.h" +#include "ardour/gain_control.h" #include "ardour/io.h" #include "ardour/meter.h" #include "ardour/panner_shell.h" @@ -48,7 +49,7 @@ string Send::name_and_id_new_send (Session& s, Role r, uint32_t& bitslot, bool ignore_bitslot) { if (ignore_bitslot) { - /* this happens during initial construction of sends from XML, + /* this happens during initial construction of sends from XML, before they get ::set_state() called. lets not worry about it. */ @@ -68,7 +69,7 @@ Send::name_and_id_new_send (Session& s, Role r, uint32_t& bitslot, bool ignore_b abort(); /*NOTREACHED*/ return string(); } - + } Send::Send (Session& s, boost::shared_ptr p, boost::shared_ptr mm, Role r, bool ignore_bitslot) @@ -86,13 +87,15 @@ Send::Send (Session& s, boost::shared_ptr p, boost::shared_ptr gl (new AutomationList (Evoral::Parameter (GainAutomation))); + _gain_control = boost::shared_ptr (new GainControl (_session, Evoral::Parameter(GainAutomation), gl)); + add_control (_gain_control); + + _amp.reset (new Amp (_session, _("Fader"), _gain_control, true)); _meter.reset (new PeakMeter (_session, name())); _delayline.reset (new DelayLine (_session, name())); - add_control (_amp->gain_control ()); - if (panner_shell()) { panner_shell()->Changed.connect_same_thread (*this, boost::bind (&Send::panshell_changed, this)); } @@ -239,7 +242,7 @@ Send::set_state (const XMLNode& node, int version) /* don't try to reset bitslot if there is a node for it already: this can cause issues with the session's accounting of send ID's */ - + if ((prop = node.property ("bitslot")) == 0) { if (_role == Delivery::Aux) { _bitslot = _session.next_aux_send_id (); @@ -264,7 +267,7 @@ Send::set_state (const XMLNode& node, int version) } } } - + XMLNodeList nlist = node.children(); for (XMLNodeIterator i = nlist.begin(); i != nlist.end(); ++i) { if ((*i)->name() == X_("Processor")) { @@ -400,5 +403,3 @@ Send::value_as_string (boost::shared_ptr ac) const { return _amp->value_as_string (ac); } - -