- snprintf (buf, sizeof (buf), "%.2f", ts->beats_per_minute());
- metric_marks.push_back (new TempoMarker (*this, *tempo_group, ARDOUR_UI::config()->canvasvar_TempoMarker.get(), buf,
+ if (UIConfiguration::instance().get_allow_non_quarter_pulse()) {
+ snprintf (buf, sizeof (buf), "%.3f/%.0f", ts->beats_per_minute(), ts->note_type());
+ } else {
+ snprintf (buf, sizeof (buf), "%.3f", ts->beats_per_minute());
+ }
+
+ max_tempo = max (max_tempo, ts->beats_per_minute());
+ min_tempo = min (min_tempo, ts->beats_per_minute());
+
+ tempo_curves.push_back (new TempoCurve (*this, *tempo_group, UIConfiguration::instance().color ("tempo curve"),
+ *(const_cast<TempoSection*>(ts)), ts->frame(), false));
+ if (ts->position_lock_style() == MusicTime) {
+ metric_marks.push_back (new TempoMarker (*this, *tempo_group, UIConfiguration::instance().color ("tempo marker music"), buf,
+ *(const_cast<TempoSection*>(ts))));
+ } else {
+ metric_marks.push_back (new TempoMarker (*this, *tempo_group, UIConfiguration::instance().color ("tempo marker"), buf,