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

#include <soft_bypass.hpp>

Public Member Functions

 SoftBypassT ()=default
 SoftBypassT (Processor processor)
Processor & processor () noexcept
 Access the wrapped processor.
const Processor & processor () const noexcept
void set_fade_samples (int samples) noexcept
 Crossfade length in samples for a bypass toggle (clamped to >= 1).
void set_bypassed (bool bypassed) noexcept
 Request bypassed (true) or active (false). The change crossfades in.
bool bypassed () const noexcept
 True once fully (or heading) bypassed.
bool fading () const noexcept
 True while a crossfade is still in progress.
SampleType wet_mix () const noexcept
 Current wet mix in [0, 1] (1 = fully active, 0 = fully bypassed).
SampleType process (SampleType input) noexcept
 Process one sample with the current (possibly fading) bypass mix.
void process (SampleType *data, int num_samples) noexcept
 Process a buffer in place.
void reset () noexcept
 Reset the wrapped processor (if it supports it) and settle the fade.

Constructor & Destructor Documentation

◆ SoftBypassT() [1/2]

template<typename Processor, typename SampleType = float>
pulp::signal::SoftBypassT< Processor, SampleType >::SoftBypassT ( )
default

◆ SoftBypassT() [2/2]

template<typename Processor, typename SampleType = float>
pulp::signal::SoftBypassT< Processor, SampleType >::SoftBypassT ( Processor processor)
inlineexplicit

Member Function Documentation

◆ bypassed()

template<typename Processor, typename SampleType = float>
bool pulp::signal::SoftBypassT< Processor, SampleType >::bypassed ( ) const
inlinenoexcept

True once fully (or heading) bypassed.

◆ fading()

template<typename Processor, typename SampleType = float>
bool pulp::signal::SoftBypassT< Processor, SampleType >::fading ( ) const
inlinenoexcept

True while a crossfade is still in progress.

◆ process() [1/2]

template<typename Processor, typename SampleType = float>
void pulp::signal::SoftBypassT< Processor, SampleType >::process ( SampleType * data,
int num_samples )
inlinenoexcept

Process a buffer in place.

◆ process() [2/2]

template<typename Processor, typename SampleType = float>
SampleType pulp::signal::SoftBypassT< Processor, SampleType >::process ( SampleType input)
inlinenoexcept

Process one sample with the current (possibly fading) bypass mix.

◆ processor() [1/2]

template<typename Processor, typename SampleType = float>
const Processor & pulp::signal::SoftBypassT< Processor, SampleType >::processor ( ) const
inlinenoexcept

◆ processor() [2/2]

template<typename Processor, typename SampleType = float>
Processor & pulp::signal::SoftBypassT< Processor, SampleType >::processor ( )
inlinenoexcept

Access the wrapped processor.

SoftBypass forwards reset() but NOT prepare()/sample-rate setup — a wrapped processor that needs preparation must be prepared through this accessor before use.

◆ reset()

template<typename Processor, typename SampleType = float>
void pulp::signal::SoftBypassT< Processor, SampleType >::reset ( )
inlinenoexcept

Reset the wrapped processor (if it supports it) and settle the fade.

◆ set_bypassed()

template<typename Processor, typename SampleType = float>
void pulp::signal::SoftBypassT< Processor, SampleType >::set_bypassed ( bool bypassed)
inlinenoexcept

Request bypassed (true) or active (false). The change crossfades in.

◆ set_fade_samples()

template<typename Processor, typename SampleType = float>
void pulp::signal::SoftBypassT< Processor, SampleType >::set_fade_samples ( int samples)
inlinenoexcept

Crossfade length in samples for a bypass toggle (clamped to >= 1).

◆ wet_mix()

template<typename Processor, typename SampleType = float>
SampleType pulp::signal::SoftBypassT< Processor, SampleType >::wet_mix ( ) const
inlinenoexcept

Current wet mix in [0, 1] (1 = fully active, 0 = fully bypassed).


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