OpenShot Audio Library | OpenShotAudio: juce::dsp::Convolution::Pimpl Struct Reference

OpenShot Audio Library | OpenShotAudio 0.3.0

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
juce::dsp::Convolution::Pimpl Struct Reference
Inheritance diagram for juce::dsp::Convolution::Pimpl:

## Public Types
enum class | ChangeRequest { changeEngine = 0 , changeSampleRate , changeMaximumBufferSize , changeSource , changeImpulseResponseSize , changeStereo , changeTrimming , changeNormalisation , changeIgnore , numChangeRequestTypes }
using | SourceType = ConvolutionEngine::ProcessingInformation::SourceType

## Public Member Functions
void | initProcessing (int maximumBufferSize)
void | addToFifo (ChangeRequest type, juce::var parameter)
void | addToFifo (ChangeRequest *types, juce::var *parameters, int numEntries)
void | readFromFifo (ChangeRequest &type, juce::var &parameter)
int | getNumRemainingEntries () const noexcept
void | processFifo ()
void | copyBufferToTemporaryLocation (dsp::AudioBlock< float > block)
void | reset ()
void | processSamples (const AudioBlock< const float > &input, AudioBlock< float > &output)

## Public Attributes
const int64 | maximumTimeInSamples = 10 * 96000

## Detailed Description

Manages all the changes requested by the main convolution engine, to minimize the number of calls of the convolution engine initialization, and the potential consequences of multiple quick calls to the function Convolution::loadImpulseResponse.

Definition at line 337 of file juce_Convolution.cpp.

## Member Typedef Documentation

## ◆ SourceType

using juce::dsp::Convolution::Pimpl::SourceType = ConvolutionEngine::ProcessingInformation::SourceType

Definition at line 353 of file juce_Convolution.cpp.

## Member Enumeration Documentation

## ◆ ChangeRequest

enum class juce::dsp::Convolution::Pimpl::ChangeRequest
| strong

Definition at line 339 of file juce_Convolution.cpp.

## Constructor & Destructor Documentation

## ◆ Pimpl()

juce::dsp::Convolution::Pimpl::Pimpl | ( |  | ) |
| inline

Definition at line 356 of file juce_Convolution.cpp.

## ◆ ~Pimpl()

juce::dsp::Convolution::Pimpl::~Pimpl | ( |  | ) |
| inlineoverride

Definition at line 376 of file juce_Convolution.cpp.

## Member Function Documentation

## ◆ addToFifo() [1/2]

void juce::dsp::Convolution::Pimpl::addToFifo | ( | ChangeRequest * | types,
|  | juce::var * | parameters,
|  | int | numEntries
| ) |  |
| inline

Adds a new array of change requests.

Definition at line 418 of file juce_Convolution.cpp.

## ◆ addToFifo() [2/2]

void juce::dsp::Convolution::Pimpl::addToFifo | ( | ChangeRequest | type,
|  | juce::var | parameter
| ) |  |
| inline

Adds a new change request.

Definition at line 393 of file juce_Convolution.cpp.

## ◆ copyBufferToTemporaryLocation()

void juce::dsp::Convolution::Pimpl::copyBufferToTemporaryLocation | ( | dsp::AudioBlock< float > | block | ) |
| inline

This function copies a buffer to a temporary location, so that any external audio source can be processed then in the dedicated thread.

Definition at line 695 of file juce_Convolution.cpp.

Referenced by processFifo().

## ◆ getNumRemainingEntries()

int juce::dsp::Convolution::Pimpl::getNumRemainingEntries | ( |  | ) | const
| inlinenoexcept

Returns the number of requests that still need to be processed.

Definition at line 470 of file juce_Convolution.cpp.

Referenced by processFifo().

## ◆ initProcessing()

void juce::dsp::Convolution::Pimpl::initProcessing | ( | int | maximumBufferSize | ) |
| inline

Inits the size of the interpolation buffer.

Definition at line 383 of file juce_Convolution.cpp.

## ◆ processFifo()

void juce::dsp::Convolution::Pimpl::processFifo | ( |  | ) |
| inline

This function processes all the change requests to remove all the the redundant ones, and to tell what kind of initialization must be done.

Depending on the results, the convolution engines might be reset, or simply updated, or they might not need any change at all.

Definition at line 482 of file juce_Convolution.cpp.

Referenced by processSamples(), and reset().

## ◆ processSamples()

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

Convolution processing handling interpolation between previous and new states of the convolution engines.

Definition at line 721 of file juce_Convolution.cpp.

Referenced by processSamples().

## ◆ readFromFifo()

void juce::dsp::Convolution::Pimpl::readFromFifo | ( | ChangeRequest & | type,
|  | juce::var & | parameter
| ) |  |
| inline

Reads requests from the fifo.

Definition at line 449 of file juce_Convolution.cpp.

Referenced by processFifo().

## ◆ reset()

void juce::dsp::Convolution::Pimpl::reset | ( |  | ) |
| inline

Resets the convolution engines states.

Definition at line 708 of file juce_Convolution.cpp.

## Member Data Documentation

## ◆ maximumTimeInSamples

const int64 juce::dsp::Convolution::Pimpl::maximumTimeInSamples = 10 * 96000

Definition at line 775 of file juce_Convolution.cpp.

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

- juce_Convolution.cpp