diff options
author | Ben Loftis <ben@harrisonconsoles.com> | 2018-11-15 09:24:37 -0600 |
---|---|---|
committer | Ben Loftis <ben@harrisonconsoles.com> | 2019-08-01 12:11:31 -0500 |
commit | b1019bbbf622cf2c12b76fca445ccd89c46c30c9 (patch) | |
tree | 5e98c51f481209374b8fb306b89d075566f747bf /gtk2_ardour/editor_canvas_events.cc | |
parent | 3e6ce20fd71022dad54508b652e851148ae4a4c4 (diff) |
(Source List) Region List rewrite (gtk2 part)
See: https://docs.google.com/document/d/1sI7p9RoRVZtNx2n67RvBa0_16fuZblV_lNkkKN2g93s/edit?usp=sharing
Diffstat (limited to 'gtk2_ardour/editor_canvas_events.cc')
-rw-r--r-- | gtk2_ardour/editor_canvas_events.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_canvas_events.cc b/gtk2_ardour/editor_canvas_events.cc index a7c61d14e6..911028ee9d 100644 --- a/gtk2_ardour/editor_canvas_events.cc +++ b/gtk2_ardour/editor_canvas_events.cc @@ -48,6 +48,7 @@ #include "editor_drag.h" #include "midi_time_axis.h" #include "editor_regions.h" +#include "editor_sources.h" #include "ui_config.h" #include "verbose_cursor.h" @@ -1114,6 +1115,7 @@ Editor::canvas_note_event (GdkEvent *event, ArdourCanvas::Item* item) bool Editor::canvas_drop_zone_event (GdkEvent* event) { +printf("canvas_drop_zone_event\n"); GdkEventScroll scroll; ArdourCanvas::Duple winpos; @@ -1167,6 +1169,8 @@ Editor::track_canvas_drag_motion (Glib::RefPtr<Gdk::DragContext> const& context, return false; } +printf("DRAGGING: track_canvas_drag_motion\n"); + event.type = GDK_MOTION_NOTIFY; event.button.x = x; event.button.y = y; @@ -1197,6 +1201,10 @@ Editor::track_canvas_drag_motion (Glib::RefPtr<Gdk::DragContext> const& context, if (can_drop) { region = _regions->get_dragged_region (); + if (!region) { + boost::shared_ptr<ARDOUR::Source> src = _sources->get_dragged_source (); + region = RegionFactory::get_whole_region_for_source (src); + } if (region) { @@ -1267,6 +1275,11 @@ Editor::drop_regions (const Glib::RefPtr<Gdk::DragContext>& /*context*/, samplepos_t const pos = window_event_sample (&event, &px, &py); boost::shared_ptr<Region> region = _regions->get_dragged_region (); + if (!region) { + boost::shared_ptr<ARDOUR::Source> src = _sources->get_dragged_source (); + region = RegionFactory::get_whole_region_for_source (src); + } + if (!region) { return; } RouteTimeAxisView* rtav = 0; |