b876baa757
Temporal: various changes to arithmetic/logic methods to avoid assert() on domain mismatches where none is really needed
2021-08-13 12:51:30 -06:00
baaa8f36ca
fix timepos_t::max and timecnt_t::max to avoid int62_t flag bit
...
Both should likely just re-use int62_t::max
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
8bd465fc61
Add method to set thread_local _thread_sample_rate complete with debugging output
2021-08-13 12:51:30 -06:00
b06b856934
tweak test code to check int62_t::min and flag bit
2021-08-13 12:51:30 -06:00
5772dcc72b
include temporal/range.cc as source module
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
adacaf3837
extend TempoMap API to assist with drag-RCU
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
ed016dd4e6
fix TempoMap memento command binder
2021-08-13 12:51:30 -06:00
09d877004d
add a MementoCommand binder for TempoMap
2021-08-13 12:51:30 -06:00
79763893b3
remove/hide Session::tempo_map() and use TempoMap::use() instead (thread local shared ptr)
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
dade9994d8
collect together modifying TempoMap methods, and make ::apply_with_metrics() more clearly const
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
f7ff656619
add convenience methods to access tempo & meter
2021-08-13 12:51:30 -06:00
5150e856b0
add to enums list for libtemporal
2021-08-13 12:51:29 -06:00
bf318aacb5
add missing file
2021-08-13 12:51:29 -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
cdab3a5e8f
fix a bunch of missing symbols related to temporal
2021-08-13 12:51:29 -06:00
749a49c278
incorporating new tempo map API
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
768ce21d9f
Temporal: new files, likely to be removed in the final version
2021-08-13 12:51:29 -06:00
b5c945e211
Temporal: another useful static method
2021-08-13 12:51:29 -06:00
8fb70885ec
changes needed to get audio_clock.cc to work
2021-08-13 12:51:29 -06:00
169bbf3b08
temporal: more API tweaks as conversions continue in libardour
2021-08-13 12:51:29 -06:00
bca8e2e8cc
libtemporal: changes derived from converting libardour
2021-08-13 12:51:28 -06:00
e111123b54
Temporal: fix test2.cc now that operator int64_t is private
2021-08-13 12:51:28 -06:00
ddac0f7651
Temporal: what was that comment about not being able to disambiguate samples and superclocks?
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
c75fc64306
Temporal: various changes to int62_t and timeline types based on code review
2021-08-13 12:51:28 -06:00
c192c49b65
Temporal: add std::numeric_limits<> for timecnt_t and comment on these in general
2021-08-13 12:51:28 -06:00
c04b9c2429
Temporal: add Range class from nutempo v1
...
This will replace Evoral::Range which unfathomably was implemented with inclusive bounds
2021-08-13 12:51:28 -06:00
b5bf518a0a
Temporal: fixes, changes, redesigns, extensions to be able to compile ARDOUR::Region with timepos_t/timecnt_t members
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