Return shuttle speed to previous value on release after sprung grab (#4039).

git-svn-id: svn://localhost/ardour2/branches/3.0@9506 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington
2011-05-13 17:25:02 +00:00
parent ac23288b5d
commit d0bb7df866
2 changed files with 4 additions and 5 deletions

View File

@@ -54,6 +54,7 @@ ShuttleControl::ShuttleControl ()
last_shuttle_request = 0;
last_speed_displayed = -99999999;
shuttle_grabbed = false;
shuttle_speed_on_grab = 0;
shuttle_fract = 0.0;
shuttle_max_speed = 8.0f;
shuttle_style_menu = 0;
@@ -236,6 +237,7 @@ ShuttleControl::on_button_press_event (GdkEventButton* ev)
case 1:
add_modal_grab ();
shuttle_grabbed = true;
shuttle_speed_on_grab = _session->transport_speed ();
mouse_shuttle (ev->x, true);
break;
@@ -261,11 +263,7 @@ ShuttleControl::on_button_release_event (GdkEventButton* ev)
remove_modal_grab ();
if (Config->get_shuttle_behaviour() == Sprung) {
if (_session->config.get_auto_play()) {
_session->request_transport_speed (1.0);
} else {
_session->request_transport_speed (0.0);
}
_session->request_transport_speed (shuttle_speed_on_grab);
} else {
mouse_shuttle (ev->x, true);
}

View File

@@ -60,6 +60,7 @@ class ShuttleControl : public Gtk::DrawingArea, public ARDOUR::SessionHandlePtr
float shuttle_max_speed;
float last_speed_displayed;
bool shuttle_grabbed;
double shuttle_speed_on_grab;
float shuttle_fract;
boost::shared_ptr<ShuttleControllable> _controllable;
cairo_pattern_t* pattern;