3 #ifndef VISR_LIBRCL_FIR_FILTER_MATRIX_HPP_INCLUDED 4 #define VISR_LIBRCL_FIR_FILTER_MATRIX_HPP_INCLUDED 30 template<
typename SampleType >
31 class MultichannelConvolverUniform;
56 All = Filters | Routings
93 std::size_t numberOfInputs,
94 std::size_t numberOfOutputs,
95 std::size_t filterLength,
96 std::size_t maxFilters,
97 std::size_t maxRoutings,
101 char const * fftImplementation =
"default" );
126 void setup( std::size_t numberOfInputs,
127 std::size_t numberOfOutputs,
128 std::size_t filterLength,
129 std::size_t maxFilters,
130 std::size_t maxRoutings,
134 char const * fftImplementation =
"default" );
145 void clearRoutings();
156 void addRouting( std::size_t inputIdx, std::size_t outputIdx, std::size_t filterIdx,
157 SampleType
const gain = static_cast<SampleType>(1.0) );
165 bool removeRouting( std::size_t inputIdx, std::size_t outputIdx );
167 void clearFilters( );
169 void setFilter( std::size_t filterIdx, SampleType
const *
const impulseResponse, std::size_t filterLength, std::size_t alignment =0 );
184 std::unique_ptr<ParameterInput<pml::MessageQueueProtocol, pml::IndexedValueParameter< std::size_t, std::vector<SampleType > > > > mSetFilterInput;
186 std::unique_ptr<rbbl::MultichannelConvolverUniform<SampleType> > mConvolver;
204 #endif // #ifndef VISR_LIBRCL_FIR_FILTER_MATRIX_HPP_INCLUDED Definition: filter_routing.hpp:22
ControlPortConfig
Definition: fir_filter_matrix.hpp:51
Definition: fir_filter_matrix.hpp:43
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
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