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

#include <sample_rate_conversion.hpp>

Public Member Functions

std::uint64_t prepared_bytes () const noexcept
bool matches_source_slice (const std::shared_ptr< const AudioFileData > &source, std::uint64_t source_start, std::uint64_t source_frames) const noexcept
float read (std::size_t channel, double position, double source_frames_per_output_frame) const noexcept

Static Public Member Functions

static std::shared_ptr< const PreparedVariableRateConversion > build (std::shared_ptr< const AudioFileData > source, std::uint64_t source_start, std::uint64_t source_frames)
static std::optional< std::uint64_t > prepared_bytes (std::uint64_t source_frames, std::size_t channels) noexcept

Static Public Attributes

static constexpr std::size_t kLinearCutoffLevels = 32
static constexpr std::size_t kCutoffLevels = kLinearCutoffLevels + 1
static constexpr std::size_t kPyramidLevels = 19
static constexpr std::size_t kPyramidBlockSamples = 1'024
static constexpr double kMaximumSourceFramesPerOutputFrame = 1'048'576.0

Friends

class VariableRateConversionBuilder

Member Function Documentation

◆ build()

std::shared_ptr< const PreparedVariableRateConversion > pulp::audio::PreparedVariableRateConversion::build ( std::shared_ptr< const AudioFileData > source,
std::uint64_t source_start,
std::uint64_t source_frames )
inlinestatic

◆ matches_source_slice()

bool pulp::audio::PreparedVariableRateConversion::matches_source_slice ( const std::shared_ptr< const AudioFileData > & source,
std::uint64_t source_start,
std::uint64_t source_frames ) const
inlinenoexcept

◆ prepared_bytes() [1/2]

std::uint64_t pulp::audio::PreparedVariableRateConversion::prepared_bytes ( ) const
inlinenoexcept

◆ prepared_bytes() [2/2]

std::optional< std::uint64_t > pulp::audio::PreparedVariableRateConversion::prepared_bytes ( std::uint64_t source_frames,
std::size_t channels )
inlinestaticnoexcept

◆ read()

float pulp::audio::PreparedVariableRateConversion::read ( std::size_t channel,
double position,
double source_frames_per_output_frame ) const
inlinenoexcept

◆ VariableRateConversionBuilder

friend class VariableRateConversionBuilder
friend

Member Data Documentation

◆ kCutoffLevels

std::size_t pulp::audio::PreparedVariableRateConversion::kCutoffLevels = kLinearCutoffLevels + 1
staticconstexpr

◆ kLinearCutoffLevels

std::size_t pulp::audio::PreparedVariableRateConversion::kLinearCutoffLevels = 32
staticconstexpr

◆ kMaximumSourceFramesPerOutputFrame

double pulp::audio::PreparedVariableRateConversion::kMaximumSourceFramesPerOutputFrame = 1'048'576.0
staticconstexpr

◆ kPyramidBlockSamples

std::size_t pulp::audio::PreparedVariableRateConversion::kPyramidBlockSamples = 1'024
staticconstexpr

◆ kPyramidLevels

std::size_t pulp::audio::PreparedVariableRateConversion::kPyramidLevels = 19
staticconstexpr

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