From ad4ae3df85d685546a4aaf6e976d3a03f6a6f45b Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 22 Aug 2015 04:32:14 +0200 Subject: [PATCH] Add 100% shuttle controls option - closes #6537 --- gtk2_ardour/shuttle_control.cc | 12 ++++++++++++ gtk2_ardour/shuttle_control.h | 1 + 2 files changed, 13 insertions(+) diff --git a/gtk2_ardour/shuttle_control.cc b/gtk2_ardour/shuttle_control.cc index aeaf7d6b28..2aca6b3ae6 100644 --- a/gtk2_ardour/shuttle_control.cc +++ b/gtk2_ardour/shuttle_control.cc @@ -234,6 +234,8 @@ ShuttleControl::build_shuttle_context_menu () items.push_back (MenuElem (_("Maximum speed"), *speed_menu)); + items.push_back (SeparatorElem ()); + items.push_back (MenuElem (_("Reset to 100%"), sigc::mem_fun (*this, &ShuttleControl::reset_speed))); } void @@ -246,6 +248,16 @@ ShuttleControl::show_shuttle_context_menu () shuttle_context_menu->popup (1, gtk_get_current_event_time()); } +void +ShuttleControl::reset_speed () +{ + if (_session->transport_rolling()) { + _session->request_transport_speed (1.0, true); + } else { + _session->request_transport_speed (0.0, true); + } +} + void ShuttleControl::set_shuttle_max_speed (float speed) { diff --git a/gtk2_ardour/shuttle_control.h b/gtk2_ardour/shuttle_control.h index 21b02d9954..cd751ebedc 100644 --- a/gtk2_ardour/shuttle_control.h +++ b/gtk2_ardour/shuttle_control.h @@ -78,6 +78,7 @@ class ShuttleControl : public CairoWidget, public ARDOUR::SessionHandlePtr void shuttle_style_changed(); void shuttle_unit_clicked (); void set_shuttle_max_speed (float); + void reset_speed (); bool on_enter_notify_event (GdkEventCrossing*); bool on_leave_notify_event (GdkEventCrossing*);