VISR  0.12.0
Versatile Interactive Scene Renderer
visr::reverbobject::LateReverbFilterCalculator Class Reference

#include <late_reverb_filter_calculator.hpp>

Inheritance diagram for visr::reverbobject::LateReverbFilterCalculator:
visr::AtomicComponent visr::Component

Public Member Functions

 LateReverbFilterCalculator (SignalFlowContext const &context, char const *name, CompositeComponent *parent, std::size_t numberOfObjects, SampleType lateReflectionLengthSeconds, std::size_t numLateReflectionSubBandLevels, std::size_t maxUpdatesPerPeriod=0)
 
 LateReverbFilterCalculator (LateReverbFilterCalculator const &)=delete
 
 ~LateReverbFilterCalculator ()
 
void process () override
 
- Public Member Functions inherited from visr::AtomicComponent
 AtomicComponent (SignalFlowContext const &context, char const *name, CompositeComponent *parent=nullptr)
 
 AtomicComponent (AtomicComponent const &)=delete
 
 AtomicComponent (AtomicComponent &&)=delete
 
virtual ~AtomicComponent () override
 
- Public Member Functions inherited from visr::Component
 Component (SignalFlowContext const &context, char const *componentName, CompositeComponent *parent)
 
 Component (SignalFlowContext const &context, std::string const &componentName, CompositeComponent *parent)
 
 Component (Component const &)=delete
 
 Component (Component &&)=delete
 
Componentoperator= (Component const &)=delete
 
Componentoperator= (Component &&)=delete
 
virtual ~Component ()
 
std::string const & name () const
 
std::string fullName () const
 
void status (StatusMessage::Kind status, char const *message)
 
template<typename ... MessageArgs>
void status (StatusMessage::Kind status, MessageArgs ... args)
 
bool isComposite () const
 
AudioPortBaseaudioPort (char const *portName)
 
AudioPortBase const & audioPort (char const *portName) const
 
AudioPortBaseaudioPort (std::string const &portName)
 
AudioPortBase const & audioPort (std::string const &portName) const
 
ParameterPortBaseparameterPort (char const *portName)
 
ParameterPortBase const & parameterPort (char const *portName) const
 
ParameterPortBaseparameterPort (std::string const &portName)
 
ParameterPortBase const & parameterPort (std::string const &portName) const
 
SamplingFrequencyType samplingFrequency () const
 
std::size_t period () const
 
bool isTopLevel () const
 
impl::ComponentImplementationimplementation ()
 
impl::ComponentImplementation const & implementation () const
 

Additional Inherited Members

- Static Public Member Functions inherited from visr::Component
static const std::string & nameSeparator ()
 
- Protected Member Functions inherited from visr::Component
 Component (impl::ComponentImplementation *impl)
 

Detailed Description

Audio component for computing signal processing parameters from PointSoureWithReverb objects.

Constructor & Destructor Documentation

◆ LateReverbFilterCalculator() [1/2]

visr::reverbobject::LateReverbFilterCalculator::LateReverbFilterCalculator ( SignalFlowContext const &  context,
char const *  name,
CompositeComponent parent,
std::size_t  numberOfObjects,
SampleType  lateReflectionLengthSeconds,
std::size_t  numLateReflectionSubBandLevels,
std::size_t  maxUpdatesPerPeriod = 0 
)
explicit

Constructor.

Parameters
contextConfiguration object holding basic execution parameters.
nameThe name of the component. Must be unique within the containing AudioSignalFlow.
parentPointer to containing component (if there is one). A value of nullptr signals that this is a top-level component.
numberOfObjectsThe maximum number of reverb objects that can be rendered simultaneously.
lateReflectionLengthSecondsMaximum length of the late reverb tail.
numLateReflectionSubBandLevelsThe number of frequency bands for the late reverberation.
maxUpdatesPerPeriodThe maximum number of filter updates calculated in a single period. Defaults to 0 (all new filter are updated immediately,).
Todo:
Consider making lateReflectionSubbandLevels optional.

◆ LateReverbFilterCalculator() [2/2]

visr::reverbobject::LateReverbFilterCalculator::LateReverbFilterCalculator ( LateReverbFilterCalculator const &  )
delete

Disabled (deleted) copy constructor

◆ ~LateReverbFilterCalculator()

visr::reverbobject::LateReverbFilterCalculator::~LateReverbFilterCalculator ( )

Destructor.

Member Function Documentation

◆ process()

void visr::reverbobject::LateReverbFilterCalculator::process ( )
overridevirtual

The process function. Iterates over all entries of the subBandLevels message queue and clears it. For each entry, a impulse response is created and added to the lateFilters massage queue.

Implements visr::AtomicComponent.


The documentation for this class was generated from the following files: