summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_rulers.cc
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2016-03-25 05:15:01 +1100
committernick_m <mainsbridge@gmail.com>2016-05-27 23:38:12 +1000
commite2c97ab9b8fce76e0e619b8fe12247b55846bcb6 (patch)
tree4985eb4f00018d718a51ffe8808325e6f1e52208 /gtk2_ardour/editor_rulers.cc
parent3f2a8fe81d3b7be675321816e6553a2faff80777 (diff)
Tempo ramps- bbt ruler scale accounts for non-beat ranges for consistent results.
Diffstat (limited to 'gtk2_ardour/editor_rulers.cc')
-rw-r--r--gtk2_ardour/editor_rulers.cc16
1 files changed, 8 insertions, 8 deletions
diff --git a/gtk2_ardour/editor_rulers.cc b/gtk2_ardour/editor_rulers.cc
index 57ee38069b..ae38a02aba 100644
--- a/gtk2_ardour/editor_rulers.cc
+++ b/gtk2_ardour/editor_rulers.cc
@@ -1116,25 +1116,25 @@ Editor::compute_bbt_ruler_scale (std::vector<ARDOUR::TempoMap::BBTPoint>& grid,
}
beats = distance (grid.begin(), grid.end()) - bbt_bars;
-
+ double beat_density = ((distance (grid.begin(), grid.end()) + 1) * ((double) (upper - lower) / (double) (1 + grid.back().frame - grid.front().frame))) / 4.0;
/* Only show the bar helper if there aren't many bars on the screen */
if ((bbt_bars < 2) || (beats < 5)) {
bbt_bar_helper_on = true;
}
- if (bbt_bars > 8192) {
+ if (beat_density > 8192) {
bbt_ruler_scale = bbt_show_many;
- } else if (bbt_bars > 1024) {
+ } else if (beat_density > 1024) {
bbt_ruler_scale = bbt_show_64;
- } else if (bbt_bars > 256) {
+ } else if (beat_density > 256) {
bbt_ruler_scale = bbt_show_16;
- } else if (bbt_bars > 64) {
+ } else if (beat_density > 64) {
bbt_ruler_scale = bbt_show_4;
- } else if (bbt_bars > 10) {
+ } else if (beat_density > 10) {
bbt_ruler_scale = bbt_show_1;
- } else if (bbt_bars > 2) {
+ } else if (beat_density > 2) {
bbt_ruler_scale = bbt_show_beats;
- } else if (bbt_bars > 0) {
+ } else if (beat_density > 0.5) {
bbt_ruler_scale = bbt_show_ticks;
} else {
bbt_ruler_scale = bbt_show_ticks_detail;