13
0
Commit Graph

83 Commits

Author SHA1 Message Date
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
8ec81c2308 Temporal: correctly construct return timepos_t for * and / 2021-08-13 12:51:28 -06:00
e89d727939 Temporal: remove the final #warning from timeline.cc 2021-08-13 12:51:28 -06:00
b87c855240 Temporal: add string_to/to_string methods for timecnt_t 2021-08-13 12:51:28 -06:00
974196b7d2 Temporal: add timeline.cc 2021-08-13 12:51:28 -06:00
5a0969a5c2 Temporal: remove last bit of floating point API from timepos_t 2021-08-13 12:51:28 -06:00
9fe9658e8a Temporal: add clarifying comment 2021-08-13 12:51:28 -06:00
ead17ed35c Temporal: add ratio_t type (currently boost::rational<int64_T> 2021-08-13 12:51:28 -06:00
b1271a491e Temporal: add TempoMap::use() which returns the per-thread ptr-to-tempo-map without updating the pointer 2021-08-13 12:51:28 -06:00
7446de72b1 Temporal: improve timepos_t::distance() implementations 2021-08-13 12:51:28 -06:00
2c69a1425f Temporal: fundamental changes to get timeline.cc to compile 2021-08-13 12:51:28 -06:00