From 72812d2cd04d7c685264209f00cac36e5abef061 Mon Sep 17 00:00:00 2001 From: nick_m Date: Tue, 5 Apr 2016 03:38:30 +1000 Subject: Tempo ramps - rulers don't request negative bbt. - i'm reluctant to fix this at the map level. --- gtk2_ardour/editor_rulers.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'gtk2_ardour/editor_rulers.cc') diff --git a/gtk2_ardour/editor_rulers.cc b/gtk2_ardour/editor_rulers.cc index ea452f9b62..f2b42fccc3 100644 --- a/gtk2_ardour/editor_rulers.cc +++ b/gtk2_ardour/editor_rulers.cc @@ -1017,8 +1017,14 @@ Editor::compute_bbt_ruler_scale (std::vector& grid, std::vector::const_iterator i; Timecode::BBT_Time lower_beat, upper_beat; // the beats at each end of the ruler - framecnt_t beat_before_lower_pos = _session->tempo_map().frame_at_beat (floor(_session->tempo_map().beat_at_frame (lower))); - framecnt_t beat_after_upper_pos = _session->tempo_map().frame_at_beat (floor (_session->tempo_map().beat_at_frame (upper)) + 1.0); + double floor_lower_beat = floor(_session->tempo_map().beat_at_frame (lower)); + + if (floor_lower_beat < 0.0) { + floor_lower_beat = 0.0; + } + + const framecnt_t beat_before_lower_pos = _session->tempo_map().frame_at_beat (floor_lower_beat); + const framecnt_t beat_after_upper_pos = _session->tempo_map().frame_at_beat (floor (_session->tempo_map().beat_at_frame (upper)) + 1.0); _session->bbt_time (beat_before_lower_pos, lower_beat); _session->bbt_time (beat_after_upper_pos, upper_beat); -- cgit v1.2.3