knob->set_controllable (ac);
knob->set_name("processor control knob");
_widget = knob;
+ knob->StartGesture.connect(sigc::mem_fun(*this, &AutomationController::start_touch));
+ knob->StopGesture.connect(sigc::mem_fun(*this, &AutomationController::end_touch));
} else {
AutomationBarController* bar = manage(new AutomationBarController(ac, adj));
_adjustment.set_page_increment (largestep);
_slider.set_default_value (normal);
+ _slider.StartGesture.connect(sigc::mem_fun(*this, &Control::start_touch));
+ _slider.StopGesture.connect(sigc::mem_fun(*this, &Control::end_touch));
+
_adjustment.signal_value_changed().connect (sigc::mem_fun (*this, &Control::slider_adjusted));
c->Changed.connect (_connections, invalidator (*this), boost::bind (&Control::control_changed, this), gui_context ());
if (c->alist ()) {
set_tooltip ();
}
+void
+ProcessorEntry::Control::start_touch ()
+{
+ boost::shared_ptr<AutomationControl> c = _control.lock ();
+ if (!c) {
+ return;
+ }
+ c->start_touch (c->session().transport_frame());
+}
+
+void
+ProcessorEntry::Control::end_touch ()
+{
+ boost::shared_ptr<AutomationControl> c = _control.lock ();
+ if (!c) {
+ return;
+ }
+ c->stop_touch (true, c->session().transport_frame());
+}
+
void
ProcessorEntry::Control::button_clicked ()
{
std::string state_id () const;
void set_tooltip ();
+ void start_touch ();
+ void end_touch ();
+
boost::weak_ptr<ARDOUR::AutomationControl> _control;
/* things for a slider */
Gtk::Adjustment _adjustment;