Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::PitchedFeedbackDelayT< SampleType > Class Template Reference

#include <pitched_feedback_delay.hpp>

Classes

struct  Config

Public Member Functions

void prepare (double sample_rate, const Config &config)
 RT contract: prepare() allocates ring/chunk storage and is not audio-thread safe.
void reset ()
void set_delay_ms (float ms)
void set_delay_sync (double tempo_bpm, double beats)
 Tempo-synced delay: beats at tempo_bpm (e.g. 0.5 = eighth note).
void set_feedback (float feedback)
 Clamped below unity for stability.
void set_loop_processor (FeedbackLoopProcessorT< SampleType > *processor)
int min_delay_samples () const
 Minimum legal delay: the in-loop processor's latency plus one.
void process (const SampleType *const *in, SampleType *const *out, int num_samples)

Member Function Documentation

◆ min_delay_samples()

template<typename SampleType = float>
int pulp::signal::PitchedFeedbackDelayT< SampleType >::min_delay_samples ( ) const
inline

Minimum legal delay: the in-loop processor's latency plus one.

◆ prepare()

template<typename SampleType = float>
void pulp::signal::PitchedFeedbackDelayT< SampleType >::prepare ( double sample_rate,
const Config & config )
inline

RT contract: prepare() allocates ring/chunk storage and is not audio-thread safe.

After prepare(), reset(), setters, min_delay_samples(), and process() are allocation-free for blocks no larger than Config::max_block. The loop processor callback must also be RT-safe.

◆ process()

template<typename SampleType = float>
void pulp::signal::PitchedFeedbackDelayT< SampleType >::process ( const SampleType *const * in,
SampleType *const * out,
int num_samples )
inline

◆ reset()

template<typename SampleType = float>
void pulp::signal::PitchedFeedbackDelayT< SampleType >::reset ( )
inline

◆ set_delay_ms()

template<typename SampleType = float>
void pulp::signal::PitchedFeedbackDelayT< SampleType >::set_delay_ms ( float ms)
inline

◆ set_delay_sync()

template<typename SampleType = float>
void pulp::signal::PitchedFeedbackDelayT< SampleType >::set_delay_sync ( double tempo_bpm,
double beats )
inline

Tempo-synced delay: beats at tempo_bpm (e.g. 0.5 = eighth note).

◆ set_feedback()

template<typename SampleType = float>
void pulp::signal::PitchedFeedbackDelayT< SampleType >::set_feedback ( float feedback)
inline

Clamped below unity for stability.

◆ set_loop_processor()

template<typename SampleType = float>
void pulp::signal::PitchedFeedbackDelayT< SampleType >::set_loop_processor ( FeedbackLoopProcessorT< SampleType > * processor)
inline

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