Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
convolver_messages.hpp File Reference
#include <pulp/runtime/slot.hpp>
#include <pulp/signal/fft.hpp>
#include <algorithm>
#include <atomic>
#include <complex>
#include <cstddef>
#include <cstdint>
#include <memory>
#include <span>
#include <vector>

Go to the source code of this file.

Classes

class  pulp::signal::ConvolverSpectrumArenaT< SampleType >
 A fixed number of equal-length spectra in one contiguous, 64-byte-aligned block, each starting on a 64-byte boundary. More...
struct  pulp::signal::ConvolverInputHistoryT< SampleType >
 The convolver's input-side overlap-save history. More...
struct  pulp::signal::ConvolverIrStateT< SampleType >
 Pre-computed, audio-thread-ready state for a single impulse response. More...
class  pulp::signal::ConvolverIrSwapperT< SampleType >
 Lock-free background-IR shuttle for PartitionedConvolver. More...

Namespaces

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

Typedefs

using pulp::signal::ConvolverInputHistory = ConvolverInputHistoryT<float>
using pulp::signal::ConvolverInputHistory64 = ConvolverInputHistoryT<double>
using pulp::signal::ConvolverIrState = ConvolverIrStateT<float>
using pulp::signal::ConvolverIrState64 = ConvolverIrStateT<double>
using pulp::signal::ConvolverIrSwapper = ConvolverIrSwapperT<float>
using pulp::signal::ConvolverIrSwapper64 = ConvolverIrSwapperT<double>

Functions

constexpr std::size_t pulp::signal::detail::convolver_block_size (std::size_t block_size) noexcept
 The block size a convolver prepared for block_size accepts: the request rounded up to the next power of two (the radix-2 FFT needs it), with 0 treated as 1.
template<typename SampleType = float>
std::unique_ptr< ConvolverIrStateT< SampleType > > pulp::signal::detail::build_convolver_ir_state (const SampleType *ir, std::size_t ir_length, std::size_t block_size)
 Build a ConvolverIrState from a raw IR.
template<typename SampleType = float>
void pulp::signal::detail::migrate_input_history (ConvolverInputHistoryT< SampleType > &from, ConvolverInputHistoryT< SampleType > &to)
 Migrate the recorded input history from from into to, age-aligned.