Audio Processing Framework (APF) version 0.5.0
Public Member Functions | Public Attributes | List of all members
apf::conv::Input Struct Reference

Input stage of convolution. More...

#include <apf/convolver.h>

Inheritance diagram for apf::conv::Input:
Inheritance graph
[legend]

Public Member Functions

 Input (size_t block_size_, size_t partitions_)
 
template<typename In >
void add_block (In first)
 Add a block of time-domain input samples. More...
 
size_t partitions () const
 
- Public Member Functions inherited from apf::conv::TransformBase
template<typename In >
void prepare_filter (In first, In last, Filter &filter) const
 Transform time-domain samples. More...
 
size_t block_size () const
 
size_t partition_size () const
 
template<typename In >
In prepare_partition (In first, In last, fft_node &partition) const
 FFT of one block. More...
 

Public Attributes

fixed_list< fft_nodespectra
 Spectra of the partitions (double-blocks) of the input signal to be convolved. More...
 

Additional Inherited Members

- Protected Types inherited from apf::conv::TransformBase
using scoped_plan = fftw< float >::scoped_plan
 
using plan_ptr = std::unique_ptr< scoped_plan >
 
- Protected Member Functions inherited from apf::conv::TransformBase
 TransformBase (size_t block_size_)
 
 TransformBase (TransformBase &&)=default
 
plan_ptr _create_plan (float *array) const
 Create in-place FFT plan for halfcomplex data format. More...
 
void _fft (float *first) const
 In-place FFT. More...
 
- Protected Attributes inherited from apf::conv::TransformBase
plan_ptr _fft_plan
 

Detailed Description

Input stage of convolution.

New audio data is fed in here, further processing happens in Output.

Definition at line 306 of file convolver.h.

Constructor & Destructor Documentation

◆ Input()

apf::conv::Input::Input ( size_t  block_size_,
size_t  partitions_ 
)
inline
Parameters
block_size_audio block size
partitions_number of partitions

Definition at line 310 of file convolver.h.

References apf::conv::TransformBase::_create_plan(), and spectra.

Member Function Documentation

◆ add_block()

template<typename In >
void apf::conv::Input::add_block ( In  first)

Add a block of time-domain input samples.

Parameters
firstIterator to first sample.
Template Parameters
InForward iterator

Definition at line 336 of file convolver.h.

References apf::conv::TransformBase::_fft(), apf::math::has_only_zeros(), and spectra.

◆ partitions()

size_t apf::conv::Input::partitions ( ) const
inline

Definition at line 323 of file convolver.h.

Member Data Documentation

◆ spectra

fixed_list<fft_node> apf::conv::Input::spectra

Spectra of the partitions (double-blocks) of the input signal to be convolved.

The first element is the most recent signal chunk.

Definition at line 327 of file convolver.h.

Referenced by add_block(), and Input().


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