diff options
author | Robin Gareus <robin@gareus.org> | 2015-08-22 04:32:14 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-08-22 04:32:14 +0200 |
commit | ad4ae3df85d685546a4aaf6e976d3a03f6a6f45b (patch) | |
tree | 226af95e3d1c0979f68e3970c3eef1dedc87c6a9 | |
parent | 88920232e9cac02a41797fb347c23bfaa6c4fc42 (diff) |
Add 100% shuttle controls option - closes #6537
-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*); |