Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::audio::SampleHeritageEngine Class Reference

#include <sample_heritage_engine.hpp>

Public Member Functions

bool prepare (const SampleHeritagePreparedProfile &profile) noexcept
 Compatibility preparation for fixed-rate profiles.
SampleHeritagePrepareStatus prepare (const SampleHeritagePrepareConfig &config) noexcept
void release () noexcept
void reset () noexcept
bool prepared () const noexcept
bool exact_processing_prepared () const noexcept
std::size_t maximum_input_frames () const noexcept
std::size_t maximum_machine_frames () const noexcept
std::size_t maximum_pre_live_machine_frames () const noexcept
const SampleHeritageLiveCyclicResources & live_cyclic_resources () const noexcept
double machine_sample_rate () const noexcept
double clock_ratio () const noexcept
double clocked_sample_rate () const noexcept
double latency_output_frames () const noexcept
double latency_output_frames (double runtime_clock_multiplier) const noexcept
std::uint64_t tail_output_frames () const noexcept
 Host-rate process_tail_exact() frames sufficient to flush every finite SRC, hold, and filter state for the prepared profile.
bool process (BufferView< float > buffer) noexcept
 Flat fixed-rate in-place processing for the internal engine representation when active machine and clock rates are host identity.
SampleHeritageProcessPlan plan_exact (std::size_t output_frames) const noexcept
SampleHeritageProcessPlan plan_exact (std::size_t output_frames, double runtime_clock_multiplier) const noexcept
SampleHeritageProcessPlan plan_exact (std::size_t output_frames, double runtime_clock_multiplier, double note_pitch_multiplier) const noexcept
SampleHeritageProcessStatus process_exact (const SampleHeritageProcessPlan &plan, const BufferView< const float > &input, BufferView< float > output) noexcept
SampleHeritageProcessStatus process_source_exact (const SampleHeritageProcessPlan &plan, const 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
SampleHeritageProcessStatus process_tail_exact (const SampleHeritageProcessPlan &plan, const BufferView< const float > &input, BufferView< float > output) noexcept
 Advances finite SRC, hold, and filter memory without exciting noise or dither stages.
SampleHeritageRuntimeStateCapture capture_runtime_state () const noexcept
 Captures ContinueSerializedState RNG streams and the live shuffler's next-cycle sequence.
SampleHeritageRuntimeStateStatus restore_runtime_state (const SampleHeritageRuntimeState &state) noexcept
 Restores RNG-stream continuation after resetting every DSP transient; this is not sample-exact whole-engine continuation.

Member Function Documentation

◆ capture_runtime_state()

SampleHeritageRuntimeStateCapture pulp::audio::SampleHeritageEngine::capture_runtime_state ( ) const
inlinenoexcept

Captures ContinueSerializedState RNG streams and the live shuffler's next-cycle sequence.

SRC, ring, hold, and filter transients remain outside the serialized contract.

◆ clock_ratio()

double pulp::audio::SampleHeritageEngine::clock_ratio ( ) const
inlinenoexcept

◆ clocked_sample_rate()

double pulp::audio::SampleHeritageEngine::clocked_sample_rate ( ) const
inlinenoexcept

◆ exact_processing_prepared()

bool pulp::audio::SampleHeritageEngine::exact_processing_prepared ( ) const
inlinenoexcept

◆ last_valid_output_frames()

std::size_t pulp::audio::SampleHeritageEngine::last_valid_output_frames ( ) const
inlinenoexcept

◆ latency_output_frames() [1/2]

double pulp::audio::SampleHeritageEngine::latency_output_frames ( ) const
inlinenoexcept

◆ latency_output_frames() [2/2]

double pulp::audio::SampleHeritageEngine::latency_output_frames ( double runtime_clock_multiplier) const
inlinenoexcept

◆ live_cyclic_resources()

const SampleHeritageLiveCyclicResources & pulp::audio::SampleHeritageEngine::live_cyclic_resources ( ) const
inlinenoexcept

◆ machine_sample_rate()

double pulp::audio::SampleHeritageEngine::machine_sample_rate ( ) const
inlinenoexcept

◆ maximum_input_frames()

std::size_t pulp::audio::SampleHeritageEngine::maximum_input_frames ( ) const
inlinenoexcept

◆ maximum_machine_frames()

std::size_t pulp::audio::SampleHeritageEngine::maximum_machine_frames ( ) const
inlinenoexcept

◆ maximum_pre_live_machine_frames()

std::size_t pulp::audio::SampleHeritageEngine::maximum_pre_live_machine_frames ( ) const
inlinenoexcept

◆ plan_exact() [1/3]

SampleHeritageProcessPlan pulp::audio::SampleHeritageEngine::plan_exact ( std::size_t output_frames) const
inlinenoexcept

◆ plan_exact() [2/3]

SampleHeritageProcessPlan pulp::audio::SampleHeritageEngine::plan_exact ( std::size_t output_frames,
double runtime_clock_multiplier ) const
inlinenoexcept

◆ plan_exact() [3/3]

SampleHeritageProcessPlan pulp::audio::SampleHeritageEngine::plan_exact ( std::size_t output_frames,
double runtime_clock_multiplier,
double note_pitch_multiplier ) const
inlinenoexcept

◆ prepare() [1/2]

SampleHeritagePrepareStatus pulp::audio::SampleHeritageEngine::prepare ( const SampleHeritagePrepareConfig & config)
inlinenoexcept

◆ prepare() [2/2]

bool pulp::audio::SampleHeritageEngine::prepare ( const SampleHeritagePreparedProfile & profile)
inlinenoexcept

Compatibility preparation for fixed-rate profiles.

Rate-changing profiles require the checked exact-output configuration overload.

◆ prepared()

bool pulp::audio::SampleHeritageEngine::prepared ( ) const
inlinenoexcept

◆ process()

bool pulp::audio::SampleHeritageEngine::process ( BufferView< float > buffer)
inlinenoexcept

Flat fixed-rate in-place processing for the internal engine representation when active machine and clock rates are host identity.

◆ process_exact()

SampleHeritageProcessStatus pulp::audio::SampleHeritageEngine::process_exact ( const SampleHeritageProcessPlan & plan,
const BufferView< const float > & input,
BufferView< float > output )
inlinenoexcept

◆ process_source_exact()

SampleHeritageProcessStatus pulp::audio::SampleHeritageEngine::process_source_exact ( const SampleHeritageProcessPlan & plan,
const BufferView< const float > & input,
BufferView< float > output,
std::size_t valid_input_frames,
bool end_of_source )
inlinenoexcept

◆ process_tail_exact()

SampleHeritageProcessStatus pulp::audio::SampleHeritageEngine::process_tail_exact ( const SampleHeritageProcessPlan & plan,
const BufferView< const float > & input,
BufferView< float > output )
inlinenoexcept

Advances finite SRC, hold, and filter memory without exciting noise or dither stages.

The exact planned input must contain only zero samples.

◆ release()

void pulp::audio::SampleHeritageEngine::release ( )
inlinenoexcept

◆ reset()

void pulp::audio::SampleHeritageEngine::reset ( )
inlinenoexcept

◆ restore_runtime_state()

SampleHeritageRuntimeStateStatus pulp::audio::SampleHeritageEngine::restore_runtime_state ( const SampleHeritageRuntimeState & state)
inlinenoexcept

Restores RNG-stream continuation after resetting every DSP transient; this is not sample-exact whole-engine continuation.

◆ tail_output_frames()

std::uint64_t pulp::audio::SampleHeritageEngine::tail_output_frames ( ) const
inlinenoexcept

Host-rate process_tail_exact() frames sufficient to flush every finite SRC, hold, and filter state for the prepared profile.


The documentation for this class was generated from the following file: