Allow group gain sharing + VCA again
[ardour.git] / libs / ardour / amp.cc
index 21c79df684b6f1ccc4ca1a9d23d61bfd6affc99d..8760c2d42663991993ca073bbb1140eb678a00b6 100644 (file)
@@ -16,7 +16,6 @@
     675 Mass Ave, Cambridge, MA 02139, USA.
 */
 
-#include <iostream>
 #include <cstring>
 #include <cmath>
 #include <algorithm>
@@ -359,7 +358,7 @@ XMLNode&
 Amp::state (bool full_state)
 {
        XMLNode& node (Processor::state (full_state));
-       node.add_property("type", _gain_control->parameter().type() == GainAutomation ? "amp" : "trim");
+       node.set_property("type", _gain_control->parameter().type() == GainAutomation ? "amp" : "trim");
        node.add_child_nocopy (_gain_control->get_state());
 
        return node;
@@ -368,13 +367,13 @@ Amp::state (bool full_state)
 int
 Amp::set_state (const XMLNode& node, int version)
 {
-        XMLNode* gain_node;
+       XMLNode* gain_node;
 
        Processor::set_state (node, version);
 
-        if ((gain_node = node.child (Controllable::xml_node_name.c_str())) != 0) {
-                _gain_control->set_state (*gain_node, version);
-        }
+       if ((gain_node = node.child (Controllable::xml_node_name.c_str ())) != 0) {
+               _gain_control->set_state (*gain_node, version);
+       }
 
        return 0;
 }
@@ -393,8 +392,9 @@ Amp::setup_gain_automation (framepos_t start_frame, framepos_t end_frame, framec
            && _gain_control->automation_playback())
        {
                assert (_gain_automation_buffer);
-               _apply_gain_automation = _gain_control->list()->curve().rt_safe_get_vector (
-                       start_frame, end_frame, _gain_automation_buffer, nframes);
+
+               _apply_gain_automation = _gain_control->get_masters_curve ( start_frame, end_frame, _gain_automation_buffer, nframes);
+
                if (start_frame != _current_automation_frame && _session.bounce_processing ()) {
                        _current_gain = _gain_automation_buffer[0];
                }
@@ -411,18 +411,6 @@ Amp::visible() const
        return true;
 }
 
-std::string
-Amp::value_as_string (boost::shared_ptr<const AutomationControl> ac) const
-{
-       if (ac == _gain_control) {
-               char buffer[32];
-               snprintf (buffer, sizeof (buffer), _("%.2fdB"), ac->internal_to_user (ac->get_value ()));
-               return buffer;
-       }
-
-       return Automatable::value_as_string (ac);
-}
-
 /** Sets up the buffer that setup_gain_automation and ::run will use for
  *  gain automationc curves.  Must be called before setup_gain_automation,
  *  and must be called with process lock held.