3 #ifndef VISR_LIBRCL_INTERPOLATING_FIR_FILTER_MATRIX_HPP_INCLUDED 4 #define VISR_LIBRCL_INTERPOLATING_FIR_FILTER_MATRIX_HPP_INCLUDED 32 template<
typename SampleType >
33 class InterpolatingConvolverUniform;
58 Interpolants = 1 << 2,
59 All = Filters | Routings
90 std::size_t numberOfInputs,
91 std::size_t numberOfOutputs,
92 std::size_t filterLength,
93 std::size_t maxFilters,
94 std::size_t maxRoutings,
95 std::size_t numberOfInterpolants,
96 std::size_t transitionSamples,
101 char const * fftImplementation =
"default" );
119 void clearRoutings();
130 void addRouting( std::size_t inputIdx, std::size_t outputIdx, std::size_t filterIdx,
131 SampleType
const gain = static_cast<SampleType>(1.0) );
139 bool removeRouting( std::size_t inputIdx, std::size_t outputIdx );
141 void clearFilters( );
143 void setFilter( std::size_t filterIdx, SampleType
const *
const impulseResponse, std::size_t filterLength, std::size_t alignment =0 );
158 std::unique_ptr<ParameterInput<pml::MessageQueueProtocol, pml::IndexedValueParameter< std::size_t, std::vector<SampleType > > > > mSetFilterInput;
160 std::unique_ptr<ParameterInput<pml::MessageQueueProtocol, pml::InterpolationParameter > > mInterpolantInput;
163 std::unique_ptr<rbbl::InterpolatingConvolverUniform<SampleType> > mConvolver;
181 #endif // #ifndef VISR_LIBRCL_INTERPOLATING_FIR_FILTER_MATRIX_HPP_INCLUDED Definition: filter_routing.hpp:22
Definition: interpolation_parameter.hpp:85
Definition: interpolating_fir_filter_matrix.hpp:45
Definition: options.cpp:10
Definition: atomic_component.hpp:21
Definition: composite_component.hpp:29
Definition: signal_flow_context.hpp:15
PortBase::Direction operator|(PortBase::Direction lhs, PortBase::Direction rhs)
Definition: port_base.cpp:10
ControlPortConfig
Definition: interpolating_fir_filter_matrix.hpp:53
PortBase::Direction operator&(PortBase::Direction lhs, PortBase::Direction rhs)
Definition: port_base.cpp:16
float SampleType
Definition: constants.hpp:14
Definition: filter_routing.hpp:81