3 #ifndef VISR_LIBRBBL_INTERPOLATING_CONVOLVER_UNIFORM_HPP_INCLUDED 4 #define VISR_LIBRBBL_INTERPOLATING_CONVOLVER_UNIFORM_HPP_INCLUDED 17 #include <initializer_list> 33 template<
typename SampleType >
58 std::size_t numberOfOutputs,
59 std::size_t blockLength,
60 std::size_t maxFilterLength,
61 std::size_t maxRoutingPoints,
62 std::size_t maxFilterEntries,
63 std::size_t numberOfInterpolants,
64 std::size_t transitionSamples,
68 std::size_t alignment = 0,
69 char const * fftImplementation =
"default" );
80 std::size_t
blockLength()
const {
return mConvolver.blockLength(); }
90 void process(
SampleType const *
const input, std::size_t inputStride,
91 SampleType *
const output, std::size_t outputStride,
92 std::size_t alignment = 0 );
101 void clearRoutingTable( );
124 void setRoutingEntry( std::size_t inputIdx, std::size_t outputIdx, std::size_t filterIdx,
SampleType gain );
129 bool removeRoutingEntry( std::size_t inputIdx, std::size_t outputIdx );
138 void clearFilters( );
153 void setImpulseResponse(
SampleType const * ir, std::size_t filterLength, std::size_t filterIdx, std::size_t alignment = 0 );
162 std::size_t numberOfInterpolants()
const;
178 void clearInterpolants();
196 std::size_t
const mNumberOfInterpolants;
202 #endif // #ifndef VISR_LIBRBBL_INTERPOLATING_CONVOLVER_UNIFORM_HPP_INCLUDED Definition: filter_routing.hpp:22
Definition: interpolation_parameter.hpp:85
Definition: options.cpp:10
Definition: interpolation_parameter.hpp:24
Definition: basic_vector.hpp:28
float SampleType
Definition: constants.hpp:14
Definition: filter_routing.hpp:81