_track_canvas_item->set_y1 (ArdourCanvas::COORD_MAX);
_track_canvas_item->set_x (0);
-
+
_current_frame = 1; /* force redraw at 0 */
}
_track_canvas_item->set_show_head (1, false);
_track_canvas_item->set_y1 (ArdourCanvas::COORD_MAX);
_track_canvas_item->set_ignore_events (true);
-
+
_track_canvas_item->set_x (0);
-
+
_current_frame = 1; /* force redraw at 0 */
}
void
EditorCursor::set_position (framepos_t frame)
{
- PositionChanged (frame);
+ if (_current_frame != frame) { PositionChanged (frame); }
double const new_pos = _editor.sample_to_pixel_unrounded (frame);
- if (new_pos != _track_canvas_item->x ()) {
+ if (rint(new_pos) != rint(_track_canvas_item->x ())) {
_track_canvas_item->set_x (new_pos);
}