diff options
author | Nick Mainsbridge <beatroute@iprimus.com.au> | 2006-09-10 17:49:03 +0000 |
---|---|---|
committer | Nick Mainsbridge <beatroute@iprimus.com.au> | 2006-09-10 17:49:03 +0000 |
commit | dc9484d1449d04923849316a3ac7c74c4c49ec23 (patch) | |
tree | c9cf1a22cdfeba67abf8f26f8f5467dee3b18d78 /gtk2_ardour/editor_rulers.cc | |
parent | 3c45ab08468e552b1c6f2b5bd6dff2b74204a0b9 (diff) |
more fiddling about with placing bits of the scroll/zoom operation in the idle callback. fix some ruler bugs. overall this should be smoother.
git-svn-id: svn://localhost/ardour2/trunk@912 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_rulers.cc')
-rw-r--r-- | gtk2_ardour/editor_rulers.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gtk2_ardour/editor_rulers.cc b/gtk2_ardour/editor_rulers.cc index befbe3f8d6..276ec0bf3d 100644 --- a/gtk2_ardour/editor_rulers.cc +++ b/gtk2_ardour/editor_rulers.cc @@ -818,9 +818,9 @@ Editor::metric_get_smpte (GtkCustomRulerMark **marks, gdouble lower, gdouble upp if (lower > (spacer = (jack_nframes_t)(128 * Editor::get_current_zoom ()))) { lower = lower - spacer; } else { - upper = upper + spacer - lower; lower = 0; } + upper = upper + spacer; range = (jack_nframes_t) floor (upper - lower); if (range < (2 * session->frames_per_smpte_frame())) { /* 0 - 2 frames */ @@ -1110,8 +1110,8 @@ Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper position_of_helper = ilower + (30 * Editor::get_current_zoom ()); - if (desirable_marks >= (beats / 2)) { - nmarks = ((beats + 4) * bbt_beat_subdivision) + 1; + if (desirable_marks >= (beats)) { + nmarks = ((beats + 1) * bbt_beat_subdivision) + 1; we_need_ticks = true; } else { nmarks = beats + 1; @@ -1156,7 +1156,7 @@ Editor::metric_get_bbt (GtkCustomRulerMark **marks, gdouble lower, gdouble upper /* Add the tick marks */ - if (we_need_ticks) { + if (we_need_ticks && (*i).type != TempoMap::Bar) { /* Find the next beat */ @@ -1417,9 +1417,9 @@ Editor::metric_get_minsec (GtkCustomRulerMark **marks, gdouble lower, gdouble up if (lower > (spacer = (jack_nframes_t)(128 * Editor::get_current_zoom ()))) { lower = lower - spacer; } else { - upper = upper + spacer; lower = 0; } + upper = upper + spacer; range = iupper - ilower; if (range < (fr / 50)) { |