From 5c4a2025f12038ef52efaedf8e71a22d9bae8215 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 28 Feb 2017 04:59:45 +0100 Subject: Fix touching mute automation (mostly) controllable->set_value() from GUI context will eventually queue a session-rt command. By the time the realtime command runs, the controllable needs to be in "touch" mode. The AutomationController "toggle" UI worked around this by directly using the underlying API (ignoring slaved-controls and ignoring groups). The RouteUI's GUI wasn't able to write mute-automation at all. This commit is a compromise: press + hold (touch) + release button. (it may need further special-casing for _desc.toggled in AutomationControl::actually_set_value(), also undoing automation-writes is currently not working correctly) --- gtk2_ardour/automation_controller.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gtk2_ardour/automation_controller.h') diff --git a/gtk2_ardour/automation_controller.h b/gtk2_ardour/automation_controller.h index 126383d517..7c0e2139d2 100644 --- a/gtk2_ardour/automation_controller.h +++ b/gtk2_ardour/automation_controller.h @@ -86,7 +86,8 @@ private: void start_touch(); void end_touch(); - void toggled(); + bool button_press(GdkEventButton*); + bool button_release(GdkEventButton*); void run_note_select_dialog(); void set_ratio(double ratio); -- cgit v1.2.3