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

#include <transition_mixer.hpp>

Public Member Functions

 TransitionMixerT ()=default
void configure (std::size_t length_samples, TransitionCurve curve)
 Configure the fade length (samples) + curve and rewind to the start.
void set_curve (TransitionCurve curve)
TransitionCurve curve () const
void reset ()
void advance (std::size_t frames)
std::size_t length () const
std::size_t position () const
bool done () const
void gains_at (std::size_t fade_pos, SampleType &old_gain, SampleType &new_gain) const
 Old/new blend gains at an ABSOLUTE fade position (pure — no state change), so a caller can compute per-sample gains as gains_at(position()+n, ...).

Constructor & Destructor Documentation

◆ TransitionMixerT()

template<typename SampleType = float>
pulp::signal::TransitionMixerT< SampleType >::TransitionMixerT ( )
default

Member Function Documentation

◆ advance()

template<typename SampleType = float>
void pulp::signal::TransitionMixerT< SampleType >::advance ( std::size_t frames)
inline

◆ configure()

template<typename SampleType = float>
void pulp::signal::TransitionMixerT< SampleType >::configure ( std::size_t length_samples,
TransitionCurve curve )
inline

Configure the fade length (samples) + curve and rewind to the start.

length 0 means "no fade" (done() is immediately true).

◆ curve()

template<typename SampleType = float>
TransitionCurve pulp::signal::TransitionMixerT< SampleType >::curve ( ) const
inline

◆ done()

template<typename SampleType = float>
bool pulp::signal::TransitionMixerT< SampleType >::done ( ) const
inline

◆ gains_at()

template<typename SampleType = float>
void pulp::signal::TransitionMixerT< SampleType >::gains_at ( std::size_t fade_pos,
SampleType & old_gain,
SampleType & new_gain ) const
inline

Old/new blend gains at an ABSOLUTE fade position (pure — no state change), so a caller can compute per-sample gains as gains_at(position()+n, ...).

Evaluated over the smoothstep ramp: click-free ends for both curves.

◆ length()

template<typename SampleType = float>
std::size_t pulp::signal::TransitionMixerT< SampleType >::length ( ) const
inline

◆ position()

template<typename SampleType = float>
std::size_t pulp::signal::TransitionMixerT< SampleType >::position ( ) const
inline

◆ reset()

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

◆ set_curve()

template<typename SampleType = float>
void pulp::signal::TransitionMixerT< SampleType >::set_curve ( TransitionCurve curve)
inline

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