case GDK_BUTTON_PRESS:
set_mouse_fractions (ev);
if (ev->button.button == 3 && Keyboard::no_modifiers_active (ev->button.state) && _selected) {
- show_channel_selector();
+ _region.get_time_axis_view().editor().edit_notes (_region);
return true;
}
break;
void edit_tempo_marker (ArdourCanvas::Item*);
void edit_meter_marker (ArdourCanvas::Item*);
void edit_control_point (ArdourCanvas::Item*);
- void edit_notes (std::set<Gnome::Canvas::CanvasNoteEvent *> const &);
+ void edit_notes (TimeAxisViewItem&);
void marker_menu_edit ();
void marker_menu_remove ();
}
if (internal_editing ()) {
- if (event->type == GDK_2BUTTON_PRESS && event->button.button == 1) {
- Glib::RefPtr<Action> act = ActionManager::get_action (X_("MouseMode"), X_("toggle-internal-edit"));
- act->activate ();
- }
break;
}
edit_control_point (item);
break;
- case NoteItem:
- {
- ArdourCanvas::CanvasNoteEvent* e = dynamic_cast<ArdourCanvas::CanvasNoteEvent*> (item);
- assert (e);
- edit_notes (e->region_view().selection ());
- break;
- }
-
default:
break;
}
}
void
-Editor::edit_notes (MidiRegionView::Selection const & s)
+Editor::edit_notes (TimeAxisViewItem& tavi)
{
+ MidiRegionView* mrv = dynamic_cast<MidiRegionView*>(&tavi);
+
+ if (!mrv) {
+ return;
+ }
+
+ MidiRegionView::Selection const & s = mrv->selection();
+
if (s.empty ()) {
return;
}
d.run ();
}
-
void
Editor::visible_order_range (int* low, int* high) const
{
virtual void add_to_idle_resize (TimeAxisView*, int32_t) = 0;
virtual framecnt_t get_nudge_distance (framepos_t pos, framecnt_t& next) = 0;
virtual Evoral::MusicalTime get_grid_type_as_beats (bool& success, framepos_t position) = 0;
+ virtual void edit_notes (TimeAxisViewItem&) = 0;
virtual void queue_visual_videotimeline_update () = 0;
virtual void toggle_ruler_video (bool) = 0;