diff options
-rw-r--r-- | gtk2_ardour/shuttle_control.cc | 12 | ||||
-rw-r--r-- | gtk2_ardour/shuttle_control.h | 1 |
2 files changed, 13 insertions, 0 deletions
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 @@ -247,6 +249,16 @@ ShuttleControl::show_shuttle_context_menu () } 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) { Config->set_shuttle_max_speed (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*); |