Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
sos_cascade.hpp File Reference

Fixed-capacity runtime executor for cascades of second-order IIR sections. More...

#include <pulp/signal/biquad.hpp>
#include <array>
#include <cmath>
#include <cstddef>
#include <span>
#include <type_traits>

Go to the source code of this file.

Classes

class  pulp::signal::SosCascadeT< SampleType, MaxSections >
 Executes a bounded cascade of normalized second-order sections (SOS). More...

Namespaces

namespace  pulp
namespace  pulp::signal
namespace  pulp::signal::detail
 Round-2 effect-wave vocabulary.

Typedefs

using pulp::signal::SosCascade = SosCascadeT<float>
using pulp::signal::SosCascade64 = SosCascadeT<double>

Enumerations

enum class  pulp::signal::SosCascadeInstallStatus {
  pulp::signal::installed , pulp::signal::not_prepared , pulp::signal::over_capacity , pulp::signal::non_finite ,
  pulp::signal::unstable
}
enum class  pulp::signal::SosCascadeTransition { pulp::signal::reset_state , pulp::signal::preserve_state }
 Coefficient changes take effect immediately. More...

Functions

template<typename Transitioning, typename Sample, typename Block>
void pulp::signal::detail::transition_then_block (std::size_t frames, Transitioning &&transitioning, Sample &&sample, Block &&block)
 The block path the cascade EQs share: a design transition (crossfade or coefficient ramp) runs sample by sample through sample(i) while transitioning() holds; once it has finished, the rest of the block goes to block(first, count) in one call.

Detailed Description

Fixed-capacity runtime executor for cascades of second-order IIR sections.