, _drag_rect (0)
, _step_edit_cursor (0)
, _step_edit_cursor_width (1.0)
+ , _step_edit_cursor_position (0.0)
, _mouse_state(None)
, _pressed_button(0)
, _sort_needed (true)
if (_enable_display) {
redisplay_model();
}
+
+ move_step_edit_cursor (_step_edit_cursor_position);
+ set_step_edit_cursor_width (_step_edit_cursor_width);
}
void
void
MidiRegionView::move_step_edit_cursor (Evoral::MusicalTime pos)
{
+ _step_edit_cursor_position = pos;
+
if (_step_edit_cursor) {
double pixel = trackview.editor().frame_to_pixel (beats_to_frames (pos));
_step_edit_cursor->property_x1() = pixel;
- _step_edit_cursor->property_x2() = pixel + _step_edit_cursor_width;
+ set_step_edit_cursor_width (_step_edit_cursor_width);
}
}
void
MidiRegionView::set_step_edit_cursor_width (Evoral::MusicalTime beats)
{
- _step_edit_cursor_width = trackview.editor().frame_to_pixel (beats_to_frames (beats));
- _step_edit_cursor->property_x2() = _step_edit_cursor->property_x1() + _step_edit_cursor_width;
+ _step_edit_cursor_width = beats;
+
+ if (_step_edit_cursor) {
+ _step_edit_cursor->property_x2() = _step_edit_cursor->property_x1() + trackview.editor().frame_to_pixel (beats_to_frames (beats));
+ }
}
double _last_y;
ArdourCanvas::SimpleRect* _drag_rect;
ArdourCanvas::SimpleRect* _step_edit_cursor;
- double _step_edit_cursor_width;
+ Evoral::MusicalTime _step_edit_cursor_width;
+ Evoral::MusicalTime _step_edit_cursor_position;
MouseState _mouse_state;
int _pressed_button;