diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-07-28 20:51:28 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-07-28 20:51:28 +0000 |
commit | 3ae28868ff02abf44102fff9954e7e8d6359867f (patch) | |
tree | 6202724eba77a9844d9079614c5ea91f91c110e5 /gtk2_ardour/midi_region_view.cc | |
parent | 5eaf61242f16c7638c0e71a9c82af5a781c24e87 (diff) |
remove all MIDI-specific editing modes by making standard work either at object level or within (e.g. notes, etc) ; make tool buttons proxies for GtkActions ; internal sends have their own BufferSet now, instead of using Session ones; don't make internal sends to the monitor bus active when added to the Route
git-svn-id: svn://localhost/ardour2/branches/3.0@5434 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/midi_region_view.cc')
-rw-r--r-- | gtk2_ardour/midi_region_view.cc | 23 |
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; } |