3 #ifndef VISR_LIBRCL_CROSSFADING_FIR_FILTER_MATRIX_HPP_INCLUDED 4 #define VISR_LIBRCL_CROSSFADING_FIR_FILTER_MATRIX_HPP_INCLUDED 30 template<
typename SampleType >
31 class CrossfadingConvolverUniform;
56 All = Filters | Routings
85 std::size_t numberOfInputs,
86 std::size_t numberOfOutputs,
87 std::size_t filterLength,
88 std::size_t maxFilters,
89 std::size_t maxRoutings,
90 std::size_t transitionSamples,
93 ControlPortConfig controlInputs = ControlPortConfig::None,
94 char const * fftImplementation =
"default" );
110 void clearRoutings();
121 void addRouting( std::size_t inputIdx, std::size_t outputIdx, std::size_t filterIdx,
122 SampleType const gain = static_cast<SampleType>(1.0) );
130 bool removeRouting( std::size_t inputIdx, std::size_t outputIdx );
132 void clearFilters( );
134 void setFilter( std::size_t filterIdx,
SampleType const *
const impulseResponse, std::size_t filterLength, std::size_t alignment =0 );
149 std::unique_ptr<ParameterInput<pml::MessageQueueProtocol, pml::IndexedValueParameter< std::size_t, std::vector<SampleType > > > > mSetFilterInput;
151 std::unique_ptr<rbbl::CrossfadingConvolverUniform<SampleType> > mConvolver;
169 #endif // #ifndef VISR_LIBRCL_CROSSFADING_FIR_FILTER_MATRIX_HPP_INCLUDED Definition: filter_routing.hpp:22
CrossfadingFirFilterMatrix::ControlPortConfig operator &(CrossfadingFirFilterMatrix::ControlPortConfig lhs, CrossfadingFirFilterMatrix::ControlPortConfig rhs)
Definition: crossfading_fir_filter_matrix.cpp:16
Definition: options.cpp:10
Definition: atomic_component.hpp:21
Definition: composite_component.hpp:29
Definition: signal_flow_context.hpp:15
CrossfadingFirFilterMatrix::ControlPortConfig operator|(CrossfadingFirFilterMatrix::ControlPortConfig lhs, CrossfadingFirFilterMatrix::ControlPortConfig rhs)
Definition: crossfading_fir_filter_matrix.cpp:23
Definition: crossfading_fir_filter_matrix.hpp:43
ControlPortConfig
Definition: crossfading_fir_filter_matrix.hpp:51
float SampleType
Definition: constants.hpp:14
Definition: filter_routing.hpp:81