|
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 |
|
|
d6d0eb0d9e
|
libtemporal: MusicTimePoint now IS-A Point,Tempo and Meter, all at once
|
2021-08-13 12:51:34 -06:00 |
|
|
cc0d065443
|
libtemporal: preparations to solve upcoming diamond inheritance problem
|
2021-08-13 12:51:34 -06:00 |
|
|
4e6c06bc95
|
libtemporal: add maybe-not-required operator>> for timeline types
|
2021-08-13 12:51:34 -06:00 |
|
|
ce82efafcf
|
libtemporal: slightly improve output from conversion statistics
|
2021-08-13 12:51:34 -06:00 |
|
|
ffc9ab66b5
|
libtemporal: remove TempoMap::metric_at_locked() methods
There is no lock anymore, all modifications are done via RCU
|
2021-08-13 12:51:33 -06:00 |
|
|
c9d3381935
|
libtemporal: increase DEBUG_TRACE utility for ::get_grid() and related matters
|
2021-08-13 12:51:33 -06:00 |
|
|
bd1b6dcda3
|
libtemporal: start making tempo map work with non-monotonic BBT "bar times" present
|
2021-08-13 12:51:33 -06:00 |
|
|
c8175b7c49
|
libtemporal: add new constructors for MusicTimePoint and MeterPoint
|
2021-08-13 12:51:33 -06:00 |
|
|
f86395688e
|
libtemporal: Beats::round_to_subdivision() was incorectly folding the "beats" part of the value back into the answer.
The "beats" value is already implicit in the "ticks" we actually do the math with
|
2021-08-13 12:51:33 -06:00 |
|
|
97a3469972
|
use new Tempo API in two places where Tempo is explicitly constructed
|
2021-08-13 12:51:33 -06:00 |
|
|
b8a7de43b6
|
libtemporal: change Tempo API to ensure that the correct construtor is called
This could be probably be improved with an even more distinct ramped/non-ramped API
|
2021-08-13 12:51:33 -06:00 |
|
|
c32de2355e
|
extra DEBUG_TRACE statement in tempo map grid computation
|
2021-08-13 12:51:33 -06:00 |
|
|
25375ee6f4
|
add timepos_t::set_time_domain() to potentially change time domains
|
2021-08-13 12:51:33 -06:00 |
|
|
eccfc1db10
|
libtemporal: fix grid generation if we pass additional markers before reaching the end
|
2021-08-13 12:51:32 -06:00 |
|
|
3017cd0c1f
|
libtemporal: remove unnecessary debug output
|
2021-08-13 12:51:32 -06:00 |
|
|
a9bf1cff81
|
libtemporal: add and use TempoMap::superclocks_per_grid_at() to return superclock duration of a measure/bar division. This corrects the results of ::get_grid()
|
2021-08-13 12:51:32 -06:00 |
|
|
7f19f13ea9
|
libtemporal: superclocks_per_bar/grid() do not need a sample rate argument, so remove it
|
2021-08-13 12:51:32 -06:00 |
|
|
e187752771
|
libtemporal: use DEBUG::Grid inside TempoMap::get_grid() for slightly easier debugging
|
2021-08-13 12:51:32 -06:00 |
|
|
8f147f273a
|
add new debug bit for Temporal grid stuff
|
2021-08-13 12:51:32 -06:00 |
|
|
7ec5af0b60
|
libtemporal: fix/improve TempoMap::move_meter() for audio-time case
|
2021-08-13 12:51:32 -06:00 |
|
|
84f53e3dc9
|
libtemporal: return value from function
|
2021-08-13 12:51:32 -06:00 |
|
|
fbb8a562fd
|
libtemporal: fix implementation of TempoMetric::bbt_at() to deal with cases where the beats value is not in quarter notes e.g. 7/8 time
|
2021-08-13 12:51:32 -06:00 |
|
|
68f6bff258
|
libtemporal: improve implementation/accuracy of Meter::round_to_bar()
|
2021-08-13 12:51:32 -06:00 |
|
|
be0a68c610
|
libtemporal: the TempoMap::_points list serves no purpose, so remove it
|
2021-08-13 12:51:32 -06:00 |
|
|
261c46e0f7
|
libtemporal: fix meter/tempo API so that we always put a heap-allocated object in the tempos/meters lists
|
2021-08-13 12:51:32 -06:00 |
|
|
9a2ec93a74
|
libtemporal: fix bug with placement of new MeterPoint
|
2021-08-13 12:51:32 -06:00 |
|
|
8737603d93
|
libtemporal: add abort_update() API to header
|
2021-08-13 12:51:32 -06:00 |
|
|
d5bfbe1cf4
|
libtemporal: provide API to abort TempoMap RCU update step
|
2021-08-13 12:51:32 -06:00 |
|
|
2c80aab912
|
libtemporal: do not emit MapChanged from methods that change TempoMap, only when we use RCU to switch ptrs
|
2021-08-13 12:51:32 -06:00 |
|
|
37399f7d50
|
libtemporal: move TempoMap::update() into .cc, add debug output and emit relevant signal at end
|
2021-08-13 12:51:32 -06:00 |
|
|
6a9330b2b0
|
libtemporal: fix TempoMap::fetch_writable() so that it actually does what its name describes
|
2021-08-13 12:51:32 -06:00 |
|
|
364fffd458
|
temporal: TempoMap::Changed is now a static member named TempoMap::MapChanged
|
2021-08-13 12:51:32 -06:00 |
|
|
657350455e
|
temporal: implement copy operator and operator= for TempoMap
|
2021-08-13 12:51:32 -06:00 |
|
|
146b432c51
|
temporal: extend debug output
|
2021-08-13 12:51:32 -06:00 |
|
|
4b52e1bf23
|
temporal: slightly reduce overflow risk (see comment)
|
2021-08-13 12:51:32 -06:00 |
|
|
279d1aa5dc
|
temporal: catch a special case when converting between superclock and beats
|
2021-08-13 12:51:32 -06:00 |
|
|
016aada4df
|
libtemporal: fix/improve/correct parsing of timecnt_t from string
|
2021-08-13 12:51:32 -06:00 |
|
|
d165c492af
|
temporal: fix/simplify/improve parsing of time values from strings
|
2021-08-13 12:51:32 -06:00 |
|
|
e590598dcf
|
libtemporal: move DEBUG::Beats into correct location
|
2021-08-13 12:51:32 -06:00 |
|
|
f015c08dd9
|
libtemporal: move Beats operator<< and operator>> to .cc and add exceptions for input
|
2021-08-13 12:51:32 -06:00 |
|
|
78233b343f
|
libtemporal: add operator<<() for ratio_t
|
2021-08-13 12:51:32 -06:00 |
|
|
209908f700
|
libtemporal: improve/fix implementation of timepos_t::operator+=(timepos_t)
|
2021-08-13 12:51:32 -06:00 |
|
|
9438295607
|
libtemporal: fix implementation of timecnt_t::operator+ (timecnt_t)
|
2021-08-13 12:51:32 -06:00 |
|
|
13f4ee2c1e
|
temporal: remove unnecessary TempoMap::dump_locked() method
|
2021-08-13 12:51:32 -06:00 |
|
|
47aa232f60
|
temporal: fix up creating/resetting tempo map state via XML
|
2021-08-13 12:51:32 -06:00 |
|
|
fa67e07d87
|
temporal: remove debug output
|
2021-08-13 12:51:32 -06:00 |
|
|
1e9e02e42f
|
temporal: fix setting tempos and meters from XML state
|
2021-08-13 12:51:32 -06:00 |
|
|
3eac6ac7dc
|
Temporal: remove last (?) double-based method
|
2021-08-13 12:51:32 -06:00 |
|
|
3e8f4d80fb
|
remove (almost) all floating point operations from Beats, add DoubleableBeats
The latter is a "wrapper" around Beats that provides ::to_double() for those times when we
absolutely need a floating point representation
|
2021-08-13 12:51:32 -06:00 |
|