Commit graph

17794 commits

Author SHA1 Message Date
Paul Davis
04688292d6 manual fixups for recent rebase conflicts left in the wrong state 2021-08-13 12:51:33 -06:00
Paul Davis
5ea862ccc2 fix several more controls to take a time domain from their owner (Automatable) 2021-08-13 12:51:33 -06:00
Paul Davis
df37c62e37 mute controls starts with its stripable's time domain 2021-08-13 12:51:33 -06:00
Paul Davis
ceba073065 pan controls starts with its route's time domain 2021-08-13 12:51:33 -06:00
Paul Davis
e72ce1317e record enable control starts with its route's time domain 2021-08-13 12:51:33 -06:00
Paul Davis
dc66a963bb use Automatable's time_domain() to set time_domain() for some controls at creation 2021-08-13 12:51:33 -06:00
Paul Davis
495cc1e4bc plugins use their route's automation time domain 2021-08-13 12:51:33 -06:00
Paul Davis
cd59f876f7 solo isolate control starts with its route's time domain 2021-08-13 12:51:33 -06:00
Paul Davis
a7b011c06b solo safe control starts with its route's time domain 2021-08-13 12:51:32 -06:00
Paul Davis
7f31c11073 delay line processor starts with the default automation time domain 2021-08-13 12:51:32 -06:00
Paul Davis
7c10cf1d54 Automatable now requires (and owns) a time domain to be used by automation data 2021-08-13 12:51:32 -06:00
Paul Davis
2131adec9d remove another NUTEMPO warning by replacing it with an explanatory comment 2021-08-13 12:51:32 -06:00
Paul Davis
1a5e2aacff remove another NUTEMPO warning 2021-08-13 12:51:32 -06:00
Paul Davis
eccfc1db10 libtemporal: fix grid generation if we pass additional markers before reaching the end 2021-08-13 12:51:32 -06:00
Paul Davis
3017cd0c1f libtemporal: remove unnecessary debug output 2021-08-13 12:51:32 -06:00
Paul Davis
a9bf1cff81 libtemporal: add and use TempoMap::superclocks_per_grid_at() to return superclock duration of a measure/bar division. This corrects the results of ::get_grid() 2021-08-13 12:51:32 -06:00
Paul Davis
7f19f13ea9 libtemporal: superclocks_per_bar/grid() do not need a sample rate argument, so remove it 2021-08-13 12:51:32 -06:00
Paul Davis
e187752771 libtemporal: use DEBUG::Grid inside TempoMap::get_grid() for slightly easier debugging 2021-08-13 12:51:32 -06:00
Paul Davis
8f147f273a add new debug bit for Temporal grid stuff 2021-08-13 12:51:32 -06:00
Paul Davis
7ec5af0b60 libtemporal: fix/improve TempoMap::move_meter() for audio-time case 2021-08-13 12:51:32 -06:00
Paul Davis
84f53e3dc9 libtemporal: return value from function 2021-08-13 12:51:32 -06:00
Paul Davis
fbb8a562fd libtemporal: fix implementation of TempoMetric::bbt_at() to deal with cases where the beats value is not in quarter notes e.g. 7/8 time 2021-08-13 12:51:32 -06:00
Paul Davis
68f6bff258 libtemporal: improve implementation/accuracy of Meter::round_to_bar() 2021-08-13 12:51:32 -06:00
Paul Davis
be0a68c610 libtemporal: the TempoMap::_points list serves no purpose, so remove it 2021-08-13 12:51:32 -06:00
Paul Davis
261c46e0f7 libtemporal: fix meter/tempo API so that we always put a heap-allocated object in the tempos/meters lists 2021-08-13 12:51:32 -06:00
Paul Davis
9a2ec93a74 libtemporal: fix bug with placement of new MeterPoint 2021-08-13 12:51:32 -06:00
Paul Davis
8737603d93 libtemporal: add abort_update() API to header 2021-08-13 12:51:32 -06:00
Paul Davis
d5bfbe1cf4 libtemporal: provide API to abort TempoMap RCU update step 2021-08-13 12:51:32 -06:00
Paul Davis
b96a2b1757 libpbd: provide a way to abort an RCU-based write_copy()->update() sequence 2021-08-13 12:51:32 -06:00
Paul Davis
2c80aab912 libtemporal: do not emit MapChanged from methods that change TempoMap, only when we use RCU to switch ptrs 2021-08-13 12:51:32 -06:00
Paul Davis
1ab27fd98f libardour: session listens to tempo map change again 2021-08-13 12:51:32 -06:00
Paul Davis
37399f7d50 libtemporal: move TempoMap::update() into .cc, add debug output and emit relevant signal at end 2021-08-13 12:51:32 -06:00
Paul Davis
6a9330b2b0 libtemporal: fix TempoMap::fetch_writable() so that it actually does what its name describes 2021-08-13 12:51:32 -06:00
Paul Davis
364fffd458 temporal: TempoMap::Changed is now a static member named TempoMap::MapChanged 2021-08-13 12:51:32 -06:00
Paul Davis
657350455e temporal: implement copy operator and operator= for TempoMap 2021-08-13 12:51:32 -06:00
Paul Davis
146b432c51 temporal: extend debug output 2021-08-13 12:51:32 -06:00
Paul Davis
4b52e1bf23 temporal: slightly reduce overflow risk (see comment) 2021-08-13 12:51:32 -06:00
Paul Davis
279d1aa5dc temporal: catch a special case when converting between superclock and beats 2021-08-13 12:51:32 -06:00
Paul Davis
a783f2d4f3 fixup another NUTEMPO #warning 2021-08-13 12:51:32 -06:00
Paul Davis
016aada4df libtemporal: fix/improve/correct parsing of timecnt_t from string 2021-08-13 12:51:32 -06:00
Paul Davis
d165c492af temporal: fix/simplify/improve parsing of time values from strings 2021-08-13 12:51:32 -06:00
Paul Davis
e590598dcf libtemporal: move DEBUG::Beats into correct location 2021-08-13 12:51:32 -06:00
Paul Davis
f015c08dd9 libtemporal: move Beats operator<< and operator>> to .cc and add exceptions for input 2021-08-13 12:51:32 -06:00
Paul Davis
af2474ab80 fix setting VST loop times (in beats) 2021-08-13 12:51:32 -06:00
Paul Davis
968da60e90 fix MIDI timestretch (libardour part) 2021-08-13 12:51:32 -06:00
Paul Davis
3197d24f38 fix expression ordering when multiplying region length by ratio_t 2021-08-13 12:51:32 -06:00
Paul Davis
683512f5a9 fix initializer for TimeFXRequest::time_fraction (denominator not allowed to be zero) 2021-08-13 12:51:32 -06:00
Paul Davis
78233b343f libtemporal: add operator<<() for ratio_t 2021-08-13 12:51:32 -06:00
Paul Davis
209908f700 libtemporal: improve/fix implementation of timepos_t::operator+=(timepos_t) 2021-08-13 12:51:32 -06:00
Paul Davis
9438295607 libtemporal: fix implementation of timecnt_t::operator+ (timecnt_t) 2021-08-13 12:51:32 -06:00