e0b5b12129
basic work on a Tempo object that avoids (almost) all floating point arithmetic
...
Basic conversions between superclock and Beats are provided
2021-08-13 12:51:28 -06:00
4c4e4e545a
remove unnecessary file/tool
2021-08-13 12:51:28 -06:00
c043156089
new header with an efficient implementation of integer division-rounding-to-nearest
2021-08-13 12:51:28 -06:00
f245992186
updated Temporal::Beats ... scripts edition
2021-08-13 12:51:28 -06:00
0a469527f1
updated Temporal::Beats ... GUI edition
2021-08-13 12:51:28 -06:00
4dc048b28a
update Temporal::Beats to merge master/nutempo versions, notably with private from-double constructor
...
This is the libraries-only edition. It still features liberal use of Beats::from_double() but this is now
explicit and will be easier to locate the calls and remove them. Several classes that were using
Beats::to_double() have been (temporarily) made friends of Beats to allow them to keep using it,
pending the much more widespread redesigns of several structures. Once this is done, the friend
relationships can (mostly) be removed. It is expected the ARDOUR::Variant will need to continue
as a friend because it is used to pass beat counts to LV2 as doubles
2021-08-13 12:51:28 -06:00
ecf2028c7a
Revert "NO-OP: code formatting and cleanup, thanks clang-format"
...
Widespread minor changes cause conflicts when rebasing nutempo2; will
reapply formatting later.
This reverts commit 548db7a9a4
.
2021-08-13 12:51:28 -06:00
32b77f549f
fix marker positions after an aborted ripple drag
2021-08-13 12:51:28 -06:00
23aa663f9d
when doing a ripple-all drag, move relevant markers during the drag too
...
Note that this is purely GUI-level: the ARDOUR::Locations are changed at the end of the drag
in Editor::ripple_marks()
2021-08-13 12:51:28 -06:00
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
7afc45ac5c
helpful comment
2021-08-13 12:51:28 -06:00
12b536d8f2
add API to fetch all regionviews after a given position
2021-08-13 12:51:28 -06:00
a1ef870866
prevent ripple drag from passing earlier region starts
2021-08-13 12:51:28 -06:00
068cace22c
fix semantics of Playlist::find_prev_region_start()
2021-08-13 12:51:28 -06:00
311db08cc3
manual fixups for rebase-on-master issues
2021-08-13 12:51:28 -06:00
a95b1d2cd1
for RegionMotionDrag, set _earliest_time_limit if rippling (not yet used)
2021-08-13 12:51:28 -06:00
7e3b22e519
add Playlist::find_prev_region_start()
2021-08-13 12:51:27 -06:00
b04ea33f18
move Drag::_earliest_time_limit to be protected, not private
2021-08-13 12:51:27 -06:00
fbd6c7eaee
add earliest_time_limit for Drag class
2021-08-13 12:51:27 -06:00
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
fc5143772b
fix deadlock-inducing failure-to-thaw during region drag (no copy)
2021-08-13 12:51:27 -06:00
1ccf272d58
ripple-all now moves markers too
2021-08-13 12:51:27 -06:00
0b06c4dc2b
manually fix rebase error
2021-08-13 12:51:27 -06:00
3ab65dc62d
keep session range correct when rippling markers
2021-08-13 12:51:27 -06:00
78a9e29507
fix deadlock and direction error in Locations::ripple()
2021-08-13 12:51:27 -06:00
ddbe0747a9
add whitespace
2021-08-13 12:51:27 -06:00
93982614c4
remove debug output
2021-08-13 12:51:27 -06:00
ff85496b03
we should clear property changes recursively for a region drag, not just toplevel properties
2021-08-13 12:51:27 -06:00
989408626d
at end of no-copy region drag, do ripple if appropriate
2021-08-13 12:51:27 -06:00
6896f7228d
fill ripple-excluded region container (non-copy drag)
2021-08-13 12:51:27 -06:00
4a1d09d474
determine potential ripple range for non-copy drag
2021-08-13 12:51:27 -06:00
6efbcf1ff7
add variables to track potential ripple at end of drag (no-copy)
2021-08-13 12:51:27 -06:00
741a86ccf6
add container for ripple-excluded regions (no-copy drag)
2021-08-13 12:51:27 -06:00
d2ebc58575
at end of copy-region drag, potentially do ripple
2021-08-13 12:51:27 -06:00
76de8ab3f9
fill ripple-excluded regions container
2021-08-13 12:51:27 -06:00
04c03199dc
determine scope of potential end-of-drag ripple
2021-08-13 12:51:27 -06:00
283e2103ba
add variables to determine scope of potential ripple at end of drag
2021-08-13 12:51:27 -06:00
7bd03b68ee
add container for regions to be excluded from ripple
2021-08-13 12:51:27 -06:00
3e6de18919
move point at which to-be-rerippled regionviews are collected in a RegionMotionDrag
2021-08-13 12:51:27 -06:00
27a906444a
clarify comment
2021-08-13 12:51:27 -06:00
e3c7ead943
no cross-track region drags in any ripple mode
2021-08-13 12:51:27 -06:00
0c77a35178
completely remove RegionRippleDrag, and merge Editor::add_region(_copy,}_drag() into one method
2021-08-13 12:51:27 -06:00
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
46fa558bc6
finalize removal of splicing code from ARDOUR::Playlist
2021-08-13 12:51:27 -06:00
963d2b6906
use Playlist::rdiff_and_add_command() rather than explicit code
2021-08-13 12:51:27 -06:00
90e4adfed1
ripple drag never allows y motion
2021-08-13 12:51:27 -06:00
77e67809f9
we removed Splice mode from the GUI 7 years ago; now remove all code related to Splice mode (GUI edition)
2021-08-13 12:51:27 -06:00
43c713d0ef
we removed Splice mode from the GUI 7 years ago; now remove all code related to Splice mode
2021-08-13 12:51:27 -06:00
ece174ca47
region selection toggle in RippleAll mode applies across all tracks
2021-08-13 12:51:27 -06:00
38cb16f521
in ripple all edit mode, extend-region selection operation works across all tracks
2021-08-13 12:51:27 -06:00