require explicit time domain for most region-centric drags

This removed one #warning nutempo line.
This commit is contained in:
Paul Davis 2022-05-27 15:57:14 -06:00
parent 73a6cb7957
commit 69ee83e6ce
4 changed files with 54 additions and 53 deletions

View file

@ -1412,7 +1412,7 @@ Editor::drop_regions (const Glib::RefPtr<Gdk::DragContext>& /*context*/,
if ((boost::dynamic_pointer_cast<AudioRegion> (region_copy) != 0 && dynamic_cast<AudioTimeAxisView*> (rtav) != 0) || if ((boost::dynamic_pointer_cast<AudioRegion> (region_copy) != 0 && dynamic_cast<AudioTimeAxisView*> (rtav) != 0) ||
(boost::dynamic_pointer_cast<MidiRegion> (region_copy) != 0 && dynamic_cast<MidiTimeAxisView*> (rtav) != 0)) { (boost::dynamic_pointer_cast<MidiRegion> (region_copy) != 0 && dynamic_cast<MidiTimeAxisView*> (rtav) != 0)) {
_drags->set (new RegionInsertDrag (this, region_copy, rtav, timepos_t (pos)), &event); _drags->set (new RegionInsertDrag (this, region_copy, rtav, timepos_t (pos), drag_time_domain (region_copy.get())), &event);
_drags->end_grab (&event); _drags->end_grab (&event);
} }
} }

View file

