3 #ifndef VISR_LIBREVERBOBJECT_LATE_REVERB_FILTER_CALCULATOR_HPP_INCLUDED 4 #define VISR_LIBREVERBOBJECT_LATE_REVERB_FILTER_CALCULATOR_HPP_INCLUDED 30 template<
typename CoefficientType >
31 class BiquadCoefficient;
34 namespace reverbobject
59 std::size_t numberOfObjects,
61 std::size_t numLateReflectionSubBandLevels,
62 std::size_t maxUpdatesPerPeriod = 0 );
80 void process()
override;
92 void calculateImpulseResponse( std::size_t objectIdx,
95 std::size_t irLength, std::size_t alignment = 0 );
103 static void createWhiteNoiseSequence( std::size_t numSamples,
SampleType* data, std::size_t alignment = 0 );
112 static void filterSequence( std::size_t numSamples,
SampleType const *
const input,
SampleType * output,
125 static void createEnvelope( std::size_t numSamples,
SampleType* data,
132 std::size_t
const mAlignment;
137 std::size_t
const mNumberOfObjects;
139 std::size_t
const mNumberOfSubBands;
141 std::size_t
const mFilterLength;
143 std::size_t
const mMaxUpdatesPerIteration;
155 SampleType const *
const subBandNoiseSequence( std::size_t objectIdx, std::size_t bandIdx )
const 157 return mSubBandNoiseSequences.
row( objectIdx * mNumberOfSubBands + bandIdx );
164 SampleType *
const subBandNoiseSequence( std::size_t objectIdx, std::size_t bandIdx )
166 return mSubBandNoiseSequences.
row( objectIdx * mNumberOfSubBands + bandIdx );
178 #endif // #ifndef VISR_LIBREVERBOBJECT_LATE_REVERB_FILTER_CALCULATOR_HPP_INCLUDED
Definition: parameter_output.hpp:45
Definition: late_reverb_filter_calculator.hpp:41
Definition: biquad_coefficient.hpp:30
Definition: options.cpp:10
Definition: atomic_component.hpp:21
Definition: composite_component.hpp:29
Definition: signal_flow_context.hpp:15
ElementType * row(std::size_t rowIdx)
Definition: basic_matrix.hpp:211
Definition: point_source_with_reverb.hpp:158
Definition: indexed_value_parameter.hpp:42
float SampleType
Definition: constants.hpp:14