Commit graph

18433 commits

Author SHA1 Message Date
Paul Davis
7b0d812e92 fix thinko with incorrect argument to AudioRegion::region_from_sources() 2021-08-13 12:51:31 -06:00
Paul Davis
7c56b9b2fc Temporal: fix insanely incorrect implementation of timepos_t::distance() 2021-08-13 12:51:30 -06:00
Paul Davis
b866335d8f add glib event loop callback to Generic MIDI surface support 2021-08-13 12:51:30 -06:00
Paul Davis
def35cf043 mark BBT_Offset (double) constructor explicit to avoid implicit conversion in timeline expressions.
Also clean up the mess this had caused.
2021-08-13 12:51:30 -06:00
Paul Davis
b01b6929fb fix potential for overflow when converting larger sample counts to superclock.
int_div_rount<T> was using int (32 bits) which could overflow.
2021-08-13 12:51:30 -06:00
Paul Davis
15b28b103a NOOP: whitespace changes 2021-08-13 12:51:30 -06:00
Paul Davis
f8a0ba246c move superclock_ticks_per_second declaration 2021-08-13 12:51:30 -06:00
Paul Davis
82e84e6b92 change all Region::nt_*() methods to names without the nt_ prefix (library version) 2021-08-13 12:51:30 -06:00
Paul Davis
f0008898af add operator<<() for timecnt_t() 2021-08-13 12:51:30 -06:00
Paul Davis
4f6befea83 fix in62_t equality/inequality operators when used with mismatched arguments 2021-08-13 12:51:30 -06:00
Paul Davis
bb9376c2b1 remove #warnings from region.cc related to Source object API 2021-08-13 12:51:30 -06:00
Paul Davis
047cca3815 use AudioEngine sample rate, not session rate, in Graph
They should, of course, be the same, but the session may not be set up fully before the Graph object creates threads
2021-08-13 12:51:30 -06:00
Paul Davis
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
Paul Davis
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
Paul Davis
ae01dafcce use Temporal::set_thread_sample_rate() rather than explicit assignment 2021-08-13 12:51:30 -06:00
Paul Davis
62ea0fc24c make sure butler thread has thread_local tempo map set up 2021-08-13 12:51:30 -06:00
Paul Davis
d2352df523 remove unused file 2021-08-13 12:51:30 -06:00
Paul Davis
47246b0179 libs/ardour/superclock.cc is not needed 2021-08-13 12:51:30 -06:00
Paul Davis
02b98290c5 set uninitialized _time_domain member of TempoMap in constructor 2021-08-13 12:51:30 -06:00
Paul Davis
ce7ea4ec36 Use glib event callback in Mackie Control support to set thread-local variables 2021-08-13 12:51:30 -06:00
Paul Davis
b7d22508fa Add blib event callback to BaseUI, with a virtual method to be overridden by derived classes. 2021-08-13 12:51:30 -06:00
Paul Davis
8bd465fc61 Add method to set thread_local _thread_sample_rate complete with debugging output 2021-08-13 12:51:30 -06:00
Paul Davis
b06b856934 tweak test code to check int62_t::min and flag bit 2021-08-13 12:51:30 -06:00
Paul Davis
179f2b2624 change value of int62_t::max to avoid flag bit being set 2021-08-13 12:51:30 -06:00
Paul Davis
5772dcc72b include temporal/range.cc as source module 2021-08-13 12:51:30 -06:00
Paul Davis
64fd52c380 ensure that AudioEngine backend-created threads have tempo map related thread private vars set 2021-08-13 12:51:30 -06:00
Paul Davis
8dbbc1df54 library changes to get libtemporal setup at application startup 2021-08-13 12:51:30 -06:00
Paul Davis
adacaf3837 extend TempoMap API to assist with drag-RCU 2021-08-13 12:51:30 -06:00
Paul Davis
49781e3b80 nominally fix up TempoMarkerDrag implementation for new TempoMap 2021-08-13 12:51:30 -06:00
Paul Davis
cfac6ad254 comment code added in previous commit 2021-08-13 12:51:30 -06:00
Paul Davis
44ff395ec8 move tempo map memento binder into .cc and actuall implement the RCU version 2021-08-13 12:51:30 -06:00
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