diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-08-11 20:16:39 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-08-11 20:16:39 +0000 |
commit | 1b42936caac3e16ab64c6b6a2e16e62639f2cc1f (patch) | |
tree | e27d11c6d251ce21d6108db2311e0f3637808744 /gtk2_ardour | |
parent | 8bdf5cf1d0caa0c6e96c43d19dae756094eb4e2b (diff) |
make step edit cursor follow zoom (and change its color a bit)
git-svn-id: svn://localhost/ardour2/branches/3.0@7601 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/midi_region_view.cc | 15 | ||||
-rw-r--r-- | gtk2_ardour/midi_region_view.h | 3 |
2 files changed, 14 insertions, 4 deletions
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index 7438e3e862..52b2150de4 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -90,6 +90,7 @@ MidiRegionView::MidiRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView & , _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) @@ -1132,6 +1133,9 @@ MidiRegionView::reset_width_dependent_items (double pixel_width) if (_enable_display) { redisplay_model(); } + + move_step_edit_cursor (_step_edit_cursor_position); + set_step_edit_cursor_width (_step_edit_cursor_width); } void @@ -3002,10 +3006,12 @@ MidiRegionView::show_step_edit_cursor (Evoral::MusicalTime pos) 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); } } @@ -3020,7 +3026,10 @@ MidiRegionView::hide_step_edit_cursor () 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)); + } } diff --git a/gtk2_ardour/midi_region_view.h b/gtk2_ardour/midi_region_view.h index e153646ae4..268bcdc0dd 100644 --- a/gtk2_ardour/midi_region_view.h +++ b/gtk2_ardour/midi_region_view.h @@ -369,7 +369,8 @@ class MidiRegionView : public RegionView 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; |