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

Bounded causal streaming sample-rate converter for the heritage pipeline. More...

#include <sample_heritage_src.hpp>

Public Member Functions

 SampleHeritageCausalSrc ()=default
 SampleHeritageCausalSrc (const SampleHeritageCausalSrc &)=delete
SampleHeritageCausalSrc & operator= (const SampleHeritageCausalSrc &)=delete
 SampleHeritageCausalSrc (SampleHeritageCausalSrc &&)=delete
SampleHeritageCausalSrc & operator= (SampleHeritageCausalSrc &&)=delete
SampleHeritageSrcStatus prepare (double source_frames_per_output, std::size_t channel_count, SampleSincKernelSelection selection, bool identity) noexcept
SampleHeritageSrcStatus prepare_variable (double default_source_frames_per_output, double minimum_source_frames_per_output, double maximum_source_frames_per_output, std::size_t channel_count, SampleSincKernelBankView bank) noexcept
void release () noexcept
void reset () noexcept
bool prepared () const noexcept
bool identity () const noexcept
double ratio () const noexcept
std::uint32_t half_width () const noexcept
SampleHeritageSrcPlan plan (std::size_t output_frames) const noexcept
SampleHeritageSrcPlan plan (std::size_t output_frames, double source_frames_per_output) const noexcept
SampleHeritageSrcStatus process (const BufferView< const float > &input, BufferView< float > output) noexcept
SampleHeritageSrcStatus process (const BufferView< const float > &input, BufferView< float > output, double source_frames_per_output) noexcept
SampleHeritageSrcStatus process_source (const BufferView< const float > &input, BufferView< float > output, std::size_t valid_input_frames, bool end_of_source) noexcept
 Tracks the valid prefix of a zero-padded final input block and exposes every causal output frame whose sinc window still overlaps real source.
SampleHeritageSrcStatus process_source (const BufferView< const float > &input, BufferView< float > output, std::size_t valid_input_frames, bool end_of_source, double source_frames_per_output) noexcept
std::size_t last_valid_output_frames () const noexcept
std::uint64_t remaining_valid_output_frames () const noexcept
bool source_drained () const noexcept

Detailed Description

Bounded causal streaming sample-rate converter for the heritage pipeline.

The immutable production sampler sinc bank supplies the coefficients. The converter delays its interpolation centre by one half-width, zero-extends only the prehistory before source frame zero, and retains exactly one tap neighbourhood per channel between calls. plan() is observational; process() advances only after every dimension and exact-input check succeeds.

Constructor & Destructor Documentation

◆ SampleHeritageCausalSrc() [1/3]

pulp::audio::SampleHeritageCausalSrc::SampleHeritageCausalSrc ( )
default

◆ SampleHeritageCausalSrc() [2/3]

pulp::audio::SampleHeritageCausalSrc::SampleHeritageCausalSrc ( const SampleHeritageCausalSrc & )
delete

◆ SampleHeritageCausalSrc() [3/3]

pulp::audio::SampleHeritageCausalSrc::SampleHeritageCausalSrc ( SampleHeritageCausalSrc && )
delete

Member Function Documentation

◆ half_width()

std::uint32_t pulp::audio::SampleHeritageCausalSrc::half_width ( ) const
inlinenoexcept

◆ identity()

bool pulp::audio::SampleHeritageCausalSrc::identity ( ) const
inlinenoexcept

◆ last_valid_output_frames()

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

◆ operator=() [1/2]

SampleHeritageCausalSrc & pulp::audio::SampleHeritageCausalSrc::operator= ( const SampleHeritageCausalSrc & )
delete

◆ operator=() [2/2]

SampleHeritageCausalSrc & pulp::audio::SampleHeritageCausalSrc::operator= ( SampleHeritageCausalSrc && )
delete

◆ plan() [1/2]

SampleHeritageSrcPlan pulp::audio::SampleHeritageCausalSrc::plan ( std::size_t output_frames) const
inlinenoexcept

◆ plan() [2/2]

SampleHeritageSrcPlan pulp::audio::SampleHeritageCausalSrc::plan ( std::size_t output_frames,
double source_frames_per_output ) const
inlinenoexcept

◆ prepare()

SampleHeritageSrcStatus pulp::audio::SampleHeritageCausalSrc::prepare ( double source_frames_per_output,
std::size_t channel_count,
SampleSincKernelSelection selection,
bool identity )
inlinenoexcept

◆ prepare_variable()

SampleHeritageSrcStatus pulp::audio::SampleHeritageCausalSrc::prepare_variable ( double default_source_frames_per_output,
double minimum_source_frames_per_output,
double maximum_source_frames_per_output,
std::size_t channel_count,
SampleSincKernelBankView bank )
inlinenoexcept

◆ prepared()

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

◆ process() [1/2]

SampleHeritageSrcStatus pulp::audio::SampleHeritageCausalSrc::process ( const BufferView< const float > & input,
BufferView< float > output )
inlinenoexcept

◆ process() [2/2]

SampleHeritageSrcStatus pulp::audio::SampleHeritageCausalSrc::process ( const BufferView< const float > & input,
BufferView< float > output,
double source_frames_per_output )
inlinenoexcept

◆ process_source() [1/2]

SampleHeritageSrcStatus pulp::audio::SampleHeritageCausalSrc::process_source ( const BufferView< const float > & input,
BufferView< float > output,
std::size_t valid_input_frames,
bool end_of_source )
inlinenoexcept

Tracks the valid prefix of a zero-padded final input block and exposes every causal output frame whose sinc window still overlaps real source.

◆ process_source() [2/2]

SampleHeritageSrcStatus pulp::audio::SampleHeritageCausalSrc::process_source ( const BufferView< const float > & input,
BufferView< float > output,
std::size_t valid_input_frames,
bool end_of_source,
double source_frames_per_output )
inlinenoexcept

◆ ratio()

double pulp::audio::SampleHeritageCausalSrc::ratio ( ) const
inlinenoexcept

◆ release()

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

◆ remaining_valid_output_frames()

std::uint64_t pulp::audio::SampleHeritageCausalSrc::remaining_valid_output_frames ( ) const
inlinenoexcept

◆ reset()

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

◆ source_drained()

bool pulp::audio::SampleHeritageCausalSrc::source_drained ( ) const
inlinenoexcept

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