- if (!session) {
- return TRUE;
- }
-
- edit_hscroll_dragging = true;
- //cerr << "PRESS" << endl;
-
- return TRUE;
-
- gint start;
- gint width;
- gint end;
- gint x;
-
- start = (gint) floor (edit_hscroll_slider_width * ((double) leftmost_frame / session->current_end_frame()));
- width = (gint) floor (edit_hscroll_slider_width * ((canvas_width * frames_per_unit) / session->current_end_frame()));
-
- end = start + width - 1;
- x = (gint) max (0.0, ev->x);
-
- if (x >= start && x <= end) {
-
- edit_hscroll_drag_last = x;
- edit_hscroll_dragging = true;
- Gtk::Main::grab_add (edit_hscroll_slider);
- }
-
- return TRUE;
-}
-
-gint
-Editor::hscroll_slider_button_release (GdkEventButton *ev)
-{
- if (!session) {
- return TRUE;
- }
-
- gint start;
- gint width;
- gint end;
- gint x;
- gint bar_max = edit_hscroll_slider_width - 2;
- jack_nframes_t new_leftmost = 0;
-
- //cerr << "RELESAE" << endl;
-
- if (edit_hscroll_dragging) {
- // lets do a tempo redisplay now only, because it is dog slow
- tempo_map_changed (Change (0));
- edit_hscroll_dragging = false;
- }
-
- return TRUE;
-
-
- start = (gint) floor (bar_max * ((double) leftmost_frame / session->current_end_frame()));
- width = (gint) floor (bar_max * ((canvas_width * frames_per_unit) / session->current_end_frame()));
-
- end = start + width - 1;
- x = (gint) max (0.0, ev->x);
-
- if (!edit_hscroll_dragging) {
-
- new_leftmost = (jack_nframes_t) floor (((double) x/bar_max) * session->current_end_frame());
- reposition_x_origin (new_leftmost);
- }
-
- if (edit_hscroll_dragging) {
- // lets do a tempo redisplay now only, because it is dog slow
- tempo_map_changed (Change (0));
- edit_hscroll_dragging = false;
- Gtk::Main::grab_remove (edit_hscroll_slider);
- }
-
- return TRUE;