summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-08-11 20:16:39 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-08-11 20:16:39 +0000
commit1b42936caac3e16ab64c6b6a2e16e62639f2cc1f (patch)
treee27d11c6d251ce21d6108db2311e0f3637808744 /gtk2_ardour
parent8bdf5cf1d0caa0c6e96c43d19dae756094eb4e2b (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.cc15
-rw-r--r--gtk2_ardour/midi_region_view.h3
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;