Oops - the previous namespace qualifier was also needed in gtk2_ardour/processor_box.cc
[ardour.git] / gtk2_ardour / mono_panner.cc
index 1559aacd991f55342689aaed369773794b29a6fa..e136c05153bd7eef3d14585537ad6b16abbcee2a 100644 (file)
@@ -89,9 +89,10 @@ MonoPanner::MonoPanner (boost::shared_ptr<ARDOUR::PannerShell> p)
                have_font = true;
        }
 
-       position_control->Changed.connect (connections, invalidator(*this), boost::bind (&MonoPanner::value_change, this), gui_context());
+       position_control->Changed.connect (panvalue_connections, invalidator(*this), boost::bind (&MonoPanner::value_change, this), gui_context());
 
-       _panner_shell->Changed.connect (connections, invalidator (*this), boost::bind (&MonoPanner::bypass_handler, this), gui_context());
+       _panner_shell->Changed.connect (panshell_connections, invalidator (*this), boost::bind (&MonoPanner::bypass_handler, this), gui_context());
+       _panner_shell->PannableChanged.connect (panshell_connections, invalidator (*this), boost::bind (&MonoPanner::pannable_handler, this), gui_context());
        ColorsChanged.connect (sigc::mem_fun (*this, &MonoPanner::color_handler));
 
        set_tooltip ();
@@ -484,12 +485,12 @@ MonoPanner::on_key_press_event (GdkEventKey* ev)
 void
 MonoPanner::set_colors ()
 {
-       colors.fill = ARDOUR_UI::config()->canvasvar_MonoPannerFill.get();
-       colors.outline = ARDOUR_UI::config()->canvasvar_MonoPannerOutline.get();
-       colors.text = ARDOUR_UI::config()->canvasvar_MonoPannerText.get();
-       colors.background = ARDOUR_UI::config()->canvasvar_MonoPannerBackground.get();
-       colors.pos_outline = ARDOUR_UI::config()->canvasvar_MonoPannerPositionOutline.get();
-       colors.pos_fill = ARDOUR_UI::config()->canvasvar_MonoPannerPositionFill.get();
+        colors.fill = ARDOUR_UI::config()->get_canvasvar_MonoPannerFill();
+        colors.outline = ARDOUR_UI::config()->get_canvasvar_MonoPannerOutline();
+        colors.text = ARDOUR_UI::config()->get_canvasvar_MonoPannerText();
+        colors.background = ARDOUR_UI::config()->get_canvasvar_MonoPannerBackground();
+        colors.pos_outline = ARDOUR_UI::config()->get_canvasvar_MonoPannerPositionOutline();
+        colors.pos_fill = ARDOUR_UI::config()->get_canvasvar_MonoPannerPositionFill();
 }
 
 void
@@ -505,7 +506,17 @@ MonoPanner::bypass_handler ()
        queue_draw ();
 }
 
-       PannerEditor*
+void
+MonoPanner::pannable_handler ()
+{
+       panvalue_connections.drop_connections();
+       position_control = _panner->pannable()->pan_azimuth_control;
+       position_binder.set_controllable(position_control);
+       position_control->Changed.connect (panvalue_connections, invalidator(*this), boost::bind (&MonoPanner::value_change, this), gui_context());
+       queue_draw ();
+}
+
+PannerEditor*
 MonoPanner::editor ()
 {
        return new MonoPannerEditor (this);