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

Move-only prepared stream. More...

#include <realtime_time_stretch.hpp>

Public Member Functions

 RealtimeTimeStretchProcessor () noexcept
 ~RealtimeTimeStretchProcessor ()
 RealtimeTimeStretchProcessor (RealtimeTimeStretchProcessor &&) noexcept
RealtimeTimeStretchProcessor & operator= (RealtimeTimeStretchProcessor &&) noexcept
 RealtimeTimeStretchProcessor (const RealtimeTimeStretchProcessor &)=delete
RealtimeTimeStretchProcessor & operator= (const RealtimeTimeStretchProcessor &)=delete
RealtimeTimeStretchPrepareStatus prepare (double sample_rate, const RealtimeTimeStretchConfig &config, std::uint64_t requested_max_bytes)
void reset () noexcept
void set_time_ratio (float ratio) noexcept
RealtimeTimeStretchStreamFeedStatus feed (const float *const *input, int num_samples) noexcept
int available_stretched () const noexcept
int output_free_space () const noexcept
int samples_until_next_analysis_frame () const noexcept
RealtimeTimeStretchStreamFinalizePlan plan_finalize (int max_samples) const noexcept
RealtimeTimeStretchStreamFinalizeStatus finalize (int max_samples) noexcept
int read_stretched (float *const *output, int num_samples) noexcept

Friends

RealtimeTimeStretchPrepareStatus checked_realtime_time_stretch_prepared_geometry (const RealtimeTimeStretchConfig &config, std::uint64_t requested_max_bytes, RealtimeTimeStretchPreparedGeometry &prepared)

Detailed Description

Move-only prepared stream.

Construction, prepare(), re-prepare, move, destruction, and move-assignment are control-thread operations. After a successful prepare(), reset(), controls, feed/read/finalize, and the query methods are allocation-free and suitable for the audio thread.

Constructor & Destructor Documentation

◆ RealtimeTimeStretchProcessor() [1/3]

pulp::audio::RealtimeTimeStretchProcessor::RealtimeTimeStretchProcessor ( )
noexcept

◆ ~RealtimeTimeStretchProcessor()

pulp::audio::RealtimeTimeStretchProcessor::~RealtimeTimeStretchProcessor ( )

◆ RealtimeTimeStretchProcessor() [2/3]

pulp::audio::RealtimeTimeStretchProcessor::RealtimeTimeStretchProcessor ( RealtimeTimeStretchProcessor && )
noexcept

◆ RealtimeTimeStretchProcessor() [3/3]

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

Member Function Documentation

◆ available_stretched()

int pulp::audio::RealtimeTimeStretchProcessor::available_stretched ( ) const
noexcept

◆ feed()

RealtimeTimeStretchStreamFeedStatus pulp::audio::RealtimeTimeStretchProcessor::feed ( const float *const * input,
int num_samples )
noexcept

◆ finalize()

RealtimeTimeStretchStreamFinalizeStatus pulp::audio::RealtimeTimeStretchProcessor::finalize ( int max_samples)
noexcept

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ output_free_space()

int pulp::audio::RealtimeTimeStretchProcessor::output_free_space ( ) const
noexcept

◆ plan_finalize()

RealtimeTimeStretchStreamFinalizePlan pulp::audio::RealtimeTimeStretchProcessor::plan_finalize ( int max_samples) const
noexcept

◆ prepare()

RealtimeTimeStretchPrepareStatus pulp::audio::RealtimeTimeStretchProcessor::prepare ( double sample_rate,
const RealtimeTimeStretchConfig & config,
std::uint64_t requested_max_bytes )

◆ read_stretched()

int pulp::audio::RealtimeTimeStretchProcessor::read_stretched ( float *const * output,
int num_samples )
noexcept

◆ reset()

void pulp::audio::RealtimeTimeStretchProcessor::reset ( )
noexcept

◆ samples_until_next_analysis_frame()

int pulp::audio::RealtimeTimeStretchProcessor::samples_until_next_analysis_frame ( ) const
noexcept

◆ set_time_ratio()

void pulp::audio::RealtimeTimeStretchProcessor::set_time_ratio ( float ratio)
noexcept

◆ checked_realtime_time_stretch_prepared_geometry

RealtimeTimeStretchPrepareStatus checked_realtime_time_stretch_prepared_geometry ( const RealtimeTimeStretchConfig & config,
std::uint64_t requested_max_bytes,
RealtimeTimeStretchPreparedGeometry & prepared )
friend

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