@nogc ring-buffer
Reusable mechanism to provide the UI with continuously available non-critical data from the audio thread. eg: for waveforms, analyzers, displays, etc... In the case where the FIFO is empty, it may be that there is nothing to draw or audio processing has stopped. And because audio buffers may be long, we can't just use atomics and avoid updating the UI when the buffer has already been processed. It would cause slowness with small buffers.
Home of RingBufferNoGC and the mighty TimedFIFO.