0fa56402be
move DEBUG::SnapBBT into libtemporal
2021-08-13 12:51:31 -06:00
7c61fe405c
Evoral: cleanup for explicit Beats::operator bool()
2021-08-13 12:51:31 -06:00
34d798327b
libardour: cleanup for explicit Beats::operator bool()
2021-08-13 12:51:31 -06:00
e188fbe0ee
fix incorrect use timepos_t::position (incorrect ordering)
2021-08-13 12:51:31 -06:00
df0ac42f54
Temporal: cleanup for explicit Beats::operator bool()
2021-08-13 12:51:31 -06:00
05740e7069
Temporal: mark Beats::operator bool() as explicit, to avoid unintended/accidental use when implicitly casting to int/float types
2021-08-13 12:51:31 -06:00
5e0cf747bb
Temporal: removed unused std::numeric_limits<> definitions for timeline types
...
There can be no single ::max() or ::min() value for these types because the time domain matters. With a given
tempo map, a certain beat value represent a time before or after the maximum possible audio domain value
2021-08-13 12:51:31 -06:00
de3eb54958
Temporal: in an update to the previous commit, actually remove timepos_t::compute_ticks() rather than claim to implement it
2021-08-13 12:51:31 -06:00
400018e121
Temporal: implement timepos_t::compute_ticks()
2021-08-13 12:51:31 -06:00
0ce40fc648
Temporal: fix timepos_t (Beats) constructor
...
flag bit was set incorrectly
2021-08-13 12:51:31 -06:00
fa759d3507
fix direction for trim drags
2021-08-13 12:51:31 -06:00
a01bb90c04
libardour: remove _length_beats member from MidiSource and use Source::_length
...
timecnt_t can represent either time domain
2021-08-13 12:51:31 -06:00
9e58c43ecd
libardour: change flow control to return early rather than use condition scope in Region::set_length()
2021-08-13 12:51:31 -06:00
9ca376c232
libardour: fix another NUTEMPO warning by replacing a BeatSamplesConverter with timecnt_t
2021-08-13 12:51:31 -06:00
170541deb7
libpbd: fix implementation of int62_t::operator== and ::operator!=
...
Reversed logic error
2021-08-13 12:51:31 -06:00
747281a244
Temporal: fix implementation of timecnt_t::operator= (timecnt_t const &)
...
It is OK now to have inconsistent time domains inside a timecnt_t
2021-08-13 12:51:31 -06:00
3900537fcf
split Beats::round_to_subdivision() into source module
...
Rounding to bar requires access to the tempo map, and we don't want this in
the beats.h header
2021-08-13 12:51:31 -06:00
0d15797499
small cleanup to Source length API
2021-08-13 12:51:31 -06:00
6c6d7fa874
fix 2 NUTEMPO #warnings in smf_source.cc
2021-08-13 12:51:31 -06:00
164b098a21
fix AutomationRegionView::paste()
2021-08-13 12:51:31 -06:00
d995a07011
remove AutomationList::paste since it is no longer required (just use ControlList::paste())
2021-08-13 12:51:31 -06:00
779a04b0ce
Evoral: alter ControlList::paste() to internally change time domain of pasted events
2021-08-13 12:51:31 -06:00
fbdd93a411
Fix Editor::mouse_add_new_meter_event()
2021-08-13 12:51:31 -06:00
0632ced2d5
fix Region::(region|source)_relative_distance()
2021-08-13 12:51:31 -06:00
313d957eaf
MidiRegionView: restore functioning (?) of snap_sample_to_grid_underneath()
2021-08-13 12:51:31 -06:00
f0ff72c669
remove old call to set libtemporal thread local sample rate
2021-08-13 12:51:31 -06:00
c64db47b37
use new libtemporal sample rate mechanism (libs edition)
2021-08-13 12:51:31 -06:00
5bef968069
Temporal: replace thread_local sample rate with callback to get sample rate
2021-08-13 12:51:31 -06:00
6e9f57d2ad
Temporal: remove scope braces left over from when we used a lock to protect the tempo map
2021-08-13 12:51:31 -06:00
2a6b2dfa7c
cease using BarTime for anything
2021-08-13 12:51:31 -06:00
b6f2e39ed4
Temporal: remove BarTime
2021-08-13 12:51:31 -06:00
5987376afc
Temporal: avoid recursive descent in TempoMap::quarters_at (timepos_t)
2021-08-13 12:51:31 -06:00
9412130c01
use cleaned up Temporal ::quarters*_at* API (GUI edition)
2021-08-13 12:51:31 -06:00
3ca2be321d
use cleaned up Temporal ::quarters*_at* API (libs edition)
2021-08-13 12:51:31 -06:00
43d84620e0
Temporal: clean up API to remove ambiguity about ::quarter*_at_*
...
superclock_t and samplepos_t have the same underlying C++ type, so methods that accept one or the
other as an argument need to be named to make it clear which type they accept. We do not need
the superclock_t variant publically, but it turns out to be useful within TempoMap.
2021-08-13 12:51:31 -06:00
84d33f3ec3
manual fixups after rebase against master (GUI edition)
2021-08-13 12:51:31 -06:00
bed76798f3
manual fixups after rebase against master (general libs edition)
2021-08-13 12:51:31 -06:00
c76c61d202
manual fixups after rebase against master
2021-08-13 12:51:31 -06:00
fe218e7478
nutempo-ify VST support (incomplete, pending change to tempo map API
2021-08-13 12:51:31 -06:00
0093ae07b0
cleanup after timecnt_t API changed (GUI edition)
2021-08-13 12:51:31 -06:00
eee0fdf2d5
remove debug output
2021-08-13 12:51:31 -06:00
fbdf06a794
cleanup after timecnt_t API changed (libs edition)
2021-08-13 12:51:31 -06:00
afea443419
remove API from Temporal:timecnt_t that used superclock_t
...
Not possible for a compiler to differentiate superclock_t and sample(pos|cnt)_t, which can lead to
subtle but major errors
2021-08-13 12:51:31 -06:00
9402548677
Temporal: add lots more DEBUG::TemporalMap output to tempo.cc
2021-08-13 12:51:31 -06:00
793579cf3f
Temporal: expand displayed info for Tempo's operator<<
2021-08-13 12:51:31 -06:00
a0b9030e3c
Temporal: fix logic during ::get_grid that ignored if rounding did nothing
2021-08-13 12:51:31 -06:00
f1bb135013
Temporal: fix computation of ::quarters_at()
2021-08-13 12:51:31 -06:00
7085dccebc
Temporal: make Tempo:: super_note_type_per_second publically accessible
2021-08-13 12:51:31 -06:00
12b967afca
use ::empty() not ::distance (a,b) == 0 (wierd construction!)
2021-08-13 12:51:31 -06:00
c3e12672b2
fix use of ::add_click (samplepos_t) when doing clicks (i.e. no superclock here)
2021-08-13 12:51:31 -06:00