summaryrefslogtreecommitdiff
path: root/gtk2_ardour/processor_box.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-07-23 19:44:45 +0200
committerRobin Gareus <robin@gareus.org>2017-07-24 01:59:03 +0200
commit25df9f1ba5c65fbe89cafffd1dc02dc44e60ec77 (patch)
tree6f04127c629e95401f2d219fdf68b3bfcec7b3ca /gtk2_ardour/processor_box.cc
parent183351f33359b0d110dcc12a8121b6fac112bc14 (diff)
Start/end touch for generic-UI knob and proc-box inline ctrls
Diffstat (limited to 'gtk2_ardour/processor_box.cc')
-rw-r--r--gtk2_ardour/processor_box.cc23
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 ();