JPL Spatial
Sound spatialization and propagation library
Loading...
Searching...
No Matches
JPL::MultiChannelFeedbackBase< NumChannels, AttenuationFilter > Struct Template Reference

#include <JPLSpatial/Auralization/ReverbDesign.h>

Inheritance diagram for JPL::MultiChannelFeedbackBase< NumChannels, AttenuationFilter >:
JPL::MultiChannelMixedFeedback< cFDNChannels, AttenuationFilter > JPL::MultiChannelFeedback< NumChannels, AttenuationFilter > JPL::MultiChannelMixedFeedback< NumChannels, AttenuationFilter >

Public Types

using Channels = std::array< float, NumChannels >
 

Public Member Functions

template<class ... FilterArgs>
void Prepare (float sampleRate, FilterArgs &&...filterPrepareArgs)
 
template<class ... FilterArgs>
void UpdateFilterParameters (FilterArgs &&...filterUpdateArgs)
 

Protected Member Functions

JPL_INLINE float ApplyAttenuationFilter (float sample, uint32 fdnIndex)
 

Protected Attributes

std::array< uint32, NumChannels > mDelaySamples
 
std::array< DelayLine< 1 >, NumChannels > mDelays
 
std::array< AttenuationFilter, NumChannels > mAttenuationFilters
 
float mInvSampleRate = 1.0f / 48'000.0f
 

Member Typedef Documentation

◆ Channels

template<uint32 NumChannels, class AttenuationFilter >
using JPL::MultiChannelFeedbackBase< NumChannels, AttenuationFilter >::Channels = std::array<float, NumChannels>

Member Function Documentation

◆ ApplyAttenuationFilter()

template<uint32 NumChannels, class AttenuationFilter >
JPL_INLINE float JPL::MultiChannelFeedbackBase< NumChannels, AttenuationFilter >::ApplyAttenuationFilter ( float  sample,
uint32  fdnIndex 
)
inlineprotected

◆ Prepare()

template<uint32 NumChannels, class AttenuationFilter >
template<class ... FilterArgs>
void JPL::MultiChannelFeedbackBase< NumChannels, AttenuationFilter >::Prepare ( float  sampleRate,
FilterArgs &&...  filterPrepareArgs 
)
inline

◆ UpdateFilterParameters()

template<uint32 NumChannels, class AttenuationFilter >
template<class ... FilterArgs>
void JPL::MultiChannelFeedbackBase< NumChannels, AttenuationFilter >::UpdateFilterParameters ( FilterArgs &&...  filterUpdateArgs)
inline

Member Data Documentation

◆ mAttenuationFilters

template<uint32 NumChannels, class AttenuationFilter >
std::array<AttenuationFilter, NumChannels> JPL::MultiChannelFeedbackBase< NumChannels, AttenuationFilter >::mAttenuationFilters
protected

◆ mDelays

template<uint32 NumChannels, class AttenuationFilter >
std::array<DelayLine<1>, NumChannels> JPL::MultiChannelFeedbackBase< NumChannels, AttenuationFilter >::mDelays
protected

◆ mDelaySamples

template<uint32 NumChannels, class AttenuationFilter >
std::array<uint32, NumChannels> JPL::MultiChannelFeedbackBase< NumChannels, AttenuationFilter >::mDelaySamples
protected

◆ mInvSampleRate

template<uint32 NumChannels, class AttenuationFilter >
float JPL::MultiChannelFeedbackBase< NumChannels, AttenuationFilter >::mInvSampleRate = 1.0f / 48'000.0f
protected

The documentation for this struct was generated from the following file: