b7b4c99bc9
Temporal: add new arithmetic operators allowing more inter-operability of int64_t/int62_t; make operator int64_t explicit to avoid hidden use
2021-08-13 12:51:28 -06:00
788cd5456e
add additional methods allowing direct arithmetic operator expressions to be used with PBD::Property
2021-08-13 12:51:28 -06:00
5285151d08
Temporal: alter which tests are run by test2
2021-08-13 12:51:28 -06:00
88cf07daa6
Temporal: add standalone compile instruction for test2.cc
2021-08-13 12:51:28 -06:00
3beffbd3ee
Temporal: add test program to evaluate performance of various ways of using int64_t atomically
2021-08-13 12:51:28 -06:00
56795a97a3
changes required to get ardour to start up (missing vars, incorrect values)
2021-08-13 12:51:28 -06:00
f5fad809fb
Temporal: add decl for thread-local tempo map pointer
2021-08-13 12:51:28 -06:00
d47d462182
Temporal: add debug bits declaration
2021-08-13 12:51:28 -06:00
b0a732e636
Temporal: extend timecnt_t API to provide samples() method, using thread-local sample rate
2021-08-13 12:51:28 -06:00
791e76290d
Temporal: extend timepos_t API to provide samples() method, using thread-local sample rate
2021-08-13 12:51:28 -06:00
4c6d6b14e5
Temporal: add new TempoMap implementation source
2021-08-13 12:51:28 -06:00
f42bd3fe47
add per-thread sample rate variable and libardour method to update it
2021-08-13 12:51:28 -06:00
1f0d9159a7
Temporal: use, don't fetch tempo map pointer
2021-08-13 12:51:28 -06:00
8ec81c2308
Temporal: correctly construct return timepos_t for * and /
2021-08-13 12:51:28 -06:00
e89d727939
Temporal: remove the final #warning from timeline.cc
2021-08-13 12:51:28 -06:00
b87c855240
Temporal: add string_to/to_string methods for timecnt_t
2021-08-13 12:51:28 -06:00
974196b7d2
Temporal: add timeline.cc
2021-08-13 12:51:28 -06:00
5a0969a5c2
Temporal: remove last bit of floating point API from timepos_t
2021-08-13 12:51:28 -06:00
9fe9658e8a
Temporal: add clarifying comment
2021-08-13 12:51:28 -06:00
ead17ed35c
Temporal: add ratio_t type (currently boost::rational<int64_T>
2021-08-13 12:51:28 -06:00
b1271a491e
Temporal: add TempoMap::use() which returns the per-thread ptr-to-tempo-map without updating the pointer
2021-08-13 12:51:28 -06:00
7446de72b1
Temporal: improve timepos_t::distance() implementations
2021-08-13 12:51:28 -06:00
2c69a1425f
Temporal: fundamental changes to get timeline.cc to compile
2021-08-13 12:51:28 -06:00
35d0519109
make superclock_t signed, to match signedness of int62_t
2021-08-13 12:51:28 -06:00
709df7a08f
add operators for self-typed arithmetic
2021-08-13 12:51:28 -06:00
cb78984c63
add new int62.h header, which implements a generic 62bit-int-plus-flagbit type
2021-08-13 12:51:28 -06:00
f4490f54c5
change Timecode::BBT_Time to use Temporal namespace, plus a couple of other minor changes to enable compilation
...
This still uses the tempo map object in libs/ardour, not the new one in libs/temporal, and isn't likely to be functional
(though it could be)
2021-08-13 12:51:28 -06:00
9abf90c9d5
add the new timepos_t/timecnt_t header
2021-08-13 12:51:28 -06:00
a80960468d
first pass at integrating nutempo v1 with new 64 bit superclock/ticks representation
...
This compiles libtemporal, but nothing more
2021-08-13 12:51:28 -06:00
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
c043156089
new header with an efficient implementation of integer division-rounding-to-nearest
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
068cace22c
fix semantics of Playlist::find_prev_region_start()
2021-08-13 12:51:28 -06:00
7e3b22e519
add Playlist::find_prev_region_start()
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
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
46fa558bc6
finalize removal of splicing code from ARDOUR::Playlist
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
a2b3e31e10
libardour: remove ripple callback API, and fix deadlock issues with ripple/ripple_locked/ripple_unlocked/remove_gaps
2021-08-13 12:51:27 -06:00
2f11a49103
Add "Ripple All" edit mode to libardour
2021-08-13 12:51:27 -06:00
815abed5c5
alter API for playlist ripple callback, to provide required information
2021-08-13 12:51:27 -06:00
447e80a247
add a callback argument to Playlist::ripple() so that the caller can arrange for a response after a single ripple
...
Also add Playlist::rdiff_and_add_command() to consolidate what is required to save
playlist state in an (undo/redo) Command
2021-08-13 12:51:27 -06:00
82bad0725a
libcanvas: reapply LineSet::add_line -> add_coord change after rebase conflicts with master
2021-08-13 12:51:27 -06:00
54de7c70ee
Canvas: print item colors in hex when debugging
2021-08-13 12:51:27 -06:00
86a31e34ba
Canvas: fix recursive calling of Item::size_allocate()
...
ConstraintPacker is the one Item-derivative that should NOT call Item::size_allocate_children()
because it just did the size computation for its children and called their
::constrained() method, which in turns calls size_allocate() with the correct size
2021-08-13 12:51:27 -06:00
dbe37d2752
Canvas: make possible even more debugging of constraint packing
2021-08-13 12:51:27 -06:00
f118b3ab53
Canvas: remove dangling cairo path in Arc or ConstraintPacker if fill was requested but not outline
2021-08-13 12:51:27 -06:00
1d96bad59f
Canvas: remove cBox (API fully merged into ConstraintPacker)
2021-08-13 12:51:27 -06:00