summaryrefslogtreecommitdiff
path: root/gtk2_ardour/mono_panner.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-01-14 23:08:34 +0100
committerRobin Gareus <robin@gareus.org>2014-01-15 02:51:52 +0100
commit6bebe1d886820c5eb18914507a2c90f3e6c2d555 (patch)
tree6bc41d606b2b1edac29c6776dd106c89388f1735 /gtk2_ardour/mono_panner.cc
parentc46e74012e5727bd46b7bcf813970f60f1179af4 (diff)
update panGUI connections (panner-shell vs pannable vs panner)
Diffstat (limited to 'gtk2_ardour/mono_panner.cc')
-rw-r--r--gtk2_ardour/mono_panner.cc17
1 files changed, 14 insertions, 3 deletions
diff --git a/gtk2_ardour/mono_panner.cc b/gtk2_ardour/mono_panner.cc
index 1559aacd99..d82d236b32 100644
--- a/gtk2_ardour/mono_panner.cc
+++ b/gtk2_ardour/mono_panner.cc
@@ -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 ();
@@ -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);