diff options
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/editor_rulers.cc | 4 | ||||
-rw-r--r-- | gtk2_ardour/editor_tempodisplay.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/step_editor.cc | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/gtk2_ardour/editor_rulers.cc b/gtk2_ardour/editor_rulers.cc index 868b006900..6c9e45abc8 100644 --- a/gtk2_ardour/editor_rulers.cc +++ b/gtk2_ardour/editor_rulers.cc @@ -1017,14 +1017,14 @@ Editor::compute_bbt_ruler_scale (std::vector<ARDOUR::TempoMap::BBTPoint>& grid, std::vector<TempoMap::BBTPoint>::const_iterator i; Timecode::BBT_Time lower_beat, upper_beat; // the beats at each end of the ruler - double floor_lower_beat = floor(_session->tempo_map().beat_at_frame (lower)); + double floor_lower_beat = floor(max (0.0, _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); + const framecnt_t beat_after_upper_pos = _session->tempo_map().frame_at_beat (floor (max (0.0, _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); diff --git a/gtk2_ardour/editor_tempodisplay.cc b/gtk2_ardour/editor_tempodisplay.cc index 722490c26e..9c562a4d86 100644 --- a/gtk2_ardour/editor_tempodisplay.cc +++ b/gtk2_ardour/editor_tempodisplay.cc @@ -279,7 +279,7 @@ Editor::compute_current_bbt_points (std::vector<TempoMap::BBTPoint>& grid, frame /* prevent negative values of leftmost from creeping into tempomap */ - const double lower_beat = floor (_session->tempo_map().beat_at_frame (leftmost)) - 1.0; + const double lower_beat = floor (max (0.0, _session->tempo_map().beat_at_frame (leftmost))) - 1.0; _session->tempo_map().get_grid (grid, max (_session->tempo_map().frame_at_beat (lower_beat), (framepos_t) 0), rightmost); } diff --git a/gtk2_ardour/step_editor.cc b/gtk2_ardour/step_editor.cc index 3ea3bb4ccd..c45c0f4461 100644 --- a/gtk2_ardour/step_editor.cc +++ b/gtk2_ardour/step_editor.cc @@ -117,7 +117,7 @@ StepEditor::prepare_step_edit_region () const Meter& m = _mtv.session()->tempo_map().meter_at_frame (step_edit_insert_position); - double baf = _mtv.session()->tempo_map().beat_at_frame (step_edit_insert_position); + double baf = max (0.0, _mtv.session()->tempo_map().beat_at_frame (step_edit_insert_position)); double next_bar_in_beats = baf + m.divisions_per_bar(); framecnt_t next_bar_pos = _mtv.session()->tempo_map().frame_at_beat (next_bar_in_beats); framecnt_t len = next_bar_pos - step_edit_insert_position; |