VISR  0.11.1
Versatile Interactive Scene Renderer
visr::objectmodel::PointSourceWithReverb::LateReverb Class Reference

#include <point_source_with_reverb.hpp>

Public Member Functions

 LateReverb ()
 
 LateReverb (LateReverb const &rhs)
 
 LateReverb (SampleType onsetDelay, std::initializer_list< SampleType > const levels=std::initializer_list< SampleType >(), std::initializer_list< SampleType > const decayCoeffs=std::initializer_list< SampleType >(), std::initializer_list< SampleType > const attackTimes=std::initializer_list< SampleType >())
 
SampleType const onsetDelay () const
 
void setOnsetDelay (SampleType onset)
 
LateReverbCoeffs const & decayCoeffs () const
 
LateReverbCoeffs const & levels () const
 
LateReverbCoeffs const & attackTimes () const
 
void setLevels (LateReverbCoeffs const &levels)
 
void setLevels (SampleType const *levels, std::size_t numValues)
 
void setDecayCoeffs (LateReverbCoeffs const &decay)
 
void setDecayCoeffs (SampleType const *decay, std::size_t numValues)
 
void setAttackTimes (LateReverbCoeffs const &attack)
 
void setAttackTimes (SampleType const *attack, std::size_t numValues)
 

Detailed Description

Internal class to encapsulate the late reverberation-related parts of the reverb object.

Constructor & Destructor Documentation

◆ LateReverb() [1/3]

visr::objectmodel::PointSourceWithReverb::LateReverb::LateReverb ( )

Default constructor

◆ LateReverb() [2/3]

visr::objectmodel::PointSourceWithReverb::LateReverb::LateReverb ( LateReverb const &  rhs)
default

Copy constructor, uses default implementation

◆ LateReverb() [3/3]

visr::objectmodel::PointSourceWithReverb::LateReverb::LateReverb ( SampleType  onsetDelay,
std::initializer_list< SampleType > const  levels = std::initializer_list<SampleType>(),
std::initializer_list< SampleType > const  decayCoeffs = std::initializer_list<SampleType>(),
std::initializer_list< SampleType > const  attackTimes = std::initializer_list<SampleType>() 
)
explicit

Constructor with initial values.

Parameters
onsetDelayThe inset time delay for the late reverb path (in seconds).
levelsThe peak reverberation levels for the subbands.
decayCoeffsThe decay coefficients (time constants) governing the decay after the peak.
attackTimesThe attack (onset) times denoting the amount of time from the onset delay until the envelope reaches the peak value (in seconds).

Member Function Documentation

◆ attackTimes()

LateReverbCoeffs const& visr::objectmodel::PointSourceWithReverb::LateReverb::attackTimes ( ) const
inline

Return the attack times for the late reverberation envelope. Returned as an array of time values [in seconds].

◆ decayCoeffs()

LateReverbCoeffs const& visr::objectmodel::PointSourceWithReverb::LateReverb::decayCoeffs ( ) const
inline

Return the late reverberation decay coefficients. Returned as an array of decay coefficients corresponding to the fixed subbands.

◆ levels()

LateReverbCoeffs const& visr::objectmodel::PointSourceWithReverb::LateReverb::levels ( ) const
inline

Return the late reverberation levels. Returned as an array of linear levels corresponding to the fixed subbands.

◆ onsetDelay()

SampleType const visr::objectmodel::PointSourceWithReverb::LateReverb::onsetDelay ( ) const
inline

Retrieve the initial delay (closely related to mixing time) for the late reverberation tail in seconds.

◆ setAttackTimes() [1/2]

void visr::objectmodel::PointSourceWithReverb::LateReverb::setAttackTimes ( LateReverbCoeffs const &  attack)
inline

Set the attack times for the late reverberation decay coefficients.

Parameters
attackThe attack times [in seconds] corresponding to the fixed subbands as a fixed-size array.

◆ setAttackTimes() [2/2]

void visr::objectmodel::PointSourceWithReverb::LateReverb::setAttackTimes ( SampleType const *  attack,
std::size_t  numValues 
)

Set the attack times for the late reverberation decay coefficients.

Parameters
attackThe attack corresponding to the fixed subbands.
numValuesThe number of values contained in the decay array.
Exceptions
std::invalid_argumentIf numValues does not match the fixed number of subbands.

◆ setDecayCoeffs() [1/2]

void visr::objectmodel::PointSourceWithReverb::LateReverb::setDecayCoeffs ( LateReverbCoeffs const &  decay)
inline

Set the late reverberation decay coefficients.

Parameters
decayThe decay coefficients corresponding to the fixed subbands as a fixed-size array.

◆ setDecayCoeffs() [2/2]

void visr::objectmodel::PointSourceWithReverb::LateReverb::setDecayCoeffs ( SampleType const *  decay,
std::size_t  numValues 
)

Set the late reverberation decay coefficients from a vector.

Parameters
decayThe decay coefficients corresponding to the fixed subbands.
numValuesThe number of values contained in the decay array.
Exceptions
std::invalid_argumentIf numValues does not match the fixed number of subbands.

◆ setLevels() [1/2]

void visr::objectmodel::PointSourceWithReverb::LateReverb::setLevels ( LateReverbCoeffs const &  levels)
inline

Set the late reverberation levels.

Parameters
levelsThe levels (linear scale) corresponding to the fixed subbands as a fixed-size array.

◆ setLevels() [2/2]

void visr::objectmodel::PointSourceWithReverb::LateReverb::setLevels ( SampleType const *  levels,
std::size_t  numValues 
)

Set the late reverberation levels from a vector.

Parameters
levelsThe levels (linear scale) corresponding to the fixed subbands.
numValuesThe number of values contained in the levels array.
Exceptions
std::invalid_argumentIf numValues does not match the fixed number of subbands.

◆ setOnsetDelay()

void visr::objectmodel::PointSourceWithReverb::LateReverb::setOnsetDelay ( SampleType  onset)
inline

Set the onset time for the late reverberation part.

Parameters
onsetOffset time in seconds.

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