A mono streaming reverse-window processor. More...
#include <reverse_buffer.hpp>
Classes | |
| struct | Config |
Public Member Functions | |
| bool | prepare (std::size_t maximum_window_samples) |
| bool | configure (Config replacement) noexcept |
| Publishes the complete transport configuration. | |
| Config | config () const noexcept |
| bool | prepared () const noexcept |
| std::size_t | maximum_window_samples () const noexcept |
| std::size_t | retained_bytes () const noexcept |
| int | latency_samples () const noexcept |
| int | startup_latency_samples () const noexcept |
| int | tail_samples () const noexcept |
| ReverseBufferState | state () const noexcept |
| std::size_t | position () const noexcept |
| void | set_bypassed (bool bypassed) noexcept |
| Hard transport bypass. | |
| bool | bypassed () const noexcept |
| void | discard_history () noexcept |
| Discards capture/playback state in constant time without changing the prepared capacity, configuration, or bypass state. | |
| void | reset () noexcept |
| SampleType | process_sample (SampleType input) noexcept |
| void | process_block (const SampleType *input, SampleType *output, std::size_t sample_count) noexcept |
Static Public Attributes | |
| static constexpr std::size_t | kMinimumWindowSamples = 2 |
| static constexpr std::size_t | kMaximumWindowSamples = 8u * 1024u * 1024u |
A mono streaming reverse-window processor.
One prepared buffer is captured forward while the preceding buffer is read backward. The first reversed window begins after exactly window_samples input frames. This is a reorder effect: individual sample delays span one through 2 * window_samples - 1, even though the declared startup latency is one complete window. Instantiate one processor per independently reversed channel.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenodiscardnoexcept |
Publishes the complete transport configuration.
Accepted changes discard captured audio and restart priming; rejection preserves all state.
|
inlinenoexcept |
Discards capture/playback state in constant time without changing the prepared capacity, configuration, or bypass state.
Hosts should call this after a transport seek or any discontinuous source reposition.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenodiscard |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Hard transport bypass.
Finite input passes through sample-exactly and no audio is captured. Either transition discards history, so re-engaging the effect always starts with a fresh complete priming window.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
staticconstexpr |
|
staticconstexpr |