|
38aa2560f3
|
libtemporal: remove unnecessary initialization
|
2021-08-13 12:51:35 -06:00 |
|
|
f61adcd738
|
temporal: knarly template code to consolidate and rationalize duplicated methods
|
2021-08-13 12:51:35 -06:00 |
|
|
585346ce56
|
libtemporal: fix many different issues with tempo ramps
API changes, ensuring omega is computed, saved, and restored, generic methods to get tempo/meter at a position, and lots more
|
2021-08-13 12:51:35 -06:00 |
|
|
3256350ef8
|
libtemporal: needs "OSX" pseudo-lib to pick up required macOS flags
|
2021-08-13 12:51:35 -06:00 |
|
|
5895909188
|
libtemporal: remove unnecessary inclusion of pbd/compose.h from beats.h
this causes breakage in clangs ADL lookup of various operator<<() overloads
|
2021-08-13 12:51:35 -06:00 |
|
|
3170f880c2
|
stop clang from complaining about a missing return after a guaranteed assert() failure
|
2021-08-13 12:51:35 -06:00 |
|
|
f721655916
|
libtemporal: to quote the matrix, there is no lock
|
2021-08-13 12:51:35 -06:00 |
|
|
bccdc95f32
|
libtemporal: fix logic for ::get_tempo_and_meter() if starting point is the timeline start
|
2021-08-13 12:51:35 -06:00 |
|
|
1f8290f154
|
generalize repeated code into a template method, add lots of const-ness to facilitate this
|
2021-08-13 12:51:35 -06:00 |
|
|
c5ecd14622
|
temporal: fix logic errors in setting up TempoMetric objects
will likely revisit this to avoid code-duplication and "optimize" traversal of _points list
|
2021-08-13 12:51:35 -06:00 |
|
|
8bada4b5e1
|
remove public ::bbt_at (INTEGER) methods, because of superclock_t/samplepos_t confusion
libtemporal still needs ::bbt_at (superclock_t) fairly often so retain it as a private method, but public
interfaces take either Beats or timepos_t
|
2021-08-13 12:51:35 -06:00 |
|
|
53e411c011
|
fix logic error in conditional
|
2021-08-13 12:51:35 -06:00 |
|
|
6f2fdc2695
|
functioning loading of older tempo map XML data
|
2021-08-13 12:51:35 -06:00 |
|
|
092a454648
|
fix timepos_t::string_to (wrong argument to samples_to_superclock()
|
2021-08-13 12:51:35 -06:00 |
|
|
445ad2e383
|
rearrange if/else logic to avoid NOTREACHED condition
|
2021-08-13 12:51:35 -06:00 |
|
|
b84402f4f8
|
intial steps for adding legacy (v0-5) tempo map deserialization support
|
2021-08-13 12:51:35 -06:00 |
|
|
344dd26788
|
improved DEBUG_TRACE statements for tempo map
|
2021-08-13 12:51:35 -06:00 |
|
|
cd34695944
|
fix TempoMap::quarters_at_superclock (superclock_t)
|
2021-08-13 12:51:35 -06:00 |
|
|
74ff3b22b8
|
fix TempoPoint::superclock_at(Beats)
|
2021-08-13 12:51:35 -06:00 |
|
|
216945a89c
|
move TempoMap::write_copy() into .cc file instead of .h
|
2021-08-13 12:51:35 -06:00 |
|
|
ce3fb0507c
|
change return type of Tempo::set_{ramped,clamped} and fix call sites
|
2021-08-13 12:51:35 -06:00 |
|
|
99c8c0b658
|
initial, tentative, untested implementation of TempoMap::remove_time()
|
2021-08-13 12:51:35 -06:00 |
|
|
991a7bf8a7
|
add TempoMap::count_bars() to allow bar counting even with position (BBT) markers in the tempo map
This just reuses the algorithm in TempoMap::get_grid() by asking for just the bar grid, and counting the
size of the result
|
2021-08-13 12:51:35 -06:00 |
|
|
0ab2308523
|
reimplement TempoMap::midi_clock_beat_at_or_after()
|
2021-08-13 12:51:35 -06:00 |
|
|
0b1d44f422
|
temporal: fix timepos_t::decrement() to not switch domains
|
2021-08-13 12:51:35 -06:00 |
|
|
daad7b74ae
|
libtemporal: rename TempoMap::full_duration_at() to ::convert_duration() and reorder parameters
|
2021-08-13 12:51:34 -06:00 |
|
|
7773fc5b64
|
libtemporal: TempoMap::full_duration_at() returns correct value for unchanged time domain call
|
2021-08-13 12:51:34 -06:00 |
|
|
b7bc3b1947
|
libtemporal: expand comment to explain more about what TempoMap::full_duration_at() does
|
2021-08-13 12:51:34 -06:00 |
|
|
c0c3fd07c9
|
libtemporal: add timecnt_t::end() and timecnt_t::set_time_domain()
|
2021-08-13 12:51:34 -06:00 |
|
|
beaa1b3fcb
|
be sure to check the return from the RCU mgr ::update method() inside TempoMap::update()
|
2021-08-13 12:51:34 -06:00 |
|
|
0877500437
|
libtemporal: don't compile file removed (too early) in a55df1ad6
|
2021-08-13 12:51:34 -06:00 |
|
|
5b3c5d3782
|
libtemporal: fix implementation of timepos_t::max() to avoid overflow for Beats time
|
2021-08-13 12:51:34 -06:00 |
|
|
b2510c0da2
|
libardour: use appropriate method to set AutomationList time domain from ::set_state()
|
2021-08-13 12:51:34 -06:00 |
|
|
2049cc44b2
|
libtemporal: tweak: don't both with local tempo map ptr
|
2021-08-13 12:51:34 -06:00 |
|
|
433a9ebe48
|
libtemporal: catch attempts to convert max audio time values into beats, early
|
2021-08-13 12:51:34 -06:00 |
|
|
d576fc8ca9
|
libtemporal: when computing Beats from a ticks value, do not try to pass potentially overflowing ticks value
|
2021-08-13 12:51:34 -06:00 |
|
|
1af74f7398
|
libtemporal: correct the definition of std::numeric_limits<Beats>::max(). Comment in code contains details.
|
2021-08-13 12:51:34 -06:00 |
|
|
bbb3ca01fa
|
libtemporal: remove several BBT-related methods that are not used and problematic for BBT/position markers
|
2021-08-13 12:51:34 -06:00 |
|
|
0667a50a11
|
libtemporal: improve TempoMap::get_grid()'s decision making about what bar points to include when bar_mod == 1
|
2021-08-13 12:51:34 -06:00 |
|
|
877e896caf
|
libtemporal: TempoMap::apply_with_metrics() needs to use *all* metrics (inc. MusicTimePoints)
|
2021-08-13 12:51:34 -06:00 |
|
|
a49ed5505e
|
libtemporal: no need for a default MusicTimePoint in the tempo map (default tempo+meter points serve same role)
|
2021-08-13 12:51:34 -06:00 |
|
|
34a3db7eaa
|
use existing (inline) method for updating thread local tempo map after update (avoid code duplication)
|
2021-08-13 12:51:34 -06:00 |
|
|
901f593af5
|
avoid unnecessary extra fetch of thread-local tempo map after undo/redo
|
2021-08-13 12:51:34 -06:00 |
|
|
cffc25a11c
|
libtemporal: make TempoMap::metric_at() variants use all Points, to account for music time points as well as explicit tempo/meter points
|
2021-08-13 12:51:34 -06:00 |
|
|
c2401c3097
|
libtemporal: redesign TempoMap::get_grid() to iterate over _points rather than separated _tempos and _meters
|
2021-08-13 12:51:34 -06:00 |
|
|
8124bec5a1
|
libtemporal: fix XML node structure for MusicTimePoint
|
2021-08-13 12:51:34 -06:00 |
|
|
1035f9bd62
|
libtemporal: fix crash caused by thinko
|
2021-08-13 12:51:34 -06:00 |
|
|
388fa1b894
|
libtemporal: when removing tempos/meters/musictime points, remove them from TempoMap::_points also
|
2021-08-13 12:51:34 -06:00 |
|
|
982ccec7ab
|
libtemporal: when adding tempos/meters/musictime points, add them to TempoMap::_points also
|
2021-08-13 12:51:34 -06:00 |
|
|
b43eca15b0
|
Revert "libtemporal: the TempoMap::_points list serves no purpose, so remove it"
This reverts commit edc93fc62b6a36949b3cc37aee333904bc6b97f0.
|
2021-08-13 12:51:34 -06:00 |
|