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

Control-thread-only, bounded finite SRC + time-stretch job. More...

#include <finite_time_stretch.hpp>

Public Member Functions

 FiniteTimeStretchJob ()
 ~FiniteTimeStretchJob ()
 FiniteTimeStretchJob (FiniteTimeStretchJob &&) noexcept
FiniteTimeStretchJob & operator= (FiniteTimeStretchJob &&) noexcept
 FiniteTimeStretchJob (const FiniteTimeStretchJob &)=delete
FiniteTimeStretchJob & operator= (const FiniteTimeStretchJob &)=delete
FiniteTimeStretchPrepareStatus prepare (FiniteTimeStretchConfig config)
FiniteTimeStretchStepStatus step () noexcept
FiniteTimeStretchPrepareStatus prepare_status () const noexcept
FiniteTimeStretchFailure failure () const noexcept
FiniteTimeStretchStage stage () const noexcept
std::uint64_t timeline_input_frame_count () const noexcept
std::uint64_t input_frames_materialized () const noexcept
std::uint64_t output_frames_written () const noexcept
std::shared_ptr< const AudioFileData > take () noexcept

Detailed Description

Control-thread-only, bounded finite SRC + time-stretch job.

prepare() performs checked admission and allocates the admitted planar buffers. Each step() advances one converter/processor preparation unit, materializes or converts at most max_block_frames, or drives one finite stretcher work unit. The completed AudioFileData is immutable. In exception-enabled builds, allocation failures are reported through the status enums. In no-exception builds, checked capacity rejection remains recoverable but allocator OOM follows the platform allocator's termination policy.

Constructor & Destructor Documentation

◆ FiniteTimeStretchJob() [1/3]

pulp::audio::FiniteTimeStretchJob::FiniteTimeStretchJob ( )

◆ ~FiniteTimeStretchJob()

pulp::audio::FiniteTimeStretchJob::~FiniteTimeStretchJob ( )

◆ FiniteTimeStretchJob() [2/3]

pulp::audio::FiniteTimeStretchJob::FiniteTimeStretchJob ( FiniteTimeStretchJob && )
noexcept

◆ FiniteTimeStretchJob() [3/3]

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

Member Function Documentation

◆ failure()

FiniteTimeStretchFailure pulp::audio::FiniteTimeStretchJob::failure ( ) const
noexcept

◆ input_frames_materialized()

std::uint64_t pulp::audio::FiniteTimeStretchJob::input_frames_materialized ( ) const
noexcept

◆ operator=() [1/2]

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

◆ operator=() [2/2]

FiniteTimeStretchJob & pulp::audio::FiniteTimeStretchJob::operator= ( FiniteTimeStretchJob && )
noexcept

◆ output_frames_written()

std::uint64_t pulp::audio::FiniteTimeStretchJob::output_frames_written ( ) const
noexcept

◆ prepare()

FiniteTimeStretchPrepareStatus pulp::audio::FiniteTimeStretchJob::prepare ( FiniteTimeStretchConfig config)

◆ prepare_status()

FiniteTimeStretchPrepareStatus pulp::audio::FiniteTimeStretchJob::prepare_status ( ) const
noexcept

◆ stage()

FiniteTimeStretchStage pulp::audio::FiniteTimeStretchJob::stage ( ) const
noexcept

◆ step()

FiniteTimeStretchStepStatus pulp::audio::FiniteTimeStretchJob::step ( )
noexcept

◆ take()

std::shared_ptr< const AudioFileData > pulp::audio::FiniteTimeStretchJob::take ( )
noexcept

◆ timeline_input_frame_count()

std::uint64_t pulp::audio::FiniteTimeStretchJob::timeline_input_frame_count ( ) const
noexcept

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