@ -600,9 +600,8 @@ struct TimeAxisViewStripableSorter {
} }
}; };
RegionDrag::RegionDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v) RegionDrag::RegionDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v, Temporal::TimeDomain td)
#warning nutempo un-hardcode time-domain, see fa7e7a462c8 : Drag (e, i, td)
: Drag (e, i, p && p->region () ? p->region()->position().time_domain() : Temporal::AudioTime)
, _primary (p) , _primary (p)
, _ntracks (0) , _ntracks (0)
{ {
@ -695,8 +694,8 @@ RegionDrag::add_stateful_diff_commands_for_playlists (PlaylistSet const & playli
} }
RegionSlipContentsDrag::RegionSlipContentsDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v) RegionSlipContentsDrag::RegionSlipContentsDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v, TimeDomain td)
: RegionDrag (e, i, p, v) : RegionDrag (e, i, p, v, td)
{ {
DEBUG_TRACE (DEBUG::Drags, "New RegionSlipContentsDrag\n"); DEBUG_TRACE (DEBUG::Drags, "New RegionSlipContentsDrag\n");
} }
@ -754,8 +753,8 @@ RegionSlipContentsDrag::aborted (bool movement_occurred)
} }
RegionBrushDrag::RegionBrushDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v) RegionBrushDrag::RegionBrushDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v, TimeDomain td)
: RegionDrag (e, i, p, v) : RegionDrag (e, i, p, v, td)
{ {
DEBUG_TRACE (DEBUG::Drags, "New RegionBrushDrag\n"); DEBUG_TRACE (DEBUG::Drags, "New RegionBrushDrag\n");
_y_constrained = true; _y_constrained = true;
@ -806,8 +805,8 @@ RegionBrushDrag::aborted (bool movement_occurred)
_editor->abort_reversible_command (); _editor->abort_reversible_command ();
} }
RegionMotionDrag::RegionMotionDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v) RegionMotionDrag::RegionMotionDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v, TimeDomain td)
: RegionDrag (e, i, p, v) : RegionDrag (e, i, p, v, td)
, _ignore_video_lock (false) , _ignore_video_lock (false)
, _total_x_delta (0) , _total_x_delta (0)
, _last_pointer_time_axis_view (0) , _last_pointer_time_axis_view (0)
@ -892,7 +891,7 @@ RegionMotionDrag::compute_x_delta (GdkEvent const * event, Temporal::timepos_t &
pending_region_position = _last_position; pending_region_position = _last_position;
} }
if (pending_region_position > timepos_t::max (pending_region_position.time_domain()).earlier (_primary->region()->length())) { if (pending_region_position > timepos_t::max (time_domain()).earlier (_primary->region()->length())) {
pending_region_position = _last_position; pending_region_position = _last_position;
} }
@ -917,7 +916,7 @@ RegionMotionDrag::compute_x_delta (GdkEvent const * event, Temporal::timepos_t &
const timepos_t off = i->view->region()->position() + total_dx; const timepos_t off = i->view->region()->position() + total_dx;
if (off.is_negative()) { if (off.is_negative()) {
dx = dx - _editor->time_to_pixel_unrounded (off); dx = dx - _editor->time_to_pixel_unrounded (off);
pending_region_position = pending_region_position.earlier (timecnt_t (off, timepos_t (pending_region_position.time_domain()))); pending_region_position = pending_region_position.earlier (timecnt_t (off, timepos_t (time_domain())));
break; break;
} }
} }
@ -2211,8 +2210,8 @@ RegionMotionDrag::aborted (bool)
/** @param b true to brush, otherwise false. /** @param b true to brush, otherwise false.
* @param c true to make copies of the regions being moved, otherwise false. * @param c true to make copies of the regions being moved, otherwise false.
*/ */
RegionMoveDrag::RegionMoveDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v, bool c) RegionMoveDrag::RegionMoveDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v, bool c, TimeDomain td)
: RegionMotionDrag (e, i, p, v) : RegionMotionDrag (e, i, p, v, td)
, _copy (c) , _copy (c)
, _new_region_view (0) , _new_region_view (0)
{ {
@ -2227,9 +2226,8 @@ RegionMoveDrag::setup_pointer_offset ()
_pointer_offset = timecnt_t (_last_position.distance (raw_grab_time()), _last_position); _pointer_offset = timecnt_t (_last_position.distance (raw_grab_time()), _last_position);
} }
RegionInsertDrag::RegionInsertDrag (Editor* e, boost::shared_ptr<Region> r, RouteTimeAxisView* v, timepos_t const & pos) RegionInsertDrag::RegionInsertDrag (Editor* e, boost::shared_ptr<Region> r, RouteTimeAxisView* v, timepos_t const & pos, Temporal::TimeDomain td)
#warning nutempo pass pos.time_domain () up to Drag's c'tor : RegionMotionDrag (e, 0, 0, list<RegionView*> (), td)
: RegionMotionDrag (e, 0, 0, list<RegionView*> ())
{ {
DEBUG_TRACE (DEBUG::Drags, "New RegionInsertDrag\n"); DEBUG_TRACE (DEBUG::Drags, "New RegionInsertDrag\n");
@ -2386,8 +2384,8 @@ RegionRippleDrag::y_movement_allowed (int delta_track, double delta_layer, int s
return false; return false;
} }
RegionRippleDrag::RegionRippleDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v) RegionRippleDrag::RegionRippleDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v, TimeDomain td)
: RegionMoveDrag (e, i, p, v, false) : RegionMoveDrag (e, i, p, v, false, td)
{ {
DEBUG_TRACE (DEBUG::Drags, "New RegionRippleDrag\n"); DEBUG_TRACE (DEBUG::Drags, "New RegionRippleDrag\n");
// compute length of selection // compute length of selection
@ -3038,8 +3036,8 @@ VideoTimeLineDrag::aborted (bool)
} }
} }
TrimDrag::TrimDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v, bool preserve_fade_anchor) TrimDrag::TrimDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v, Temporal::TimeDomain td, bool preserve_fade_anchor)
: RegionDrag (e, i, p, v) : RegionDrag (e, i, p, v, td)
, _operation (StartTrim) , _operation (StartTrim)
, _preserve_fade_anchor (preserve_fade_anchor) , _preserve_fade_anchor (preserve_fade_anchor)
, _jump_position_when_done (false) , _jump_position_when_done (false)
@ -4207,8 +4205,8 @@ CursorDrag::aborted (bool)
_editor->playhead_cursor()->set_position (adjusted_time (grab_time (), 0, false).samples()); _editor->playhead_cursor()->set_position (adjusted_time (grab_time (), 0, false).samples());
} }
FadeInDrag::FadeInDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v) FadeInDrag::FadeInDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v, Temporal::TimeDomain td)
: RegionDrag (e, i, p, v) : RegionDrag (e, i, p, v, td)
{ {
DEBUG_TRACE (DEBUG::Drags, "New FadeInDrag\n"); DEBUG_TRACE (DEBUG::Drags, "New FadeInDrag\n");
} }
@ -4338,8 +4336,8 @@ FadeInDrag::aborted (bool)
} }
} }
FadeOutDrag::FadeOutDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v) FadeOutDrag::FadeOutDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v, Temporal::TimeDomain td)
: RegionDrag (e, i, p, v) : RegionDrag (e, i, p, v, td)
{ {
DEBUG_TRACE (DEBUG::Drags, "New FadeOutDrag\n"); DEBUG_TRACE (DEBUG::Drags, "New FadeOutDrag\n");
} }
@ -5415,8 +5413,8 @@ RubberbandSelectDrag::aborted (bool)
_editor->rubberband_rect->hide (); _editor->rubberband_rect->hide ();
} }
TimeFXDrag::TimeFXDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, std::list<RegionView*> const & v) TimeFXDrag::TimeFXDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, std::list<RegionView*> const & v, Temporal::TimeDomain td)
: RegionDrag (e, i, p, v) : RegionDrag (e, i, p, v, td)
{ {
DEBUG_TRACE (DEBUG::Drags, "New TimeFXDrag\n"); DEBUG_TRACE (DEBUG::Drags, "New TimeFXDrag\n");
_preview_video = false; _preview_video = false;

View file

@ -368,7 +368,7 @@ public:
class RegionDrag : public Drag, public sigc::trackable class RegionDrag : public Drag, public sigc::trackable
{ {
public: public:
RegionDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &); RegionDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &, Temporal::TimeDomain);
virtual ~RegionDrag () {} virtual ~RegionDrag () {}
protected: protected:
@ -404,7 +404,7 @@ class RegionSlipContentsDrag : public RegionDrag
{ {
public: public:
RegionSlipContentsDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &); RegionSlipContentsDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &, Temporal::TimeDomain td);
virtual ~RegionSlipContentsDrag () {} virtual ~RegionSlipContentsDrag () {}
virtual void start_grab (GdkEvent *, Gdk::Cursor *); virtual void start_grab (GdkEvent *, Gdk::Cursor *);
@ -417,7 +417,7 @@ public:
class RegionBrushDrag : public RegionDrag class RegionBrushDrag : public RegionDrag
{ {
public: public:
RegionBrushDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &); RegionBrushDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &, Temporal::TimeDomain td);
virtual ~RegionBrushDrag () {} virtual ~RegionBrushDrag () {}
virtual void start_grab (GdkEvent *, Gdk::Cursor *); virtual void start_grab (GdkEvent *, Gdk::Cursor *);
@ -434,7 +434,7 @@ class RegionMotionDrag : public RegionDrag
{ {
public: public:
RegionMotionDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &); RegionMotionDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &, Temporal::TimeDomain td);
virtual ~RegionMotionDrag () {} virtual ~RegionMotionDrag () {}
virtual void start_grab (GdkEvent *, Gdk::Cursor *); virtual void start_grab (GdkEvent *, Gdk::Cursor *);
@ -473,7 +473,7 @@ private:
class RegionMoveDrag : public RegionMotionDrag class RegionMoveDrag : public RegionMotionDrag
{ {
public: public:
RegionMoveDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &, bool); RegionMoveDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &, bool, Temporal::TimeDomain);
virtual ~RegionMoveDrag () {} virtual ~RegionMoveDrag () {}
void motion (GdkEvent *, bool); void motion (GdkEvent *, bool);
@ -534,7 +534,7 @@ private:
class RegionInsertDrag : public RegionMotionDrag class RegionInsertDrag : public RegionMotionDrag
{ {
public: public:
RegionInsertDrag (Editor *, boost::shared_ptr<ARDOUR::Region>, RouteTimeAxisView*, Temporal::timepos_t const &); RegionInsertDrag (Editor *, boost::shared_ptr<ARDOUR::Region>, RouteTimeAxisView*, Temporal::timepos_t const &, Temporal::TimeDomain);
void finished (GdkEvent *, bool); void finished (GdkEvent *, bool);
void aborted (bool); void aborted (bool);
@ -549,7 +549,7 @@ public:
class RegionRippleDrag : public RegionMoveDrag class RegionRippleDrag : public RegionMoveDrag
{ {
public: public:
RegionRippleDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &); RegionRippleDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &, Temporal::TimeDomain Td);
~RegionRippleDrag () { delete exclude; } ~RegionRippleDrag () { delete exclude; }
void motion (GdkEvent *, bool); void motion (GdkEvent *, bool);
@ -801,7 +801,7 @@ public:
EndTrim EndTrim
}; };
TrimDrag (Editor *, ArdourCanvas::Item *, RegionView*, std::list<RegionView*> const &, bool preserve_fade_anchor = false); TrimDrag (Editor *, ArdourCanvas::Item *, RegionView*, std::list<RegionView*> const &, Temporal::TimeDomain td, bool preserve_fade_anchor = false);
void start_grab (GdkEvent *, Gdk::Cursor* c = 0); void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
void motion (GdkEvent *, bool); void motion (GdkEvent *, bool);
@ -1021,7 +1021,7 @@ private:
class FadeInDrag : public RegionDrag class FadeInDrag : public RegionDrag
{ {
public: public:
FadeInDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &); FadeInDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &, Temporal::TimeDomain);
void start_grab (GdkEvent *, Gdk::Cursor* c = 0); void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
void motion (GdkEvent *, bool); void motion (GdkEvent *, bool);
@ -1043,7 +1043,7 @@ public:
class FadeOutDrag : public RegionDrag class FadeOutDrag : public RegionDrag
{ {
public: public:
FadeOutDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &); FadeOutDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &, Temporal::TimeDomain td);
void start_grab (GdkEvent *, Gdk::Cursor* c = 0); void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
void motion (GdkEvent *, bool); void motion (GdkEvent *, bool);
@ -1252,7 +1252,7 @@ private:
class TimeFXDrag : public RegionDrag class TimeFXDrag : public RegionDrag
{ {
public: public:
TimeFXDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &); TimeFXDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &, Temporal::TimeDomain td);
void start_grab (GdkEvent *, Gdk::Cursor* c = 0); void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
void motion (GdkEvent *, bool); void motion (GdkEvent *, bool);

View file

@ -944,7 +944,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
case RegionViewNameHighlight: case RegionViewNameHighlight:
if (!clicked_regionview->region()->locked()) { if (!clicked_regionview->region()->locked()) {
_drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer()), event); _drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer(), drag_time_domain (clicked_regionview->region())), event);
return true; return true;
} }
break; break;
@ -1041,13 +1041,17 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
switch (item_type) { switch (item_type) {
case FadeInHandleItem: case FadeInHandleItem:
{ {
_drags->set (new FadeInDrag (this, item, reinterpret_cast<RegionView*> (item->get_data("regionview")), selection->regions), event, _cursors->fade_in); RegionView* rv = reinterpret_cast<RegionView*> (item->get_data("regionview"));
assert (rv);
_drags->set (new FadeInDrag (this, item, rv, selection->regions, drag_time_domain (rv->region())), event, _cursors->fade_in);
return true; return true;
} }
case FadeOutHandleItem: case FadeOutHandleItem:
{ {
_drags->set (new FadeOutDrag (this, item, reinterpret_cast<RegionView*> (item->get_data("regionview")), selection->regions), event, _cursors->fade_out); RegionView* rv = reinterpret_cast<RegionView*> (item->get_data("regionview"));
assert (rv);
_drags->set (new FadeOutDrag (this, item, rv, selection->regions, drag_time_domain (rv->region())), event, _cursors->fade_out);
return true; return true;
} }
@ -1087,7 +1091,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
if (Keyboard::modifier_state_equals (event->button.state, ArdourKeyboard::slip_contents_modifier ())) { if (Keyboard::modifier_state_equals (event->button.state, ArdourKeyboard::slip_contents_modifier ())) {
if (!clicked_regionview->region()->locked() && (Config->get_edit_mode() != Lock)) { if (!clicked_regionview->region()->locked() && (Config->get_edit_mode() != Lock)) {
_drags->add (new RegionSlipContentsDrag (this, item, clicked_regionview, selection->regions.by_layer())); _drags->add (new RegionSlipContentsDrag (this, item, clicked_regionview, selection->regions.by_layer(), drag_time_domain (clicked_regionview->region())));
} }
} else if (ArdourKeyboard::indicates_copy (event->button.state)) { } else if (ArdourKeyboard::indicates_copy (event->button.state)) {
add_region_drag (item, event, clicked_regionview, true); add_region_drag (item, event, clicked_regionview, true);
@ -1106,7 +1110,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
case LeftFrameHandle: case LeftFrameHandle:
case RightFrameHandle: case RightFrameHandle:
if (!clicked_regionview->region()->locked()) { if (!clicked_regionview->region()->locked()) {
_drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer()), event); _drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer(), drag_time_domain (clicked_regionview->region()), false), event);
return true; return true;
} }
break; break;
@ -1114,7 +1118,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
case FadeInTrimHandleItem: case FadeInTrimHandleItem:
case FadeOutTrimHandleItem: case FadeOutTrimHandleItem:
if (!clicked_regionview->region()->locked()) { if (!clicked_regionview->region()->locked()) {
_drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer(), true), event); _drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer(), drag_time_domain (clicked_regionview->region()), true), event);
return true; return true;
} }
break; break;
@ -1123,7 +1127,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
{ {
/* rename happens on edit clicks */ /* rename happens on edit clicks */
if (clicked_regionview->get_name_highlight()) { if (clicked_regionview->get_name_highlight()) {
_drags->set (new TrimDrag (this, clicked_regionview->get_name_highlight(), clicked_regionview, selection->regions.by_layer()), event); _drags->set (new TrimDrag (this, clicked_regionview->get_name_highlight(), clicked_regionview, selection->regions.by_layer(), drag_time_domain (clicked_regionview->region())), event);
return true; return true;
} }
break; break;
@ -1328,7 +1332,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
return true; return true;
} else if (clicked_regionview) { } else if (clicked_regionview) {
/* do time-FX */ /* do time-FX */
_drags->set (new TimeFXDrag (this, item, clicked_regionview, selection->regions.by_layer()), event); _drags->set (new TimeFXDrag (this, item, clicked_regionview, selection->regions.by_layer(), drag_time_domain (clicked_regionview->region())), event);
return true; return true;
} }
break; break;
@ -1376,18 +1380,18 @@ Editor::button_press_handler_2 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
switch (item_type) { switch (item_type) {
case RegionViewNameHighlight: case RegionViewNameHighlight:
_drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer()), event); _drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer(), drag_time_domain (clicked_regionview->region())), event);
return true; return true;
break; break;
case LeftFrameHandle: case LeftFrameHandle:
case RightFrameHandle: case RightFrameHandle:
_drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer()), event); _drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer(), drag_time_domain (clicked_regionview->region())), event);
return true; return true;
break; break;
case RegionViewName: case RegionViewName:
_drags->set (new TrimDrag (this, clicked_regionview->get_name_highlight(), clicked_regionview, selection->regions.by_layer()), event); _drags->set (new TrimDrag (this, clicked_regionview->get_name_highlight(), clicked_regionview, selection->regions.by_layer(), drag_time_domain (clicked_regionview->region())), event);
return true; return true;
break; break;
@ -2615,8 +2619,7 @@ Editor::add_region_drag (ArdourCanvas::Item* item, GdkEvent*, RegionView* region
return; return;
} }
_drags->add (new RegionMoveDrag (this, item, region_view, selection->regions.by_layer(), copy)); _drags->add (new RegionMoveDrag (this, item, region_view, selection->regions.by_layer(), copy, drag_time_domain (region_view->region())));
} }
void void
@ -2633,7 +2636,7 @@ Editor::add_region_brush_drag (ArdourCanvas::Item* item, GdkEvent*, RegionView*
} }
std::list<RegionView*> empty; std::list<RegionView*> empty;
_drags->add (new RegionBrushDrag (this, item, region_view, empty)); _drags->add (new RegionBrushDrag (this, item, region_view, empty, drag_time_domain (region_view->region())));
} }
/** Start a grab where a time range is selected, track(s) are selected, and the /** Start a grab where a time range is selected, track(s) are selected, and the
@ -2697,7 +2700,7 @@ Editor::start_selection_grab (ArdourCanvas::Item* /*item*/, GdkEvent* event)
commit_reversible_command (); commit_reversible_command ();
_drags->set (new RegionMoveDrag (this, latest_regionviews.front()->get_canvas_group(), latest_regionviews.front(), latest_regionviews, false), event); _drags->set (new RegionMoveDrag (this, latest_regionviews.front()->get_canvas_group(), latest_regionviews.front(), latest_regionviews, false, drag_time_domain (latest_regionviews.front()->region())), event);
} }
void void