Fixed-capacity cyclic resynthesis for realtime sample playback. More...
#include <sample_heritage_live_cyclic.hpp>
Public Member Functions | |
| SampleHeritageLiveCyclicStretch ()=default | |
| SampleHeritageLiveCyclicStretch (const SampleHeritageLiveCyclicStretch &)=delete | |
| SampleHeritageLiveCyclicStretch & | operator= (const SampleHeritageLiveCyclicStretch &)=delete |
| SampleHeritageLiveCyclicStretch (SampleHeritageLiveCyclicStretch &&)=delete | |
| SampleHeritageLiveCyclicStretch & | operator= (SampleHeritageLiveCyclicStretch &&)=delete |
| SampleHeritageLiveCyclicStatus | prepare (const SampleHeritageLiveCyclicConfig &config) noexcept |
| void | release () noexcept |
| void | reset () noexcept |
| void | reset_with_rng_continuation (SampleHeritageLiveCyclicRngContinuation continuation) noexcept |
| bool | prepared () const noexcept |
| bool | exact_bypass () const noexcept |
| double | source_frames_per_output_frame () const noexcept |
| std::size_t | startup_prebuffer_frames () const noexcept |
| const SampleHeritageLiveCyclicResources & | resources () const noexcept |
| SampleHeritageLiveCyclicPlan | plan (std::size_t output_frames) const noexcept |
| SampleHeritageLiveCyclicStatus | process (BufferView< const float > input, BufferView< float > output) noexcept |
| SampleHeritageLiveCyclicStatus | process (BufferView< const float > input, BufferView< float > output, std::size_t valid_input_frames, bool end_of_source) noexcept |
| std::size_t | last_valid_output_frames () const noexcept |
| std::uint64_t | remaining_output_frames () const noexcept |
| bool | division_permutation (std::uint64_t cycle_index, std::size_t channel, std::span< std::uint32_t > destination) const noexcept |
| SampleHeritageLiveCyclicRngContinuation | capture_next_cycle_rng_continuation () const noexcept |
Static Public Member Functions | |
| static SampleHeritageLiveCyclicResources | resources_for (const SampleHeritageLiveCyclicConfig &config) noexcept |
Static Public Attributes | |
| static constexpr std::size_t | kInterpolatorGuardFrames = 2 |
Fixed-capacity cyclic resynthesis for realtime sample playback.
The caller supplies exactly plan().input_frames new source frames, in source order, for each output block. The processor consumes 1/factor source frames per output frame over time and retains the bounded neighborhood needed by its cyclic reads. prepare() is the only allocating operation.
|
default |
|
delete |
|
delete |
|
noexcept |
|
noexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
delete |
|
delete |
|
noexcept |
|
noexcept |
|
inlinenoexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
inlinenoexcept |
|
noexcept |
|
noexcept |
|
inlinenoexcept |
|
staticnoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
staticconstexpr |