if ((ms = dynamic_cast<const MeterSection*>(*i)) != 0) {
snprintf (buf, sizeof(buf), "%g/%g", ms->divisions_per_bar(), ms->note_divisor ());
- metric_marks.push_back (new MeterMarker (*this, *meter_group, ARDOUR_UI::config()->get_canvasvar_MeterMarker(), buf,
+ metric_marks.push_back (new MeterMarker (*this, *meter_group, ARDOUR_UI::config()->color ("meter marker"), buf,
*(const_cast<MeterSection*>(ms))));
} else if ((ts = dynamic_cast<const TempoSection*>(*i)) != 0) {
- if (Config->get_allow_non_quarter_pulse()) {
+ if (ARDOUR_UI::config()->get_allow_non_quarter_pulse()) {
snprintf (buf, sizeof (buf), "%.2f/%.0f", ts->beats_per_minute(), ts->note_type());
} else {
snprintf (buf, sizeof (buf), "%.2f", ts->beats_per_minute());
}
- metric_marks.push_back (new TempoMarker (*this, *tempo_group, ARDOUR_UI::config()->get_canvasvar_TempoMarker(), buf,
+ metric_marks.push_back (new TempoMarker (*this, *tempo_group, ARDOUR_UI::config()->color ("tempo marker"), buf,
*(const_cast<TempoSection*>(ts))));
}
if (tempo_lines == 0) {
tempo_lines = new TempoLines (time_line_group, ArdourCanvas::LineSet::Vertical);
}
-
- tempo_lines->draw (begin, end);
+
+ const unsigned divisions = get_grid_beat_divisions(leftmost_frame);
+ tempo_lines->draw (begin, end, divisions, leftmost_frame, _session->frame_rate());
}
void
if ((marker = reinterpret_cast<Marker *> (item->get_data ("marker"))) == 0) {
fatal << _("programming error: tempo marker canvas item has no marker object pointer!") << endmsg;
- /*NOTREACHED*/
+ abort(); /*NOTREACHED*/
}
if ((tempo_marker = dynamic_cast<TempoMarker*> (marker)) == 0) {
fatal << _("programming error: marker for tempo is not a tempo marker!") << endmsg;
- /*NOTREACHED*/
+ abort(); /*NOTREACHED*/
}
if (tempo_marker->tempo().movable()) {
if ((marker = reinterpret_cast<Marker *> (item->get_data ("marker"))) == 0) {
fatal << _("programming error: meter marker canvas item has no marker object pointer!") << endmsg;
- /*NOTREACHED*/
+ abort(); /*NOTREACHED*/
}
if ((meter_marker = dynamic_cast<MeterMarker*> (marker)) == 0) {
fatal << _("programming error: marker for meter is not a meter marker!") << endmsg;
- /*NOTREACHED*/
+ abort(); /*NOTREACHED*/
}
if (meter_marker->meter().movable()) {