LMMS
Loading...
Searching...
No Matches
juce::dsp::ProcessContextNonReplacing< ContextSampleType > Struct Template Reference

#include <juce_ProcessContext.h>

Public Types

using SampleType = ContextSampleType
using AudioBlockType = AudioBlock<SampleType>
using ConstAudioBlockType = AudioBlock<const SampleType>

Public Member Functions

 ProcessContextNonReplacing (const ConstAudioBlockType &input, AudioBlockType &output) noexcept
 ProcessContextNonReplacing (const ProcessContextNonReplacing &)=default
 ProcessContextNonReplacing (ProcessContextNonReplacing &&)=default
const ConstAudioBlockTypegetInputBlock () const noexcept
AudioBlockTypegetOutputBlock () const noexcept

Static Public Member Functions

static constexpr bool usesSeparateInputAndOutputBlocks ()

Public Attributes

bool isBypassed = false

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!

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

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