JUCE  v5.4.1-191-g0ab5e696f
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::dsp::ProcessContextNonReplacing< ContextSampleType > Struct Template Reference

Contains context information that is passed into an algorithm's process method. More...

#include <juce_ProcessContext.h>

Collaboration diagram for juce::dsp::ProcessContextNonReplacing< ContextSampleType >:

Public Types

using AudioBlockType = AudioBlock< SampleType >
 The type of audio block that this context handles. More...
 
using SampleType = ContextSampleType
 The type of a single sample (which may be a vector if multichannel). More...
 

Public Member Functions

 ProcessContextNonReplacing (const AudioBlockType &input, AudioBlockType &output) noexcept
 Creates a ProcessContextReplacing that uses the given input and output blocks. More...
 
 ProcessContextNonReplacing (const ProcessContextNonReplacing &)=default
 
 ProcessContextNonReplacing (ProcessContextNonReplacing &&)=default
 
const AudioBlockTypegetInputBlock () const noexcept
 Returns the audio block to use as the input to a process function. More...
 
AudioBlockTypegetOutputBlock () const noexcept
 Returns the audio block to use as the output to a process function. More...
 

Static Public Member Functions

static constexpr bool usesSeparateInputAndOutputBlocks ()
 All process context classes will define this constant method so that templated code can determine whether the input and output blocks refer to the same buffer, or to two different ones. More...
 

Public Attributes

bool isBypassed = false
 If set to true, then a processor's process() method is expected to do whatever is appropriate for it to be in a bypassed state. More...
 

Private Attributes

const AudioBlockTypeinputBlock
 
AudioBlockTypeoutputBlock
 

Detailed Description

template<typename ContextSampleType>
struct juce::dsp::ProcessContextNonReplacing< ContextSampleType >

Contains context information that is passed into an algorithm's process method.

This context is intended for use in situations where two different blocks are being used the input and output to the process algorithm, so the processor must read from the block returned by getInputBlock() and write its results to the block returned by getOutputBlock().

See also
ProcessContextReplacing

{DSP}

Member Typedef Documentation

◆ AudioBlockType

template<typename ContextSampleType >
using juce::dsp::ProcessContextNonReplacing< ContextSampleType >::AudioBlockType = AudioBlock<SampleType>

The type of audio block that this context handles.

◆ SampleType

template<typename ContextSampleType >
using juce::dsp::ProcessContextNonReplacing< ContextSampleType >::SampleType = ContextSampleType

The type of a single sample (which may be a vector if multichannel).

Constructor & Destructor Documentation

◆ ProcessContextNonReplacing() [1/3]

template<typename ContextSampleType >
juce::dsp::ProcessContextNonReplacing< ContextSampleType >::ProcessContextNonReplacing ( const AudioBlockType input,
AudioBlockType output 
)
inlinenoexcept

Creates a ProcessContextReplacing that uses the given input and output blocks.

Note that the caller must not delete these blocks while they are still in use by this object!

◆ ProcessContextNonReplacing() [2/3]

template<typename ContextSampleType >
juce::dsp::ProcessContextNonReplacing< ContextSampleType >::ProcessContextNonReplacing ( const ProcessContextNonReplacing< ContextSampleType > &  )
default

◆ ProcessContextNonReplacing() [3/3]

template<typename ContextSampleType >
juce::dsp::ProcessContextNonReplacing< ContextSampleType >::ProcessContextNonReplacing ( ProcessContextNonReplacing< ContextSampleType > &&  )
default

Member Function Documentation

◆ getInputBlock()

template<typename ContextSampleType >
const AudioBlockType& juce::dsp::ProcessContextNonReplacing< ContextSampleType >::getInputBlock ( ) const
inlinenoexcept

Returns the audio block to use as the input to a process function.

◆ getOutputBlock()

template<typename ContextSampleType >
AudioBlockType& juce::dsp::ProcessContextNonReplacing< ContextSampleType >::getOutputBlock ( ) const
inlinenoexcept

Returns the audio block to use as the output to a process function.

◆ usesSeparateInputAndOutputBlocks()

template<typename ContextSampleType >
static constexpr bool juce::dsp::ProcessContextNonReplacing< ContextSampleType >::usesSeparateInputAndOutputBlocks ( )
inlinestatic

All process context classes will define this constant method so that templated code can determine whether the input and output blocks refer to the same buffer, or to two different ones.

Member Data Documentation

◆ inputBlock

template<typename ContextSampleType >
const AudioBlockType& juce::dsp::ProcessContextNonReplacing< ContextSampleType >::inputBlock
private

◆ isBypassed

template<typename ContextSampleType >
bool juce::dsp::ProcessContextNonReplacing< ContextSampleType >::isBypassed = false

If set to true, then a processor's process() method is expected to do whatever is appropriate for it to be in a bypassed state.

◆ outputBlock

template<typename ContextSampleType >
AudioBlockType& juce::dsp::ProcessContextNonReplacing< ContextSampleType >::outputBlock
private

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