summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_canvas_events.cc
diff options
context:
space:
mode:
authorBen Loftis <ben@harrisonconsoles.com>2018-11-15 09:24:37 -0600
committerBen Loftis <ben@harrisonconsoles.com>2019-08-01 12:11:31 -0500
commitb1019bbbf622cf2c12b76fca445ccd89c46c30c9 (patch)
tree5e98c51f481209374b8fb306b89d075566f747bf /gtk2_ardour/editor_canvas_events.cc
parent3e6ce20fd71022dad54508b652e851148ae4a4c4 (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.cc13
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;