LMMS
Loading...
Searching...
No Matches
juce::dsp::Convolution::Impl Class Reference

Public Member Functions

 Impl (Latency requiredLatency, NonUniform requiredHeadSize, OptionalQueue &&queue)
void reset ()
void prepare (const ProcessSpec &spec)
void processSamples (const AudioBlock< const float > &input, AudioBlock< float > &output)
int getCurrentIRSize () const
int getLatency () const
void loadImpulseResponse (AudioBuffer< float > &&buffer, double originalSampleRate, Stereo stereo, Trim trim, Normalise normalise)
void loadImpulseResponse (const void *sourceData, size_t sourceDataSize, Stereo stereo, Trim trim, size_t size, Normalise normalise)
void loadImpulseResponse (const File &fileImpulseResponse, Stereo stereo, Trim trim, size_t size, Normalise normalise)

Private Member Functions

void destroyPreviousEngine ()
void installNewEngine (std::unique_ptr< MultichannelEngine > newEngine)
void installPendingEngine ()

Private Attributes

OptionalQueue messageQueue
std::shared_ptr< ConvolutionEngineQueueengineQueue
std::unique_ptr< MultichannelEnginepreviousEngine
std::unique_ptr< MultichannelEnginecurrentEngine
CrossoverMixer mixer

Constructor & Destructor Documentation

◆ Impl()

juce::dsp::Convolution::Impl::Impl ( Latency requiredLatency,
NonUniform requiredHeadSize,
OptionalQueue && queue )
inline

Member Function Documentation

◆ destroyPreviousEngine()

void juce::dsp::Convolution::Impl::destroyPreviousEngine ( )
inlineprivate

◆ getCurrentIRSize()

int juce::dsp::Convolution::Impl::getCurrentIRSize ( ) const
inline

◆ getLatency()

int juce::dsp::Convolution::Impl::getLatency ( ) const
inline

◆ installNewEngine()

void juce::dsp::Convolution::Impl::installNewEngine ( std::unique_ptr< MultichannelEngine > newEngine)
inlineprivate

◆ installPendingEngine()

void juce::dsp::Convolution::Impl::installPendingEngine ( )
inlineprivate

◆ loadImpulseResponse() [1/3]

void juce::dsp::Convolution::Impl::loadImpulseResponse ( AudioBuffer< float > && buffer,
double originalSampleRate,
Stereo stereo,
Trim trim,
Normalise normalise )
inline

◆ loadImpulseResponse() [2/3]

void juce::dsp::Convolution::Impl::loadImpulseResponse ( const File & fileImpulseResponse,
Stereo stereo,
Trim trim,
size_t size,
Normalise normalise )
inline

◆ loadImpulseResponse() [3/3]

void juce::dsp::Convolution::Impl::loadImpulseResponse ( const void * sourceData,
size_t sourceDataSize,
Stereo stereo,
Trim trim,
size_t size,
Normalise normalise )
inline

◆ prepare()

void juce::dsp::Convolution::Impl::prepare ( const ProcessSpec & spec)
inline

◆ processSamples()

void juce::dsp::Convolution::Impl::processSamples ( const AudioBlock< const float > & input,
AudioBlock< float > & output )
inline

◆ reset()

void juce::dsp::Convolution::Impl::reset ( )
inline

Member Data Documentation

◆ currentEngine

std::unique_ptr<MultichannelEngine> juce::dsp::Convolution::Impl::currentEngine
private

◆ engineQueue

std::shared_ptr<ConvolutionEngineQueue> juce::dsp::Convolution::Impl::engineQueue
private

◆ messageQueue

OptionalQueue juce::dsp::Convolution::Impl::messageQueue
private

◆ mixer

CrossoverMixer juce::dsp::Convolution::Impl::mixer
private

◆ previousEngine

std::unique_ptr<MultichannelEngine> juce::dsp::Convolution::Impl::previousEngine
private

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