X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fpanner_ui.cc;h=263a8ec51836d3f9c3f59c85ebcfbffd4bf43ced;hb=da8eec7a8311295ee91308eca9fae2146385c512;hp=1a48353e0beee49b7b39296191e0df1ec418c0ac;hpb=0d0e32d8b33e48951feab16d2ef202c14eb9f1f9;p=ardour.git diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc index 1a48353e0b..263a8ec518 100644 --- a/gtk2_ardour/panner_ui.cc +++ b/gtk2_ardour/panner_ui.cc @@ -21,7 +21,6 @@ #include "ardour/io.h" #include "ardour/dB.h" #include -#include #include #include "midi++/manager.h" #include "pbd/fastlog.h" @@ -406,8 +405,10 @@ PannerUI::setup_pan () boost::shared_ptr ac = _panner->pan_control (asz); if (asz) { - bc->StartGesture.connect (sigc::mem_fun (*ac, &AutomationControl::start_touch)); - bc->StopGesture.connect (sigc::mem_fun (*ac, &AutomationControl::stop_touch)); + bc->StartGesture.connect (sigc::bind (sigc::mem_fun (*this, &PannerUI::start_touch), + boost::weak_ptr (ac))); + bc->StopGesture.connect (sigc::bind (sigc::mem_fun (*this, &PannerUI::stop_touch), + boost::weak_ptr(ac))); } char buf[64]; @@ -460,6 +461,26 @@ PannerUI::setup_pan () } } +void +PannerUI::start_touch (boost::weak_ptr wac) +{ + boost::shared_ptr ac = wac.lock(); + if (!ac) { + return; + } + ac->start_touch (ac->session().transport_frame()); +} + +void +PannerUI::stop_touch (boost::weak_ptr wac) +{ + boost::shared_ptr ac = wac.lock(); + if (!ac) { + return; + } + ac->stop_touch (false, ac->session().transport_frame()); +} + bool PannerUI::pan_button_event (GdkEventButton* ev, uint32_t which) {