Paul Davis
140c5e818f
somewhat simplify ripple-all by just grabbing all regions-at-or-after as the drag starts.
...
This means that we actually explicitly reposition all regions as part of the drag, and do not need to call
Editor::do_ripple(). We do still need to call Editor::ripple_marks() though
2021-08-13 12:51:28 -06:00
Paul Davis
7afc45ac5c
helpful comment
2021-08-13 12:51:28 -06:00
Paul Davis
a1ef870866
prevent ripple drag from passing earlier region starts
2021-08-13 12:51:28 -06:00
Paul Davis
311db08cc3
manual fixups for rebase-on-master issues
2021-08-13 12:51:28 -06:00
Paul Davis
a95b1d2cd1
for RegionMotionDrag, set _earliest_time_limit if rippling (not yet used)
2021-08-13 12:51:28 -06:00
Paul Davis
b04ea33f18
move Drag::_earliest_time_limit to be protected, not private
2021-08-13 12:51:27 -06:00
Paul Davis
fbd6c7eaee
add earliest_time_limit for Drag class
2021-08-13 12:51:27 -06:00
Paul Davis
ac1d5bac0a
improve rippling of marks to include any in the gap between the primary-dragged region and the one before it
2021-08-13 12:51:27 -06:00
Paul Davis
fc5143772b
fix deadlock-inducing failure-to-thaw during region drag (no copy)
2021-08-13 12:51:27 -06:00
Paul Davis
1ccf272d58
ripple-all now moves markers too
2021-08-13 12:51:27 -06:00
Paul Davis
ddbe0747a9
add whitespace
2021-08-13 12:51:27 -06:00
Paul Davis
93982614c4
remove debug output
2021-08-13 12:51:27 -06:00
Paul Davis
ff85496b03
we should clear property changes recursively for a region drag, not just toplevel properties
2021-08-13 12:51:27 -06:00
Paul Davis
989408626d
at end of no-copy region drag, do ripple if appropriate
2021-08-13 12:51:27 -06:00
Paul Davis
6896f7228d
fill ripple-excluded region container (non-copy drag)
2021-08-13 12:51:27 -06:00
Paul Davis
4a1d09d474
determine potential ripple range for non-copy drag
2021-08-13 12:51:27 -06:00
Paul Davis
6efbcf1ff7
add variables to track potential ripple at end of drag (no-copy)
2021-08-13 12:51:27 -06:00
Paul Davis
741a86ccf6
add container for ripple-excluded regions (no-copy drag)
2021-08-13 12:51:27 -06:00
Paul Davis
d2ebc58575
at end of copy-region drag, potentially do ripple
2021-08-13 12:51:27 -06:00
Paul Davis
76de8ab3f9
fill ripple-excluded regions container
2021-08-13 12:51:27 -06:00
Paul Davis
04c03199dc
determine scope of potential end-of-drag ripple
2021-08-13 12:51:27 -06:00
Paul Davis
283e2103ba
add variables to determine scope of potential ripple at end of drag
2021-08-13 12:51:27 -06:00
Paul Davis
7bd03b68ee
add container for regions to be excluded from ripple
2021-08-13 12:51:27 -06:00
Paul Davis
3e6de18919
move point at which to-be-rerippled regionviews are collected in a RegionMotionDrag
2021-08-13 12:51:27 -06:00
Paul Davis
27a906444a
clarify comment
2021-08-13 12:51:27 -06:00
Paul Davis
e3c7ead943
no cross-track region drags in any ripple mode
2021-08-13 12:51:27 -06:00
Paul Davis
0c77a35178
completely remove RegionRippleDrag, and merge Editor::add_region(_copy,}_drag() into one method
2021-08-13 12:51:27 -06:00
Paul Davis
9d54bb08e7
remove almost all of RegionRippleDrag, collapsing down to just collecting additional RegionViews that need to be moved during the drag
2021-08-13 12:51:27 -06:00
Paul Davis
963d2b6906
use Playlist::rdiff_and_add_command() rather than explicit code
2021-08-13 12:51:27 -06:00
Paul Davis
90e4adfed1
ripple drag never allows y motion
2021-08-13 12:51:27 -06:00
Paul Davis
eac366ec8e
remove RegionRippleDrag::allow_moves_across_tracks since this was already unconditionally set to false
...
It was also commented "rippling across all tracks is the future", and created notable technical debt
2021-08-13 12:51:27 -06:00
Paul Davis
5c830233ec
implement ripple-all via select-all for selection drags
2021-08-13 12:51:27 -06:00
Paul Davis
636f1331e8
stop using ripple callback API, add Editor::should_ripple() and Editor::do_ripple() to manage rippling
2021-08-13 12:51:27 -06:00
Paul Davis
0e2bd5383c
GUI changes to follow new Playlist::ripple() API
...
Current ripple callback does nothing at all
2021-08-13 12:51:27 -06:00
Ben Loftis
9635aca923
Slip Contents Drag: regions should draw transparently while dragging, so you can line-up transients
2021-08-06 08:29:42 -05:00
Ben Loftis
45bd2c47d8
Brush Drag: refactor Brush-drag into its own Drag class (operation is still weird though)
2021-06-17 10:56:30 -05:00
Ben Loftis
69af0e6964
Abort a copy-drag in the case where it would result in a copy at the same location
...
also code cleanup: clear_draggingview_list() avoids duplicated code
2021-06-17 10:56:30 -05:00
Ben Loftis
87ecc9b4ca
Slip Contents Drag: fix undo
2021-06-17 10:56:30 -05:00
Ben Loftis
f281e7e3c3
Slip Contents Drag: disambiguate Slip Contents from prior Contents Trim
2021-06-17 10:56:30 -05:00
Ben Loftis
3d8bccb508
Slip Contents Drag: remove ContentsTrim modifier from the region boundaries
...
*now that you can grab "anywhere" in the region, trim edges are inferior because they are hard to hit
*modifier had to change anyway (since CTRL is used as a copy-drag on both mac and win), so that invalidates prior muscle memory
*potentially frees up modifier on the trim edge for some other purpose (anchored_trim)
2021-06-17 10:56:27 -05:00
Ben Loftis
fea3fb9e71
Slip Contents Drag: add ContentsDrag
2021-06-17 10:56:22 -05:00
Ben Loftis
c62b6e0e3e
Control Points should not obey Lock Edit, which was intended to lock regions and notes at the time where they were recorded.
...
Control Points should ignore x_constraint which is set in Drag::motion and potentially other places.
The only thing that should prevent CP sliding is can_slide which is false for the points at the ends of a region.
2021-06-14 11:51:16 -05:00
Paul Davis
232af15b51
fix position of region cue markers during drag and after when region position is not zero
2021-05-25 14:01:30 -06:00
Paul Davis
54e0b7f230
renaming cue markers (via dbl-click)
2021-05-24 20:23:06 -06:00
Paul Davis
ab2357dfa1
implement dragging for region/cue markers
2021-05-24 12:28:19 -06:00
Paul Davis
2016710865
skeleton for RegionMarkerDrag
2021-05-24 09:12:19 -06:00
Robin Gareus
f1fe1c7066
Amend 445f9a51bf
2021-05-23 23:22:18 +02:00
Robin Gareus
445f9a51bf
Fix ripple undo/redo
...
Ripple edit undo/redo needs a "recursive diff" of all regions
in the playlist. To work properly owned changes have to be
cleared first, previously unrelated edits were be collected too.
This includes a more consistent version of
7a89d56009 using rdiff() instead of explicitly
saving region diffs.
2021-05-23 17:42:33 +02:00
Robin Gareus
fd3220c3d7
Set uninitialized variable (fix playhead dragging)
2021-05-21 17:57:56 +02:00
Robin Gareus
ce1e05fc3d
Update DnD min. movement threshold -- #8686
...
Previously x-axis threshold was in samples. This is
useless unless zoomed in to the max. So in most cases
the first-move was always in x-direction, making constrained
y-axis drags near impossible.
Furthermore the threshold for copy-drags was increased
as per #8686
2021-05-08 04:28:36 +02:00