13
0
livetrax/libs
Robin Gareus 8139becb18 Ongoing work on latency compensation
The general goal is to align transport-sample to be the audible frame
and use that as "anchor" for all processing.

transport_sample cannot become negative (00:00:00:00 is the first audible
frame).

Internally transport pre-rolls (read-ahead) before the transport starts
to move. This allows inputs and disk to prefill the pipeline.

When starting to roll, the session counts down a global "remaning preroll"
counter, which is the worst-latency from in-to-out.
Each route in turn will start processing at its own output-latency.

Route::process_output_buffers() - which does the actual processing
incl disk i/o - begins by offsetting the "current sample" by the
route's process-latency and decrements the offset for each latent
processor.  At the end of the function the output will be aligned
and match  transport-sample - downstream-playback-latency (if any).

PS. This commit is a first step only: transport looping & vari-speed have
not yet been implemented/updated.
2017-09-29 05:03:48 +02:00
..
appleutility
ardour Ongoing work on latency compensation 2017-09-29 05:03:48 +02:00
ardouralsautil
audiographer convert codebase to use Temporal for various time types 2017-09-24 12:03:54 -04:00
backends Propagate Latency to backend/system ports (Dummy backend) 2017-09-28 13:14:11 +02:00
canvas globally change all use of "frame" to refer to audio into "sample". 2017-09-18 12:39:17 -04:00
clearlooks-newer globally change all use of "frame" to refer to audio into "sample". 2017-09-18 12:39:17 -04:00
evoral Check in a few MSVC projects to accommodate the change from libtimecode to libtemporal 2017-09-28 12:27:56 +01:00
fluidsynth
fst Don't use VST ->user points, prefer host-reserved ptr 2017-07-08 18:13:42 +02:00
gtkmm2ext NO-OP: whitespace 2017-08-18 09:42:04 -04:00
hidapi
libltc Check in a few MSVC projects to accommodate the change from libtimecode to libtemporal 2017-09-28 12:27:56 +01:00
lua Add luaRef is Boolean 2017-08-18 20:42:55 +02:00
midi++2 convert codebase to use Temporal for various time types 2017-09-24 12:03:54 -04:00
panners globally change all use of "frame" to refer to audio into "sample". 2017-09-18 12:39:17 -04:00
pbd Check in a few MSVC projects to accommodate the change from libtimecode to libtemporal 2017-09-28 12:27:56 +01:00
plugins globally change all use of "frame" to refer to audio into "sample". 2017-09-18 12:39:17 -04:00
ptformat
qm-dsp
surfaces fix header order and space alignment 2017-09-24 12:57:27 -04:00
temporal Accommodate newly added/removed source(s) in our MSVC project (libtemporal) 2017-09-28 12:27:54 +01:00
vamp-plugins
vfork
waveview globally change all use of "frame" to refer to audio into "sample". 2017-09-18 12:39:17 -04:00
widgets Accommodate newly added/removed source(s) in our MSVC project (libwidgets) 2017-09-28 12:27:55 +01:00
zita-resampler Fixed typo 2017-09-19 08:34:04 -04:00