13
0
Commit Graph

93 Commits

Author SHA1 Message Date
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