- select_rect = new ArdourCanvas::SimpleRect(*group);
- select_rect->property_x1() = event_x;
- select_rect->property_y1() = event_y;
- select_rect->property_x2() = event_x;
- select_rect->property_y2() = event_y;
- select_rect->property_outline_color_rgba() = 0xFF000099;
- select_rect->property_fill_color_rgba() = 0xFFDDDD33;
-
+ } else if (press_button == 3) { // Add note drag start
+ group->grab(GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK,
+ Gdk::Cursor(Gdk::FLEUR), ev->motion.time);
+ last_x = event_x;
+ last_y = event_y;
+ drag_start_x = event_x;
+ drag_start_y = event_y;
+
+ nframes_t event_frame = midi_view()->editor.pixel_to_frame(event_x);
+ midi_view()->editor.snap_to(event_frame);
+
+ drag_rect = new ArdourCanvas::SimpleRect(*group);
+ drag_rect->property_x1() = midi_view()->editor.frame_to_pixel(event_frame);
+
+ drag_rect->property_y1() = midi_stream_view()->note_to_y(midi_stream_view()->y_to_note(event_y));
+ drag_rect->property_x2() = event_x;
+ drag_rect->property_y2() = drag_rect->property_y1() + floor(midi_stream_view()->note_height());
+ drag_rect->property_outline_what() = 0xFF;
+ drag_rect->property_outline_color_rgba() = 0xFFFFFF99;
+ drag_rect->property_fill_color_rgba() = 0xFFFFFF66;
+
+ _state = AddDragging;