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
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
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
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
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
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
c3d325b56a
Temporal: clean up API for timepos_t to remove unneeded duplicates and remove ambiguity
2021-08-13 12:51:31 -06:00
f8a0ba246c
move superclock_ticks_per_second declaration
2021-08-13 12:51:30 -06:00
02b98290c5
set uninitialized _time_domain member of TempoMap in constructor
2021-08-13 12:51:30 -06:00
8dbbc1df54
library changes to get libtemporal setup at application startup
2021-08-13 12:51:30 -06:00
49781e3b80
nominally fix up TempoMarkerDrag implementation for new TempoMap
2021-08-13 12:51:30 -06:00
cfac6ad254
comment code added in previous commit
2021-08-13 12:51:30 -06:00
44ff395ec8
move tempo map memento binder into .cc and actuall implement the RCU version
2021-08-13 12:51:30 -06:00
60d1c5f722
remove tempo map from Session
2021-08-13 12:51:30 -06:00
9f866a6bbe
consolidate some TempoMap modifier methods
2021-08-13 12:51:30 -06:00
c434289973
remove lock, _dirty and _generation nonsense from TempoMap (pre-RCU management)
2021-08-13 12:51:30 -06:00
1098b27b35
new tempo map API for almost all of the GUI now
2021-08-13 12:51:30 -06:00
e7d84a7c47
get further at runtime
2021-08-13 12:51:29 -06:00
534c08074d
changes to get program to actually run (missing symbols)
...
Still crashes at startup due to static initialization of initial tempo map.
2021-08-13 12:51:29 -06:00
f67029bd02
random commit to facilitate trivial move of work from laptop back to main system
2021-08-13 12:51:29 -06:00
bca8e2e8cc
libtemporal: changes derived from converting libardour
2021-08-13 12:51:28 -06:00
f06e2dd6d1
Temporal: remove constructors accepting scalar values from timepos_t/timecnt_t and force use of factory methods
...
This allows us to differentiate between superclock_t and samplepos_t (and related types) which are all typedef'ed to the
same underlying primitive C++ type. Without this, it would be impossible for the compiler or someone reading the code
to know whether a scalar passed to a constructor for a timeline type is in units of samples or superclocks
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
4c6d6b14e5
Temporal: add new TempoMap implementation source
2021-08-13 12:51:28 -06:00