diff options
author | Carl Hetherington <carl@carlh.net> | 2012-06-09 01:51:34 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2012-06-09 01:51:34 +0000 |
commit | a766fe1fd9852ea6b041ba257e588fca7a032cb9 (patch) | |
tree | aecac737ab5cf23d02d0bec378af24466cc87ff1 /gtk2_ardour/editor_mouse.cc | |
parent | 0ac73d8513dff0566b290b49127776b28859e69a (diff) |
Somewhat primitive implementation of allowing the edit note dialog to handle multiple notes (#4096).
git-svn-id: svn://localhost/ardour2/branches/3.0@12623 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_mouse.cc')
-rw-r--r-- | gtk2_ardour/editor_mouse.cc | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index 011374f951..a6446b67c3 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -1438,8 +1438,12 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT break; case NoteItem: - edit_note (item); + { + ArdourCanvas::CanvasNoteEvent* e = dynamic_cast<ArdourCanvas::CanvasNoteEvent*> (item); + assert (e); + edit_notes (e->region_view().selection ()); break; + } default: break; @@ -2307,12 +2311,13 @@ Editor::edit_control_point (ArdourCanvas::Item* item) } void -Editor::edit_note (ArdourCanvas::Item* item) +Editor::edit_notes (MidiRegionView::Selection const & s) { - ArdourCanvas::CanvasNoteEvent* e = dynamic_cast<ArdourCanvas::CanvasNoteEvent*> (item); - assert (e); - - EditNoteDialog d (&e->region_view(), e); + if (s.empty ()) { + return; + } + + EditNoteDialog d (&(*s.begin())->region_view(), s); d.set_position (Gtk::WIN_POS_MOUSE); ensure_float (d); |