Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
dsp::ProcessContextNonReplacing< ContextSampleType > Struct Template Reference

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

Public Types

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

Detailed Description

template<typename ContextSampleType>
struct 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

Member Typedef Documentation

◆ SampleType

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

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

◆ AudioBlockType

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

The type of audio block that this context handles.

Constructor & Destructor Documentation

◆ ProcessContextNonReplacing() [1/3]

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

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 >
dsp::ProcessContextNonReplacing< ContextSampleType >::ProcessContextNonReplacing ( const ProcessContextNonReplacing< ContextSampleType > &  )
default

◆ ProcessContextNonReplacing() [3/3]

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

Member Function Documentation

◆ getInputBlock()

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

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

◆ getOutputBlock()

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

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

◆ usesSeparateInputAndOutputBlocks()

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

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

◆ isBypassed

template<typename ContextSampleType >
bool 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.


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