JUCE  v6.1.6 (6.0.8-1114)
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 ConstAudioBlockType = AudioBlock< const SampleType >
 
using SampleType = ContextSampleType
 The type of a single sample (which may be a vector if multichannel). More...
 

Public Member Functions

 ProcessContextNonReplacing (const ConstAudioBlockType &input, AudioBlockType &output) noexcept
 Creates a ProcessContextNonReplacing that uses the given input and output blocks. More...
 
 ProcessContextNonReplacing (const ProcessContextNonReplacing &)=default
 
 ProcessContextNonReplacing (ProcessContextNonReplacing &&)=default
 
const ConstAudioBlockTypegetInputBlock () 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

ConstAudioBlockType inputBlock
 
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

@tags{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.

◆ ConstAudioBlockType

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

◆ 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 ConstAudioBlockType input,
AudioBlockType output 
)
inlinenoexcept

Creates a ProcessContextNonReplacing 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!

References juce::gl::input, jassert, and juce::gl::output.

◆ 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 ConstAudioBlockType& juce::dsp::ProcessContextNonReplacing< ContextSampleType >::getInputBlock ( ) const
inlinenoexcept

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

References juce::dsp::ProcessContextNonReplacing< ContextSampleType >::inputBlock.

◆ 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.

References juce::dsp::ProcessContextNonReplacing< ContextSampleType >::outputBlock.

◆ usesSeparateInputAndOutputBlocks()

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

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 >
ConstAudioBlockType 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: