update panGUI connections (panner-shell vs pannable vs panner)

This commit is contained in:
Robin Gareus 2014-01-14 23:08:34 +01:00
parent c46e74012e
commit 6bebe1d886
6 changed files with 60 additions and 17 deletions

View 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 ();
@ -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);