13
0

Fix rec-ruler time display

The calculation to round the distance to seconds has to be performed
using floating point maths, not just the result being cast to double.
The time-granularity must not be zero.
This commit is contained in:
Robin Gareus 2021-02-25 17:59:53 +01:00
parent a9192266d0
commit a7ce58b995
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -1591,7 +1591,7 @@ RecorderUI::RecRuler::render (Cairo::RefPtr<Cairo::Context> const& cr, cairo_rec
const int n_labels = floor (width / (_time_width * 1.75));
const samplecnt_t time_span = _right - _left;
const samplecnt_t time_granularity = ceil ((double)(time_span / n_labels / _session->sample_rate ())) * _session->sample_rate ();
const samplecnt_t time_granularity = ceil ((double)time_span / n_labels / _session->sample_rate ()) * _session->sample_rate ();
const double px_per_sample = width / (double) time_span;
const samplepos_t lower = (_left / time_granularity) * time_granularity;