* Handle large (delta > 1) movements into the DZ
which are not due to invalid-drop positions, but
caused by laggy GUI or rapid user movements.
* ignore busses when moving out of the DZ.
Allow to drag multiple regions from different tracks
to/from the dropzone.
Busses & Automation-lanes are ignored, as are
hidden tracks.
Any region may serve as mouse drag anchor.
fixes#6172 and #6176
Fixes#6172 and #6176 for single region drags.
Further work is needed if multiple regions on different tracks are dragged over hidden tracks
(see inline comment).
The previous code assumed that dragging up from the drop zone into the last
track is always valid. This is not true when the type of the dragged region(s)
do not match that route, which resulted in a crash and/or bizarre behaviour.
This took entirely too long to figure out, there are some real nightmares in
the region drag code...
This probably breaks some of ardour's functionality (e.g. layered mode), but seems to
be either just right or very close to it for tracks
Conflicts:
gtk2_ardour/editor_routes.cc
This does not address the visual flattening that occurs before the drop
is complete. Doing that is complex and there is no immediate solution
visible. The result after the drop is complete is correct, however.
This does not address the visual flattening that occurs before the drop
is complete. Doing that is complex and there is no immediate solution
visible. The result after the drop is complete is correct, however.
Conflicts:
gtk2_ardour/editor_drag.cc
[Details] Crash was provoked because of an attempt to add commands to the session reversible command, but when autoscroll started and trim began with autoscroll the session reversible command was not created for for Trim Drag.
Range select rect sticks around now after switching to the draw tool, but
disappears if a note selection is made. Not sure if draw is really the most
appropriate tool here (particularly if we ever implement actual pencil-like
drawing); edit contents seems more appropriate but that would probably cause
more selection issues, so here we are.
Fix several other cases where a single mouse click could cause several
(not nested) selection ops.
Fix missing selection memento for midi notes and midi commands.
Rename some variables.
Fix random style issues.
The user can now replay *all* earlier selection operations until the next
session undo/redo command, or the completion of a new operation.
Nothing relating to selection ops is stored, and selection operation history
is begun on first idle.
Selection operation history is fundamentally different from the history of
operations which act on a selection in terms of both their viewport and the
amount of information required to replay them.
WRT undo, the user of a selection op doesn't care about the viewport state
at the beginning of an op, but rather that at the end of the previous one.