summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_region_view.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/midi_region_view.cc')
-rw-r--r--gtk2_ardour/midi_region_view.cc23
1 files changed, 12 insertions, 11 deletions
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc
index 8c20c02237..aa964749ff 100644
--- a/gtk2_ardour/midi_region_view.cc
+++ b/gtk2_ardour/midi_region_view.cc
@@ -195,6 +195,12 @@ MidiRegionView::init (Gdk::Color const & basic_color, bool wfd)
bool
MidiRegionView::canvas_event(GdkEvent* ev)
{
+ PublicEditor& editor (trackview.editor());
+
+ if (!editor.internal_editing()) {
+ return false;
+ }
+
static double drag_start_x, drag_start_y;
static double last_x, last_y;
double event_x, event_y;
@@ -202,11 +208,6 @@ MidiRegionView::canvas_event(GdkEvent* ev)
static ArdourCanvas::SimpleRect* drag_rect = NULL;
- if (trackview.editor().current_mouse_mode() != MouseNote)
- return false;
-
- const Editing::MidiEditMode midi_edit_mode = trackview.editor().current_midi_edit_mode();
-
switch (ev->type) {
case GDK_KEY_PRESS:
if (ev->key.keyval == GDK_Shift_L || ev->key.keyval == GDK_Control_L) {
@@ -262,7 +263,7 @@ MidiRegionView::canvas_event(GdkEvent* ev)
case Pressed: // Drag start
// Select drag start
- if (_pressed_button == 1 && midi_edit_mode == MidiEditSelect) {
+ if (_pressed_button == 1 && editor.current_mouse_mode() == MouseRange) {
group->grab(GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK,
Gdk::Cursor(Gdk::FLEUR), ev->motion.time);
last_x = event_x;
@@ -285,7 +286,7 @@ MidiRegionView::canvas_event(GdkEvent* ev)
return true;
// Add note drag start
- } else if (midi_edit_mode == MidiEditPencil) {
+ } else if (editor.current_mouse_mode() == MouseObject) {
group->grab(GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK,
Gdk::Cursor(Gdk::FLEUR), ev->motion.time);
last_x = event_x;
@@ -365,12 +366,12 @@ MidiRegionView::canvas_event(GdkEvent* ev)
switch (_mouse_state) {
case Pressed: // Clicked
- switch (midi_edit_mode) {
- case MidiEditSelect:
- case MidiEditResize:
+ switch (editor.current_mouse_mode()) {
+ case MouseRange:
+ case MouseTimeFX:
clear_selection();
break;
- case MidiEditPencil:
+ case MouseObject:
create_note_at(event_x, event_y, _default_note_length);
default: break;
}