diff options
Diffstat (limited to 'gtk2_ardour/processor_box.cc')
-rw-r--r-- | gtk2_ardour/processor_box.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index fa1b300e7b..8b353c040e 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -851,6 +851,9 @@ ProcessorEntry::Control::Control (boost::shared_ptr<AutomationControl> c, string _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 ()) { @@ -902,6 +905,26 @@ ProcessorEntry::Control::slider_adjusted () } 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 () { boost::shared_ptr<AutomationControl> c = _control.lock (); |