Commit graph

17652 commits

Author SHA1 Message Date
Paul Davis
ed016dd4e6 fix TempoMap memento command binder 2021-08-13 12:51:30 -06:00
Paul Davis
09d877004d add a MementoCommand binder for TempoMap 2021-08-13 12:51:30 -06:00
Paul Davis
27c98adda9 alter API for MementoCommandBinder to allow future flexibility 2021-08-13 12:51:30 -06:00
Paul Davis
79763893b3 remove/hide Session::tempo_map() and use TempoMap::use() instead (thread local shared ptr) 2021-08-13 12:51:30 -06:00
Paul Davis
60d1c5f722 remove tempo map from Session 2021-08-13 12:51:30 -06:00
Paul Davis
9f866a6bbe consolidate some TempoMap modifier methods 2021-08-13 12:51:30 -06:00
Paul Davis
dade9994d8 collect together modifying TempoMap methods, and make ::apply_with_metrics() more clearly const 2021-08-13 12:51:30 -06:00
Paul Davis
c434289973 remove lock, _dirty and _generation nonsense from TempoMap (pre-RCU management) 2021-08-13 12:51:30 -06:00
Paul Davis
1098b27b35 new tempo map API for almost all of the GUI now 2021-08-13 12:51:30 -06:00
Paul Davis
f7ff656619 add convenience methods to access tempo & meter 2021-08-13 12:51:30 -06:00
Paul Davis
3f9e94289c butler thread needs its per-thread sample rate set every loop iteration 2021-08-13 12:51:30 -06:00
Paul Davis
13bc352ece fix for Lua bindings with new TimelineRange 2021-08-13 12:51:30 -06:00
Paul Davis
5150e856b0 add to enums list for libtemporal 2021-08-13 12:51:29 -06:00
Robin Gareus
b86793ebda Fix missing Lua Binding 2021-08-13 12:51:29 -06:00
Paul Davis
bf318aacb5 add missing file 2021-08-13 12:51:29 -06:00
Paul Davis
c9055547f3 set thread-local variable infrastructure for process thread & process graph 2021-08-13 12:51:29 -06:00
Paul Davis
772d70ae4c use glib event callback to invoke per-thread code every time the GUI event loop does stuff 2021-08-13 12:51:29 -06:00
Paul Davis
09c84d1de8 add new GSource-derived object that can be attached to a Glib::MainContext to execute code before other sources have their dispatch() method invoked 2021-08-13 12:51:29 -06:00
Paul Davis
e7d84a7c47 get further at runtime 2021-08-13 12:51:29 -06:00
Paul Davis
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
Paul Davis
256eb2d1d3 changes for lv2 plugin/new tempo map 2021-08-13 12:51:29 -06:00
Paul Davis
cdab3a5e8f fix a bunch of missing symbols related to temporal 2021-08-13 12:51:29 -06:00
Paul Davis
749a49c278 incorporating new tempo map API 2021-08-13 12:51:29 -06:00
Paul Davis
f67029bd02 random commit to facilitate trivial move of work from laptop back to main system 2021-08-13 12:51:29 -06:00
Paul Davis
ff93c97296 add a new PBD::Property for time_domain
Not sure this is in the best place, but it needs to go somewhere
2021-08-13 12:51:29 -06:00
Paul Davis
5f4afa6a0e Session: changes to support timeline types more easily/correctly 2021-08-13 12:51:29 -06:00
Paul Davis
768ce21d9f Temporal: new files, likely to be removed in the final version 2021-08-13 12:51:29 -06:00
Paul Davis
db8b054543 add required methods for region-relative time conversion 2021-08-13 12:51:29 -06:00
Paul Davis
a4b71476e4 some more removals related to Temporal timeline type conversion (RoundMode now in Temporal) 2021-08-13 12:51:29 -06:00
Paul Davis
b5c945e211 Temporal: another useful static method 2021-08-13 12:51:29 -06:00
Paul Davis
8fb70885ec changes needed to get audio_clock.cc to work 2021-08-13 12:51:29 -06:00
Paul Davis
69ab030f55 additional Property type declaration 2021-08-13 12:51:29 -06:00
Paul Davis
c9035efb25 timeline types for libs/waveview 2021-08-13 12:51:29 -06:00
Paul Davis
e090834525 panners: conversion to use timeline types 2021-08-13 12:51:29 -06:00
Paul Davis
086e48796c surfaces: first round of conversion to use timeline types 2021-08-13 12:51:29 -06:00
Paul Davis
cdb1972928 continuing timeline type conversions 2021-08-13 12:51:29 -06:00
Paul Davis
169bbf3b08 temporal: more API tweaks as conversions continue in libardour 2021-08-13 12:51:29 -06:00
Paul Davis
b2a4fe1b50 likely temporary change to visibility inside PBD::int62.h 2021-08-13 12:51:29 -06:00
Paul Davis
111f10638d gcc 6.x requires <typeinfo> for typeid, it seems 2021-08-13 12:51:29 -06:00
Paul Davis
ebd8704f9d libevoral: tweaks related to timeline types based on libardour conversion 2021-08-13 12:51:29 -06:00
Paul Davis
eae9d276fe libardour: conversion to use timeline types (mega-commit) 2021-08-13 12:51:29 -06:00
Paul Davis
bca8e2e8cc libtemporal: changes derived from converting libardour 2021-08-13 12:51:28 -06:00
Paul Davis
6b09642406 changes to compile against libtemporal and use of timepos_t/timecnt_t 2021-08-13 12:51:28 -06:00
Paul Davis
e111123b54 Temporal: fix test2.cc now that operator int64_t is private 2021-08-13 12:51:28 -06:00
Paul Davis
0534d1fbb2 more improvements for int62_h based on rgareus' review 2021-08-13 12:51:28 -06:00
Paul Davis
ddac0f7651 Temporal: what was that comment about not being able to disambiguate samples and superclocks? 2021-08-13 12:51:28 -06:00
Paul Davis
889edfd0a0 fixup Region object to work with new factory methods for timeline types (and remove explicit music time-related members) 2021-08-13 12:51:28 -06:00
Paul Davis
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
Paul Davis
c75fc64306 Temporal: various changes to int62_t and timeline types based on code review 2021-08-13 12:51:28 -06:00
Paul Davis
67de08e78d more type changes for various Region related methods, using timepos_t/timeline_t 2021-08-13 12:51:28 -06:00