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

#include <loop_reader.hpp>

Static Public Member Functions

static std::uint64_t source_frame_for_tap (const LoopRegion &region, std::uint64_t source_frames, std::int64_t signed_frame) noexcept
 Resolves an interpolation tap according to the traversal boundary: bounded modes clamp, ping-pong reflects, and steady loops wrap.
static double normalize_position (const LoopRegion &region, double position) noexcept
static float read (BufferView< const float > source, const LoopRegion &region, std::uint32_t output_channel, double position) noexcept
static float read (BufferView< const float > source, const LoopRegion &region, std::uint32_t output_channel, double position, SampleInterpolationPolicy interpolation) noexcept
static float read (BufferView< const float > source, const LoopRegion &region, std::uint32_t output_channel, double position, const PreparedSampleInterpolation &interpolation) noexcept
static float read_validated (BufferView< const float > source, const LoopRegion &region, std::uint32_t output_channel, double position) noexcept
static float read_validated (BufferView< const float > source, const LoopRegion &region, std::uint32_t output_channel, double position, SampleInterpolationPolicy interpolation) noexcept
static float read_validated (BufferView< const float > source, const LoopRegion &region, std::uint32_t output_channel, double position, const PreparedSampleInterpolation &interpolation) noexcept

Member Function Documentation

◆ normalize_position()

double pulp::audio::LoopReader::normalize_position ( const LoopRegion & region,
double position )
staticnoexcept

◆ read() [1/3]

float pulp::audio::LoopReader::read ( BufferView< const float > source,
const LoopRegion & region,
std::uint32_t output_channel,
double position )
staticnoexcept

◆ read() [2/3]

float pulp::audio::LoopReader::read ( BufferView< const float > source,
const LoopRegion & region,
std::uint32_t output_channel,
double position,
const PreparedSampleInterpolation & interpolation )
staticnoexcept

◆ read() [3/3]

float pulp::audio::LoopReader::read ( BufferView< const float > source,
const LoopRegion & region,
std::uint32_t output_channel,
double position,
SampleInterpolationPolicy interpolation )
staticnoexcept

◆ read_validated() [1/3]

float pulp::audio::LoopReader::read_validated ( BufferView< const float > source,
const LoopRegion & region,
std::uint32_t output_channel,
double position )
staticnoexcept

◆ read_validated() [2/3]

float pulp::audio::LoopReader::read_validated ( BufferView< const float > source,
const LoopRegion & region,
std::uint32_t output_channel,
double position,
const PreparedSampleInterpolation & interpolation )
staticnoexcept

◆ read_validated() [3/3]

float pulp::audio::LoopReader::read_validated ( BufferView< const float > source,
const LoopRegion & region,
std::uint32_t output_channel,
double position,
SampleInterpolationPolicy interpolation )
staticnoexcept

◆ source_frame_for_tap()

std::uint64_t pulp::audio::LoopReader::source_frame_for_tap ( const LoopRegion & region,
std::uint64_t source_frames,
std::int64_t signed_frame )
staticnoexcept

Resolves an interpolation tap according to the traversal boundary: bounded modes clamp, ping-pong reflects, and steady loops wrap.


The documentation for this class was generated from the following file:
  • /home/runner/work/pulp/pulp/core/audio/include/pulp/audio/loop_reader.hpp