diff options
author | Robin Gareus <robin@gareus.org> | 2014-01-14 23:08:34 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-01-15 02:51:52 +0100 |
commit | 6bebe1d886820c5eb18914507a2c90f3e6c2d555 (patch) | |
tree | 6bc41d606b2b1edac29c6776dd106c89388f1735 /gtk2_ardour/stereo_panner.cc | |
parent | c46e74012e5727bd46b7bcf813970f60f1179af4 (diff) |
update panGUI connections (panner-shell vs pannable vs panner)
Diffstat (limited to 'gtk2_ardour/stereo_panner.cc')
-rw-r--r-- | gtk2_ardour/stereo_panner.cc | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/gtk2_ardour/stereo_panner.cc b/gtk2_ardour/stereo_panner.cc index 36d25cba9d..d480c60529 100644 --- a/gtk2_ardour/stereo_panner.cc +++ b/gtk2_ardour/stereo_panner.cc @@ -95,9 +95,10 @@ StereoPanner::StereoPanner (boost::shared_ptr<PannerShell> p) have_font = true; } - position_control->Changed.connect (connections, invalidator(*this), boost::bind (&StereoPanner::value_change, this), gui_context()); - width_control->Changed.connect (connections, invalidator(*this), boost::bind (&StereoPanner::value_change, this), gui_context()); - _panner_shell->Changed.connect (connections, invalidator (*this), boost::bind (&StereoPanner::bypass_handler, this), gui_context()); + position_control->Changed.connect (panvalue_connections, invalidator(*this), boost::bind (&StereoPanner::value_change, this), gui_context()); + width_control->Changed.connect (panvalue_connections, invalidator(*this), boost::bind (&StereoPanner::value_change, this), gui_context()); + + _panner_shell->Changed.connect (panshell_connections, invalidator (*this), boost::bind (&StereoPanner::bypass_handler, this), gui_context()); ColorsChanged.connect (sigc::mem_fun (*this, &StereoPanner::color_handler)); @@ -693,6 +694,20 @@ StereoPanner::bypass_handler () queue_draw (); } +void +StereoPanner::pannable_handler () +{ + panvalue_connections.drop_connections(); + position_control = _panner->pannable()->pan_azimuth_control; + width_control = _panner->pannable()->pan_width_control; + position_binder.set_controllable(position_control); + width_binder.set_controllable(width_control); + + position_control->Changed.connect (panvalue_connections, invalidator(*this), boost::bind (&StereoPanner::value_change, this), gui_context()); + width_control->Changed.connect (panvalue_connections, invalidator(*this), boost::bind (&StereoPanner::value_change, this), gui_context()); + queue_draw (); +} + PannerEditor* StereoPanner::editor () { |