dplug.core.ringbuf

Home of RingBufferNoGC and the mighty TimedFIFO.

Members

Functions

makeRingBufferNoGC
RingBufferNoGC!T makeRingBufferNoGC(size_t initialCapacity)
Undocumented in source. Be warned that the author may not have intended to support it.

Structs

RingBufferNoGC
struct RingBufferNoGC(T)

@nogc ring-buffer

TimedFIFO
struct TimedFIFO(T)

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.

Meta