Commit graph

32863 commits

Author SHA1 Message Date
Paul Davis
2a6b2dfa7c cease using BarTime for anything 2021-08-13 12:51:31 -06:00
Paul Davis
b6f2e39ed4 Temporal: remove BarTime 2021-08-13 12:51:31 -06:00
Paul Davis
5987376afc Temporal: avoid recursive descent in TempoMap::quarters_at (timepos_t) 2021-08-13 12:51:31 -06:00
Paul Davis
9412130c01 use cleaned up Temporal ::quarters*_at* API (GUI edition) 2021-08-13 12:51:31 -06:00
Paul Davis
3ca2be321d use cleaned up Temporal ::quarters*_at* API (libs edition) 2021-08-13 12:51:31 -06:00
Paul Davis
43d84620e0 Temporal: clean up API to remove ambiguity about ::quarter*_at_*
superclock_t and samplepos_t have the same underlying C++ type, so methods that accept one or the
other as an argument need to be named to make it clear which type they accept. We do not need
the superclock_t variant publically, but it turns out to be useful within TempoMap.
2021-08-13 12:51:31 -06:00
Paul Davis
84d33f3ec3 manual fixups after rebase against master (GUI edition) 2021-08-13 12:51:31 -06:00
Paul Davis
bed76798f3 manual fixups after rebase against master (general libs edition) 2021-08-13 12:51:31 -06:00
Paul Davis
c76c61d202 manual fixups after rebase against master 2021-08-13 12:51:31 -06:00
Paul Davis
fe218e7478 nutempo-ify VST support (incomplete, pending change to tempo map API 2021-08-13 12:51:31 -06:00
Paul Davis
0093ae07b0 cleanup after timecnt_t API changed (GUI edition) 2021-08-13 12:51:31 -06:00
Paul Davis
eee0fdf2d5 remove debug output 2021-08-13 12:51:31 -06:00
Paul Davis
fbdf06a794 cleanup after timecnt_t API changed (libs edition) 2021-08-13 12:51:31 -06:00
Paul Davis
afea443419 remove API from Temporal:timecnt_t that used superclock_t
Not possible for a compiler to differentiate superclock_t and sample(pos|cnt)_t, which can lead to
subtle but major errors
2021-08-13 12:51:31 -06:00
Paul Davis
9402548677 Temporal: add lots more DEBUG::TemporalMap output to tempo.cc 2021-08-13 12:51:31 -06:00
Paul Davis
793579cf3f Temporal: expand displayed info for Tempo's operator<< 2021-08-13 12:51:31 -06:00
Paul Davis
a0b9030e3c Temporal: fix logic during ::get_grid that ignored if rounding did nothing 2021-08-13 12:51:31 -06:00
Paul Davis
f1bb135013 Temporal: fix computation of ::quarters_at() 2021-08-13 12:51:31 -06:00
Paul Davis
7085dccebc Temporal: make Tempo:: super_note_type_per_second publically accessible 2021-08-13 12:51:31 -06:00
Paul Davis
12b967afca use ::empty() not ::distance (a,b) == 0 (wierd construction!) 2021-08-13 12:51:31 -06:00
Paul Davis
c3e12672b2 fix use of ::add_click (samplepos_t) when doing clicks (i.e. no superclock here) 2021-08-13 12:51:31 -06:00
Paul Davis
11af6253f5 mackie: NOOP: fix whitespace 2021-08-13 12:51:31 -06:00
Paul Davis
18fea5c7a9 changes required by fixing ambiguities in timepos_t/timecnt_t API (evoral edition) 2021-08-13 12:51:31 -06:00
Paul Davis
cce695d33a changes required by fixing ambiguities in timepos_t/timecnt_t API (GUI edition) 2021-08-13 12:51:31 -06:00
Paul Davis
65aa619e58 changes required by fixing ambiguities in timepos_t/timecnt_t API (libs edition) 2021-08-13 12:51:31 -06:00
Paul Davis
c3d325b56a Temporal: clean up API for timepos_t to remove unneeded duplicates and remove ambiguity 2021-08-13 12:51:31 -06:00
Paul Davis
52ddf91e5b Temporal: explain with timepos_t::_{ticks,beats} are for 2021-08-13 12:51:31 -06:00
Paul Davis
5887ee524e Temporal: further improvements to a timepos_t::distance() method 2021-08-13 12:51:31 -06:00
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
a41a1ffa04 use a better initializer for region creation during import 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
16382982c5 fixups for AudioClock arising from explicit BBT_Offset (double) 2021-08-13 12:51:30 -06:00
Paul Davis
fcdf7018c5 fix incorrect logic check for null session 2021-08-13 12:51:30 -06:00
Paul Davis
c2d197a103 use correct initial value of AudioClock::_limit_pos 2021-08-13 12:51:30 -06:00
Paul Davis
eec4addcd5 GUI side cleanup forced by explicit BBT_Offset (double) 2021-08-13 12:51:30 -06:00
Paul Davis
3a2e6e174b change default value of UIConfig's clock display limit, and prevent old config files from overriding the limit
720 hours was too long to be expressed via superclock in 62 bits. Use 99:59:59 instead.
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
18d64f0402 change all Region::nt_*() methods to names without the nt_ prefix (GUI version) 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