13
0
Commit Graph

32740 Commits

Author SHA1 Message Date
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