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::AudioBlock< SampleType > Class Template Reference

Minimal and lightweight data-structure which contains a list of pointers to channels containing some kind of sample data. More...

#include <juce_AudioBlock.h>

Inheritance diagram for juce::dsp::AudioBlock< SampleType >:
Collaboration diagram for juce::dsp::AudioBlock< SampleType >:

Public Types

using NumericType = typename SampleTypeHelpers::ElementType< SampleType >::Type
 

Public Member Functions

 AudioBlock () noexcept=default
 Create a zero-sized AudioBlock. More...
 
template<typename OtherSampleType >
constexpr AudioBlock (AudioBuffer< OtherSampleType > &buffer) noexcept
 Creates an AudioBlock that points to the data in an AudioBuffer. More...
 
template<typename OtherSampleType >
 AudioBlock (AudioBuffer< OtherSampleType > &buffer, size_t startSampleIndex) noexcept
 Creates an AudioBlock that points to the data in an AudioBuffer. More...
 
 AudioBlock (const AudioBlock &other) noexcept=default
 
template<typename OtherSampleType , MayUseConvertingConstructor< OtherSampleType > = 0>
 AudioBlock (const AudioBlock< OtherSampleType > &other) noexcept
 
template<typename OtherSampleType >
constexpr AudioBlock (const AudioBuffer< OtherSampleType > &buffer) noexcept
 Creates an AudioBlock that points to the data in an AudioBuffer. More...
 
 AudioBlock (HeapBlock< char > &heapBlockToUseForAllocation, size_t numberOfChannels, size_t numberOfSamples, size_t alignmentInBytes=defaultAlignment) noexcept
 Allocates a suitable amount of space in a HeapBlock, and initialises this object to point into it. More...
 
constexpr AudioBlock (SampleType *const *channelData, size_t numberOfChannels, size_t numberOfSamples) noexcept
 Creates an AudioBlock from a pointer to an array of channels. More...
 
constexpr AudioBlock (SampleType *const *channelData, size_t numberOfChannels, size_t startSampleIndex, size_t numberOfSamples) noexcept
 Creates an AudioBlock from a pointer to an array of channels. More...
 
template<typename OtherSampleType >
const AudioBlockadd (AudioBlock< OtherSampleType > src) const noexcept
 
template<typename OtherSampleType >
AudioBlockadd (AudioBlock< OtherSampleType > src) noexcept
 Adds the elements in the src block to the elements in this block. More...
 
const AudioBlock &JUCE_VECTOR_CALLTYPE add (NumericType value) const noexcept
 
AudioBlock &JUCE_VECTOR_CALLTYPE add (NumericType value) noexcept
 Adds a fixed value to the elements in this block. More...
 
template<typename OtherSampleType >
const AudioBlock &JUCE_VECTOR_CALLTYPE addProductOf (AudioBlock< OtherSampleType > src, NumericType factor) const noexcept
 
template<typename OtherSampleType >
AudioBlock &JUCE_VECTOR_CALLTYPE addProductOf (AudioBlock< OtherSampleType > src, NumericType factor) noexcept
 Multiplies each value in src by a fixed value and adds the result to this block. More...
 
template<typename Src1SampleType , typename Src2SampleType >
const AudioBlockaddProductOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept
 
template<typename Src1SampleType , typename Src2SampleType >
AudioBlockaddProductOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) noexcept
 Multiplies each value in srcA with the corresponding value in srcB and adds the result to this block. More...
 
void addSample (int destChannel, int destSample, SampleType valueToAdd) const noexcept
 Adds a value to a sample in the buffer. More...
 
const AudioBlockclear () const noexcept
 
AudioBlockclear () noexcept
 Clears the memory referenced by this AudioBlock. More...
 
template<typename OtherSampleType >
const AudioBlockcopyFrom (const AudioBlock< OtherSampleType > &src) const noexcept
 
template<typename OtherSampleType >
AudioBlockcopyFrom (const AudioBlock< OtherSampleType > &src) noexcept
 Copies the values in src to this block. More...
 
template<typename OtherNumericType >
AudioBlockcopyFrom (const AudioBuffer< OtherNumericType > &src, size_t srcPos=0, size_t dstPos=0, size_t numElements=std::numeric_limits< size_t >::max())
 Copy the values from an AudioBuffer to this block. More...
 
template<typename OtherNumericType >
const AudioBlockcopyFrom (const AudioBuffer< OtherNumericType > &src, size_t srcPos=0, size_t dstPos=0, size_t numElements=std::numeric_limits< size_t >::max()) const
 
void copyTo (AudioBuffer< typename std::remove_const< NumericType >::type > &dst, size_t srcPos=0, size_t dstPos=0, size_t numElements=std::numeric_limits< size_t >::max()) const
 Copies the values from this block to an AudioBuffer. More...
 
const AudioBlock &JUCE_VECTOR_CALLTYPE fill (NumericType value) const noexcept
 
AudioBlock &JUCE_VECTOR_CALLTYPE fill (NumericType value) noexcept
 Fills the memory referenced by this AudioBlock with value. More...
 
Range< typename std::remove_const< NumericType >::type > findMinAndMax () const noexcept
 Finds the minimum and maximum value of the buffer. More...
 
SampleType * getChannelPointer (size_t channel) const noexcept
 Returns a raw pointer into one of the channels in this block. More...
 
constexpr size_t getNumChannels () const noexcept
 Returns the number of channels referenced by this block. More...
 
constexpr size_t getNumSamples () const noexcept
 Returns the number of samples referenced by this block. More...
 
SampleType getSample (int channel, int sampleIndex) const noexcept
 Returns a sample from the buffer. More...
 
AudioBlock getSingleChannelBlock (size_t channel) const noexcept
 Returns an AudioBlock that represents one of the channels in this block. More...
 
AudioBlock getSubBlock (size_t newOffset) const noexcept
 Return a new AudioBlock pointing to a sub-block inside this block. More...
 
AudioBlock getSubBlock (size_t newOffset, size_t newLength) const noexcept
 Return a new AudioBlock pointing to a sub-block inside this block. More...
 
AudioBlock getSubsetChannelBlock (size_t channelStart, size_t numChannelsToUse) const noexcept
 Returns a subset of contiguous channels. More...
 
const AudioBlockmove (size_t srcPos, size_t dstPos, size_t numElements=std::numeric_limits< size_t >::max()) const noexcept
 
AudioBlockmove (size_t srcPos, size_t dstPos, size_t numElements=std::numeric_limits< size_t >::max()) noexcept
 Move memory within this block from the position srcPos to the position dstPos. More...
 
template<typename OtherSampleType >
const AudioBlockmultiplyBy (AudioBlock< OtherSampleType > src) const noexcept
 
template<typename OtherSampleType >
AudioBlockmultiplyBy (AudioBlock< OtherSampleType > src) noexcept
 Multiplies the elements in this block by the elements in the src block. More...
 
const AudioBlock &JUCE_VECTOR_CALLTYPE multiplyBy (NumericType value) const noexcept
 
AudioBlock &JUCE_VECTOR_CALLTYPE multiplyBy (NumericType value) noexcept
 Multiplies the elements in this block by a fixed value. More...
 
template<typename OtherSampleType , typename SmoothingType >
const AudioBlockmultiplyBy (SmoothedValue< OtherSampleType, SmoothingType > &value) const noexcept
 
template<typename OtherSampleType , typename SmoothingType >
AudioBlockmultiplyBy (SmoothedValue< OtherSampleType, SmoothingType > &value) noexcept
 Multiplies each channels of this block by a smoothly changing value. More...
 
const AudioBlocknegate () const noexcept
 
AudioBlocknegate () noexcept
 Negates each value of this block. More...
 
template<typename OtherSampleType >
constexpr bool operator!= (const AudioBlock< OtherSampleType > &other) const noexcept
 
const AudioBlockoperator*= (AudioBlock src) const noexcept
 
AudioBlockoperator*= (AudioBlock src) noexcept
 
const AudioBlock &JUCE_VECTOR_CALLTYPE operator*= (NumericType value) const noexcept
 
AudioBlock &JUCE_VECTOR_CALLTYPE operator*= (NumericType value) noexcept
 
template<typename OtherSampleType , typename SmoothingType >
const AudioBlockoperator*= (SmoothedValue< OtherSampleType, SmoothingType > &value) const noexcept
 
template<typename OtherSampleType , typename SmoothingType >
AudioBlockoperator*= (SmoothedValue< OtherSampleType, SmoothingType > &value) noexcept
 
const AudioBlockoperator+= (AudioBlock src) const noexcept
 
AudioBlockoperator+= (AudioBlock src) noexcept
 
const AudioBlock &JUCE_VECTOR_CALLTYPE operator+= (NumericType value) const noexcept
 
AudioBlock &JUCE_VECTOR_CALLTYPE operator+= (NumericType value) noexcept
 
const AudioBlockoperator-= (AudioBlock src) const noexcept
 
AudioBlockoperator-= (AudioBlock src) noexcept
 
const AudioBlock &JUCE_VECTOR_CALLTYPE operator-= (NumericType value) const noexcept
 
AudioBlock &JUCE_VECTOR_CALLTYPE operator-= (NumericType value) noexcept
 
AudioBlockoperator= (const AudioBlock &other) noexcept=default
 
template<typename OtherSampleType , MayUseConvertingConstructor< OtherSampleType > = 0>
AudioBlockoperator= (const AudioBlock< OtherSampleType > &other) noexcept
 
template<typename OtherSampleType >
constexpr bool operator== (const AudioBlock< OtherSampleType > &other) const noexcept
 
template<typename OtherSampleType >
const AudioBlockreplaceWithAbsoluteValueOf (AudioBlock< OtherSampleType > src) const noexcept
 
template<typename OtherSampleType >
AudioBlockreplaceWithAbsoluteValueOf (AudioBlock< OtherSampleType > src) noexcept
 Replaces the contents of this block with the absolute values of the src block. More...
 
template<typename OtherSampleType >
const AudioBlock &JUCE_VECTOR_CALLTYPE replaceWithDifferenceOf (AudioBlock< OtherSampleType > src, NumericType value) const noexcept
 
template<typename OtherSampleType >
AudioBlock &JUCE_VECTOR_CALLTYPE replaceWithDifferenceOf (AudioBlock< OtherSampleType > src, NumericType value) noexcept
 Subtracts a fixed value from each source value and replaces the contents of this block. More...
 
template<typename Src1SampleType , typename Src2SampleType >
const AudioBlockreplaceWithDifferenceOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept
 
template<typename Src1SampleType , typename Src2SampleType >
AudioBlockreplaceWithDifferenceOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) noexcept
 Subtracts each source2 value from the corresponding source1 value and replaces the contents of this block. More...
 
template<typename Src1SampleType , typename Src2SampleType >
const AudioBlockreplaceWithMaxOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept
 
template<typename Src1SampleType , typename Src2SampleType >
AudioBlockreplaceWithMaxOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) noexcept
 Replaces each element of this block with the maximum of the corresponding element of the source arrays. More...
 
template<typename Src1SampleType , typename Src2SampleType >
const AudioBlockreplaceWithMinOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept
 
template<typename Src1SampleType , typename Src2SampleType >
AudioBlockreplaceWithMinOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) noexcept
 Replaces each element of this block with the minimum of the corresponding element of the source arrays. More...
 
template<typename OtherSampleType >
const AudioBlockreplaceWithNegativeOf (AudioBlock< OtherSampleType > src) const noexcept
 
template<typename OtherSampleType >
AudioBlockreplaceWithNegativeOf (AudioBlock< OtherSampleType > src) noexcept
 Replaces the contents of this block with the negative of the values in the src block. More...
 
template<typename BlockSampleType , typename SmootherSampleType , typename SmoothingType >
const AudioBlockreplaceWithProductOf (AudioBlock< BlockSampleType > src, SmoothedValue< SmootherSampleType, SmoothingType > &value) const noexcept
 
template<typename BlockSampleType , typename SmootherSampleType , typename SmoothingType >
AudioBlockreplaceWithProductOf (AudioBlock< BlockSampleType > src, SmoothedValue< SmootherSampleType, SmoothingType > &value) noexcept
 Replaces each channel of this block with the product of the src block and a smoothed value. More...
 
template<typename OtherSampleType >
const AudioBlock &JUCE_VECTOR_CALLTYPE replaceWithProductOf (AudioBlock< OtherSampleType > src, NumericType value) const noexcept
 
template<typename OtherSampleType >
AudioBlock &JUCE_VECTOR_CALLTYPE replaceWithProductOf (AudioBlock< OtherSampleType > src, NumericType value) noexcept
 Replaces the elements in this block with the product of the elements in the source src block and a fixed value. More...
 
template<typename Src1SampleType , typename Src2SampleType >
const AudioBlockreplaceWithProductOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept
 
template<typename Src1SampleType , typename Src2SampleType >
AudioBlockreplaceWithProductOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) noexcept
 Replaces the elements in this block with the product of the elements in the src1 and scr2 blocks. More...
 
template<typename OtherSampleType >
const AudioBlock &JUCE_VECTOR_CALLTYPE replaceWithSumOf (AudioBlock< OtherSampleType > src, NumericType value) const noexcept
 
template<typename OtherSampleType >
AudioBlock &JUCE_VECTOR_CALLTYPE replaceWithSumOf (AudioBlock< OtherSampleType > src, NumericType value) noexcept
 Adds a fixed value to each source value and replaces the contents of this block. More...
 
template<typename Src1SampleType , typename Src2SampleType >
const AudioBlockreplaceWithSumOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept
 
template<typename Src1SampleType , typename Src2SampleType >
AudioBlockreplaceWithSumOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) noexcept
 Adds each source1 value to the corresponding source2 value and replaces the contents of this block. More...
 
void setSample (int destChannel, int destSample, SampleType newValue) const noexcept
 Modifies a sample in the buffer. More...
 
template<typename OtherSampleType >
const AudioBlocksubtract (AudioBlock< OtherSampleType > src) const noexcept
 
template<typename OtherSampleType >
AudioBlocksubtract (AudioBlock< OtherSampleType > src) noexcept
 Subtracts the source values from the elements in this block. More...
 
const AudioBlock &JUCE_VECTOR_CALLTYPE subtract (NumericType value) const noexcept
 
AudioBlock &JUCE_VECTOR_CALLTYPE subtract (NumericType value) noexcept
 Subtracts a fixed value from the elements in this block. More...
 
void swap (AudioBlock &other) noexcept
 

Static Public Member Functions

template<typename Src1SampleType , typename Src2SampleType , typename FunctionType >
static void process (AudioBlock< Src1SampleType > inBlock, AudioBlock< Src2SampleType > outBlock, FunctionType &&function)
 Applies a function to each value in an input block, putting the result into an output block. More...
 

Private Types

using ChannelCountType = unsigned int
 
template<typename OtherSampleType >
using MayUseConvertingConstructor = std::enable_if_t< std::is_same< std::remove_const_t< SampleType >, std::remove_const_t< OtherSampleType > >::value &&std::is_const< SampleType >::value &&! std::is_const< OtherSampleType >::value, int >
 

Private Member Functions

template<typename OtherSampleType >
void addInternal (AudioBlock< OtherSampleType > src) const noexcept
 
void JUCE_VECTOR_CALLTYPE addInternal (NumericType value) const noexcept
 
template<typename OtherSampleType >
void JUCE_VECTOR_CALLTYPE addProductOfInternal (AudioBlock< OtherSampleType > src, NumericType factor) const noexcept
 
template<typename Src1SampleType , typename Src2SampleType >
void addProductOfInternal (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept
 
void JUCE_VECTOR_CALLTYPE clearInternal () const noexcept
 
template<typename OtherSampleType >
void copyFromInternal (const AudioBlock< OtherSampleType > &src) const noexcept
 
template<typename OtherNumericType >
void copyFromInternal (const AudioBuffer< OtherNumericType > &src, size_t srcPos, size_t dstPos, size_t numElements) const
 
void JUCE_VECTOR_CALLTYPE fillInternal (NumericType value) const noexcept
 
NumericTypegetDataPointer (size_t channel) const noexcept
 
void moveInternal (size_t srcPos, size_t dstPos, size_t numElements=std::numeric_limits< size_t >::max()) const noexcept
 
template<typename OtherSampleType >
void multiplyByInternal (AudioBlock< OtherSampleType > src) const noexcept
 
void JUCE_VECTOR_CALLTYPE multiplyByInternal (NumericType value) const noexcept
 
template<typename OtherSampleType , typename SmoothingType >
void multiplyByInternal (SmoothedValue< OtherSampleType, SmoothingType > &value) const noexcept
 
constexpr void negateInternal () const noexcept
 
template<typename OtherSampleType >
void replaceWithAbsoluteValueOfInternal (AudioBlock< OtherSampleType > src) const noexcept
 
template<typename OtherSampleType >
void JUCE_VECTOR_CALLTYPE replaceWithDifferenceOfInternal (AudioBlock< OtherSampleType > src, NumericType value) const noexcept
 
template<typename Src1SampleType , typename Src2SampleType >
void replaceWithDifferenceOfInternal (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept
 
template<typename Src1SampleType , typename Src2SampleType >
void replaceWithMaxOfInternal (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept
 
template<typename Src1SampleType , typename Src2SampleType >
void replaceWithMinOfInternal (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept
 
template<typename OtherSampleType >
void replaceWithNegativeOfInternal (AudioBlock< OtherSampleType > src) const noexcept
 
template<typename BlockSampleType , typename SmootherSampleType , typename SmoothingType >
void replaceWithProductOfInternal (AudioBlock< BlockSampleType > src, SmoothedValue< SmootherSampleType, SmoothingType > &value) const noexcept
 
template<typename OtherSampleType >
void JUCE_VECTOR_CALLTYPE replaceWithProductOfInternal (AudioBlock< OtherSampleType > src, NumericType value) const noexcept
 
template<typename Src1SampleType , typename Src2SampleType >
void replaceWithProductOfInternal (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept
 
template<typename OtherSampleType >
void JUCE_VECTOR_CALLTYPE replaceWithSumOfInternal (AudioBlock< OtherSampleType > src, NumericType value) const noexcept
 
template<typename Src1SampleType , typename Src2SampleType >
void replaceWithSumOfInternal (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept
 
template<typename OtherSampleType >
void subtractInternal (AudioBlock< OtherSampleType > src) const noexcept
 
constexpr void JUCE_VECTOR_CALLTYPE subtractInternal (NumericType value) const noexcept
 

Private Attributes

SampleType *const * channels
 
ChannelCountType numChannels = 0
 
size_t numSamples = 0
 
size_t startSample = 0
 

Static Private Attributes

static constexpr size_t byteMask = (sizeFactor * sizeof (NumericType)) - 1
 
static constexpr size_t defaultAlignment = sizeof (NumericType)
 
static constexpr size_t elementMask = sizeFactor - 1
 
static constexpr size_t sizeFactor = sizeof (SampleType) / sizeof (NumericType)
 

Friends

template<typename OtherSampleType >
class AudioBlock
 

Detailed Description

template<typename SampleType>
class juce::dsp::AudioBlock< SampleType >

Minimal and lightweight data-structure which contains a list of pointers to channels containing some kind of sample data.

This class doesn't own any of the data which it points to, it's simply a view into data that is owned elsewhere. You can construct one from some raw data that you've allocated yourself, or give it a HeapBlock to use, or give it an AudioBuffer which it can refer to, but in all cases the user is responsible for making sure that the data doesn't get deleted while there's still an AudioBlock using it.

@tags{DSP}

Member Typedef Documentation

◆ ChannelCountType

template<typename SampleType >
using juce::dsp::AudioBlock< SampleType >::ChannelCountType = unsigned int
private

◆ MayUseConvertingConstructor

template<typename SampleType >
template<typename OtherSampleType >
using juce::dsp::AudioBlock< SampleType >::MayUseConvertingConstructor = std::enable_if_t<std::is_same<std::remove_const_t<SampleType>, std::remove_const_t<OtherSampleType> >::value && std::is_const<SampleType>::value && ! std::is_const<OtherSampleType>::value, int>
private

◆ NumericType

template<typename SampleType >
using juce::dsp::AudioBlock< SampleType >::NumericType = typename SampleTypeHelpers::ElementType<SampleType>::Type

Constructor & Destructor Documentation

◆ AudioBlock() [1/9]

template<typename SampleType >
juce::dsp::AudioBlock< SampleType >::AudioBlock ( )
defaultnoexcept

Create a zero-sized AudioBlock.

◆ AudioBlock() [2/9]

template<typename SampleType >
constexpr juce::dsp::AudioBlock< SampleType >::AudioBlock ( SampleType *const *  channelData,
size_t  numberOfChannels,
size_t  numberOfSamples 
)
inlineconstexprnoexcept

Creates an AudioBlock from a pointer to an array of channels.

AudioBlock does not copy nor own the memory pointed to by dataToUse. Therefore it is the user's responsibility to ensure that the memory is retained throughout the life-time of the AudioBlock and released when no longer needed.

◆ AudioBlock() [3/9]

template<typename SampleType >
constexpr juce::dsp::AudioBlock< SampleType >::AudioBlock ( SampleType *const *  channelData,
size_t  numberOfChannels,
size_t  startSampleIndex,
size_t  numberOfSamples 
)
inlineconstexprnoexcept

Creates an AudioBlock from a pointer to an array of channels.

AudioBlock does not copy nor own the memory pointed to by dataToUse. Therefore it is the user's responsibility to ensure that the memory is retained throughout the life-time of the AudioBlock and released when no longer needed.

◆ AudioBlock() [4/9]

template<typename SampleType >
juce::dsp::AudioBlock< SampleType >::AudioBlock ( HeapBlock< char > &  heapBlockToUseForAllocation,
size_t  numberOfChannels,
size_t  numberOfSamples,
size_t  alignmentInBytes = defaultAlignment 
)
inlinenoexcept

Allocates a suitable amount of space in a HeapBlock, and initialises this object to point into it.

The HeapBlock must of course not be freed or re-allocated while this object is still in use, because it will be referencing its data.

◆ AudioBlock() [5/9]

template<typename SampleType >
template<typename OtherSampleType >
constexpr juce::dsp::AudioBlock< SampleType >::AudioBlock ( AudioBuffer< OtherSampleType > &  buffer)
inlineconstexprnoexcept

Creates an AudioBlock that points to the data in an AudioBuffer.

AudioBlock does not copy nor own the memory pointed to by dataToUse. Therefore it is the user's responsibility to ensure that the buffer is retained throughout the life-time of the AudioBlock without being modified.

◆ AudioBlock() [6/9]

template<typename SampleType >
template<typename OtherSampleType >
constexpr juce::dsp::AudioBlock< SampleType >::AudioBlock ( const AudioBuffer< OtherSampleType > &  buffer)
inlineconstexprnoexcept

Creates an AudioBlock that points to the data in an AudioBuffer.

AudioBlock does not copy nor own the memory pointed to by dataToUse. Therefore it is the user's responsibility to ensure that the buffer is retained throughout the life-time of the AudioBlock without being modified.

◆ AudioBlock() [7/9]

template<typename SampleType >
template<typename OtherSampleType >
juce::dsp::AudioBlock< SampleType >::AudioBlock ( AudioBuffer< OtherSampleType > &  buffer,
size_t  startSampleIndex 
)
inlinenoexcept

Creates an AudioBlock that points to the data in an AudioBuffer.

AudioBlock does not copy nor own the memory pointed to by dataToUse. Therefore it is the user's responsibility to ensure that the buffer is retained throughout the life-time of the AudioBlock without being modified.

◆ AudioBlock() [8/9]

template<typename SampleType >
juce::dsp::AudioBlock< SampleType >::AudioBlock ( const AudioBlock< SampleType > &  other)
defaultnoexcept

◆ AudioBlock() [9/9]

template<typename SampleType >
template<typename OtherSampleType , MayUseConvertingConstructor< OtherSampleType > = 0>
juce::dsp::AudioBlock< SampleType >::AudioBlock ( const AudioBlock< OtherSampleType > &  other)
inlinenoexcept

Member Function Documentation

◆ add() [1/4]

template<typename SampleType >
template<typename OtherSampleType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::add ( AudioBlock< OtherSampleType >  src) const
inlinenoexcept

◆ add() [2/4]

template<typename SampleType >
template<typename OtherSampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::add ( AudioBlock< OtherSampleType >  src)
inlinenoexcept

Adds the elements in the src block to the elements in this block.

◆ add() [3/4]

template<typename SampleType >
const AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::add ( NumericType  value) const
inlinenoexcept

◆ add() [4/4]

template<typename SampleType >
AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::add ( NumericType  value)
inlinenoexcept

Adds a fixed value to the elements in this block.

Referenced by juce::dsp::AudioBlock< const SampleType >::operator+=().

◆ addInternal() [1/2]

template<typename SampleType >
template<typename OtherSampleType >
void juce::dsp::AudioBlock< SampleType >::addInternal ( AudioBlock< OtherSampleType >  src) const
inlineprivatenoexcept

◆ addInternal() [2/2]

template<typename SampleType >
void JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::addInternal ( NumericType  value) const
inlineprivatenoexcept

◆ addProductOf() [1/4]

template<typename SampleType >
template<typename OtherSampleType >
const AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::addProductOf ( AudioBlock< OtherSampleType >  src,
NumericType  factor 
) const
inlinenoexcept

◆ addProductOf() [2/4]

template<typename SampleType >
template<typename OtherSampleType >
AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::addProductOf ( AudioBlock< OtherSampleType >  src,
NumericType  factor 
)
inlinenoexcept

Multiplies each value in src by a fixed value and adds the result to this block.

◆ addProductOf() [3/4]

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::addProductOf ( AudioBlock< Src1SampleType >  src1,
AudioBlock< Src2SampleType >  src2 
) const
inlinenoexcept

◆ addProductOf() [4/4]

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::addProductOf ( AudioBlock< Src1SampleType >  src1,
AudioBlock< Src2SampleType >  src2 
)
inlinenoexcept

Multiplies each value in srcA with the corresponding value in srcB and adds the result to this block.

◆ addProductOfInternal() [1/2]

template<typename SampleType >
template<typename OtherSampleType >
void JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::addProductOfInternal ( AudioBlock< OtherSampleType >  src,
NumericType  factor 
) const
inlineprivatenoexcept

◆ addProductOfInternal() [2/2]

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType >
void juce::dsp::AudioBlock< SampleType >::addProductOfInternal ( AudioBlock< Src1SampleType >  src1,
AudioBlock< Src2SampleType >  src2 
) const
inlineprivatenoexcept

◆ addSample()

template<typename SampleType >
void juce::dsp::AudioBlock< SampleType >::addSample ( int  destChannel,
int  destSample,
SampleType  valueToAdd 
) const
inlinenoexcept

Adds a value to a sample in the buffer.

The channel and index are not checked - they are expected to be in-range. If not, an assertion will be thrown, but in a release build, you're into 'undefined behaviour' territory.

◆ clear() [1/2]

template<typename SampleType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::clear ( ) const
inlinenoexcept

◆ clear() [2/2]

template<typename SampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::clear ( )
inlinenoexcept

Clears the memory referenced by this AudioBlock.

◆ clearInternal()

template<typename SampleType >
void JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::clearInternal ( ) const
inlineprivatenoexcept

◆ copyFrom() [1/4]

template<typename SampleType >
template<typename OtherSampleType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::copyFrom ( const AudioBlock< OtherSampleType > &  src) const
inlinenoexcept

◆ copyFrom() [2/4]

template<typename SampleType >
template<typename OtherSampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::copyFrom ( const AudioBlock< OtherSampleType > &  src)
inlinenoexcept

Copies the values in src to this block.

◆ copyFrom() [3/4]

template<typename SampleType >
template<typename OtherNumericType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::copyFrom ( const AudioBuffer< OtherNumericType > &  src,
size_t  srcPos = 0,
size_t  dstPos = 0,
size_t  numElements = std::numeric_limits<size_t>::max() 
)
inline

Copy the values from an AudioBuffer to this block.

All indices and sizes are in this AudioBlock's units, i.e. if SampleType is a SIMDRegister then incrementing srcPos by one will increase the sample position in the AudioBuffer's units by a factor of SIMDRegister<SampleType>::SIMDNumElements.

◆ copyFrom() [4/4]

template<typename SampleType >
template<typename OtherNumericType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::copyFrom ( const AudioBuffer< OtherNumericType > &  src,
size_t  srcPos = 0,
size_t  dstPos = 0,
size_t  numElements = std::numeric_limits<size_t>::max() 
) const
inline

◆ copyFromInternal() [1/2]

template<typename SampleType >
template<typename OtherSampleType >
void juce::dsp::AudioBlock< SampleType >::copyFromInternal ( const AudioBlock< OtherSampleType > &  src) const
inlineprivatenoexcept

◆ copyFromInternal() [2/2]

template<typename SampleType >
template<typename OtherNumericType >
void juce::dsp::AudioBlock< SampleType >::copyFromInternal ( const AudioBuffer< OtherNumericType > &  src,
size_t  srcPos,
size_t  dstPos,
size_t  numElements 
) const
inlineprivate

◆ copyTo()

template<typename SampleType >
void juce::dsp::AudioBlock< SampleType >::copyTo ( AudioBuffer< typename std::remove_const< NumericType >::type > &  dst,
size_t  srcPos = 0,
size_t  dstPos = 0,
size_t  numElements = std::numeric_limits<size_t>::max() 
) const
inline

Copies the values from this block to an AudioBuffer.

All indices and sizes are in this AudioBlock's units, i.e. if SampleType is a SIMDRegister then incrementing dstPos by one will increase the sample position in the AudioBuffer's units by a factor of SIMDRegister<SampleType>::SIMDNumElements.

◆ fill() [1/2]

template<typename SampleType >
const AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::fill ( NumericType  value) const
inlinenoexcept

◆ fill() [2/2]

template<typename SampleType >
AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::fill ( NumericType  value)
inlinenoexcept

Fills the memory referenced by this AudioBlock with value.

◆ fillInternal()

template<typename SampleType >
void JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::fillInternal ( NumericType  value) const
inlineprivatenoexcept

◆ findMinAndMax()

template<typename SampleType >
Range<typename std::remove_const<NumericType>::type> juce::dsp::AudioBlock< SampleType >::findMinAndMax ( ) const
inlinenoexcept

Finds the minimum and maximum value of the buffer.

◆ getChannelPointer()

template<typename SampleType >
SampleType* juce::dsp::AudioBlock< SampleType >::getChannelPointer ( size_t  channel) const
inlinenoexcept

◆ getDataPointer()

◆ getNumChannels()

template<typename SampleType >
constexpr size_t juce::dsp::AudioBlock< SampleType >::getNumChannels ( ) const
inlineconstexprnoexcept

Returns the number of channels referenced by this block.

Referenced by juce::dsp::AudioBlock< const SampleType >::process().

◆ getNumSamples()

template<typename SampleType >
constexpr size_t juce::dsp::AudioBlock< SampleType >::getNumSamples ( ) const
inlineconstexprnoexcept

Returns the number of samples referenced by this block.

Referenced by juce::dsp::AudioBlock< const SampleType >::getSubBlock(), and juce::dsp::AudioBlock< const SampleType >::process().

◆ getSample()

template<typename SampleType >
SampleType juce::dsp::AudioBlock< SampleType >::getSample ( int  channel,
int  sampleIndex 
) const
inlinenoexcept

Returns a sample from the buffer.

The channel and index are not checked - they are expected to be in-range. If not, an assertion will be thrown, but in a release build, you're into 'undefined behaviour' territory.

◆ getSingleChannelBlock()

template<typename SampleType >
AudioBlock juce::dsp::AudioBlock< SampleType >::getSingleChannelBlock ( size_t  channel) const
inlinenoexcept

Returns an AudioBlock that represents one of the channels in this block.

◆ getSubBlock() [1/2]

template<typename SampleType >
AudioBlock juce::dsp::AudioBlock< SampleType >::getSubBlock ( size_t  newOffset) const
inlinenoexcept

Return a new AudioBlock pointing to a sub-block inside this block.

This function does not copy the memory and you must ensure that the original memory pointed to by the receiver remains valid through-out the life-time of the returned sub-block.

Parameters
newOffsetThe index of an element inside the block which will will become the first element of the return value. The return value will include all subsequent elements of the receiver.

◆ getSubBlock() [2/2]

template<typename SampleType >
AudioBlock juce::dsp::AudioBlock< SampleType >::getSubBlock ( size_t  newOffset,
size_t  newLength 
) const
inlinenoexcept

Return a new AudioBlock pointing to a sub-block inside this block.

This function does not copy the memory and you must ensure that the original memory pointed to by the receiver remains valid through-out the life-time of the returned sub-block.

Parameters
newOffsetThe index of an element inside the receiver which will will become the first element of the return value.
newLengthThe number of elements of the newly created sub-block.

Referenced by juce::dsp::AudioBlock< const SampleType >::getSubBlock(), juce::dsp::Phaser< SampleType >::process(), and juce::dsp::Chorus< SampleType >::process().

◆ getSubsetChannelBlock()

template<typename SampleType >
AudioBlock juce::dsp::AudioBlock< SampleType >::getSubsetChannelBlock ( size_t  channelStart,
size_t  numChannelsToUse 
) const
inlinenoexcept

Returns a subset of contiguous channels.

Parameters
channelStartFirst channel of the subset
numChannelsToUseCount of channels in the subset

◆ move() [1/2]

template<typename SampleType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::move ( size_t  srcPos,
size_t  dstPos,
size_t  numElements = std::numeric_limits<size_t>::max() 
) const
inlinenoexcept

◆ move() [2/2]

template<typename SampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::move ( size_t  srcPos,
size_t  dstPos,
size_t  numElements = std::numeric_limits<size_t>::max() 
)
inlinenoexcept

Move memory within this block from the position srcPos to the position dstPos.

If numElements is not specified then move will move the maximum amount of memory.

◆ moveInternal()

template<typename SampleType >
void juce::dsp::AudioBlock< SampleType >::moveInternal ( size_t  srcPos,
size_t  dstPos,
size_t  numElements = std::numeric_limits<size_t>::max() 
) const
inlineprivatenoexcept

◆ multiplyBy() [1/6]

template<typename SampleType >
template<typename OtherSampleType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::multiplyBy ( AudioBlock< OtherSampleType >  src) const
inlinenoexcept

◆ multiplyBy() [2/6]

template<typename SampleType >
template<typename OtherSampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::multiplyBy ( AudioBlock< OtherSampleType >  src)
inlinenoexcept

Multiplies the elements in this block by the elements in the src block.

◆ multiplyBy() [3/6]

template<typename SampleType >
const AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::multiplyBy ( NumericType  value) const
inlinenoexcept

◆ multiplyBy() [4/6]

template<typename SampleType >
AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::multiplyBy ( NumericType  value)
inlinenoexcept

Multiplies the elements in this block by a fixed value.

Referenced by juce::dsp::AudioBlock< const SampleType >::operator*=().

◆ multiplyBy() [5/6]

template<typename SampleType >
template<typename OtherSampleType , typename SmoothingType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::multiplyBy ( SmoothedValue< OtherSampleType, SmoothingType > &  value) const
inlinenoexcept

◆ multiplyBy() [6/6]

template<typename SampleType >
template<typename OtherSampleType , typename SmoothingType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::multiplyBy ( SmoothedValue< OtherSampleType, SmoothingType > &  value)
inlinenoexcept

Multiplies each channels of this block by a smoothly changing value.

◆ multiplyByInternal() [1/3]

template<typename SampleType >
template<typename OtherSampleType >
void juce::dsp::AudioBlock< SampleType >::multiplyByInternal ( AudioBlock< OtherSampleType >  src) const
inlineprivatenoexcept

◆ multiplyByInternal() [2/3]

◆ multiplyByInternal() [3/3]

template<typename SampleType >
template<typename OtherSampleType , typename SmoothingType >
void juce::dsp::AudioBlock< SampleType >::multiplyByInternal ( SmoothedValue< OtherSampleType, SmoothingType > &  value) const
inlineprivatenoexcept

◆ negate() [1/2]

template<typename SampleType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::negate ( ) const
inlinenoexcept

◆ negate() [2/2]

template<typename SampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::negate ( )
inlinenoexcept

Negates each value of this block.

◆ negateInternal()

template<typename SampleType >
constexpr void juce::dsp::AudioBlock< SampleType >::negateInternal ( ) const
inlineconstexprprivatenoexcept

◆ operator!=()

template<typename SampleType >
template<typename OtherSampleType >
constexpr bool juce::dsp::AudioBlock< SampleType >::operator!= ( const AudioBlock< OtherSampleType > &  other) const
inlineconstexprnoexcept

◆ operator*=() [1/6]

template<typename SampleType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::operator*= ( AudioBlock< SampleType >  src) const
inlinenoexcept

◆ operator*=() [2/6]

template<typename SampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::operator*= ( AudioBlock< SampleType >  src)
inlinenoexcept

◆ operator*=() [3/6]

template<typename SampleType >
const AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::operator*= ( NumericType  value) const
inlinenoexcept

◆ operator*=() [4/6]

template<typename SampleType >
AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::operator*= ( NumericType  value)
inlinenoexcept

◆ operator*=() [5/6]

template<typename SampleType >
template<typename OtherSampleType , typename SmoothingType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::operator*= ( SmoothedValue< OtherSampleType, SmoothingType > &  value) const
inlinenoexcept

◆ operator*=() [6/6]

template<typename SampleType >
template<typename OtherSampleType , typename SmoothingType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::operator*= ( SmoothedValue< OtherSampleType, SmoothingType > &  value)
inlinenoexcept

◆ operator+=() [1/4]

template<typename SampleType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::operator+= ( AudioBlock< SampleType >  src) const
inlinenoexcept

◆ operator+=() [2/4]

template<typename SampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::operator+= ( AudioBlock< SampleType >  src)
inlinenoexcept

◆ operator+=() [3/4]

template<typename SampleType >
const AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::operator+= ( NumericType  value) const
inlinenoexcept

◆ operator+=() [4/4]

template<typename SampleType >
AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::operator+= ( NumericType  value)
inlinenoexcept

◆ operator-=() [1/4]

template<typename SampleType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::operator-= ( AudioBlock< SampleType >  src) const
inlinenoexcept

◆ operator-=() [2/4]

template<typename SampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::operator-= ( AudioBlock< SampleType >  src)
inlinenoexcept

◆ operator-=() [3/4]

template<typename SampleType >
const AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::operator-= ( NumericType  value) const
inlinenoexcept

◆ operator-=() [4/4]

template<typename SampleType >
AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::operator-= ( NumericType  value)
inlinenoexcept

◆ operator=() [1/2]

template<typename SampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::operator= ( const AudioBlock< SampleType > &  other)
defaultnoexcept

◆ operator=() [2/2]

template<typename SampleType >
template<typename OtherSampleType , MayUseConvertingConstructor< OtherSampleType > = 0>
AudioBlock& juce::dsp::AudioBlock< SampleType >::operator= ( const AudioBlock< OtherSampleType > &  other)
inlinenoexcept

◆ operator==()

template<typename SampleType >
template<typename OtherSampleType >
constexpr bool juce::dsp::AudioBlock< SampleType >::operator== ( const AudioBlock< OtherSampleType > &  other) const
inlineconstexprnoexcept

◆ process()

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType , typename FunctionType >
static void juce::dsp::AudioBlock< SampleType >::process ( AudioBlock< Src1SampleType >  inBlock,
AudioBlock< Src2SampleType >  outBlock,
FunctionType &&  function 
)
inlinestatic

Applies a function to each value in an input block, putting the result into an output block.

The function supplied must take a SampleType as its parameter, and return a SampleType. The two blocks must have the same number of channels and samples.

Referenced by juce::dsp::WaveShaper< FloatType, Function >::process().

◆ replaceWithAbsoluteValueOf() [1/2]

template<typename SampleType >
template<typename OtherSampleType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::replaceWithAbsoluteValueOf ( AudioBlock< OtherSampleType >  src) const
inlinenoexcept

◆ replaceWithAbsoluteValueOf() [2/2]

template<typename SampleType >
template<typename OtherSampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::replaceWithAbsoluteValueOf ( AudioBlock< OtherSampleType >  src)
inlinenoexcept

Replaces the contents of this block with the absolute values of the src block.

◆ replaceWithAbsoluteValueOfInternal()

template<typename SampleType >
template<typename OtherSampleType >
void juce::dsp::AudioBlock< SampleType >::replaceWithAbsoluteValueOfInternal ( AudioBlock< OtherSampleType >  src) const
inlineprivatenoexcept

◆ replaceWithDifferenceOf() [1/4]

template<typename SampleType >
template<typename OtherSampleType >
const AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::replaceWithDifferenceOf ( AudioBlock< OtherSampleType >  src,
NumericType  value 
) const
inlinenoexcept

◆ replaceWithDifferenceOf() [2/4]

template<typename SampleType >
template<typename OtherSampleType >
AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::replaceWithDifferenceOf ( AudioBlock< OtherSampleType >  src,
NumericType  value 
)
inlinenoexcept

Subtracts a fixed value from each source value and replaces the contents of this block.

◆ replaceWithDifferenceOf() [3/4]

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::replaceWithDifferenceOf ( AudioBlock< Src1SampleType >  src1,
AudioBlock< Src2SampleType >  src2 
) const
inlinenoexcept

◆ replaceWithDifferenceOf() [4/4]

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::replaceWithDifferenceOf ( AudioBlock< Src1SampleType >  src1,
AudioBlock< Src2SampleType >  src2 
)
inlinenoexcept

Subtracts each source2 value from the corresponding source1 value and replaces the contents of this block.

◆ replaceWithDifferenceOfInternal() [1/2]

template<typename SampleType >
template<typename OtherSampleType >
void JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::replaceWithDifferenceOfInternal ( AudioBlock< OtherSampleType >  src,
NumericType  value 
) const
inlineprivatenoexcept

◆ replaceWithDifferenceOfInternal() [2/2]

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType >
void juce::dsp::AudioBlock< SampleType >::replaceWithDifferenceOfInternal ( AudioBlock< Src1SampleType >  src1,
AudioBlock< Src2SampleType >  src2 
) const
inlineprivatenoexcept

◆ replaceWithMaxOf() [1/2]

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::replaceWithMaxOf ( AudioBlock< Src1SampleType >  src1,
AudioBlock< Src2SampleType >  src2 
) const
inlinenoexcept

◆ replaceWithMaxOf() [2/2]

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::replaceWithMaxOf ( AudioBlock< Src1SampleType >  src1,
AudioBlock< Src2SampleType >  src2 
)
inlinenoexcept

Replaces each element of this block with the maximum of the corresponding element of the source arrays.

◆ replaceWithMaxOfInternal()

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType >
void juce::dsp::AudioBlock< SampleType >::replaceWithMaxOfInternal ( AudioBlock< Src1SampleType >  src1,
AudioBlock< Src2SampleType >  src2 
) const
inlineprivatenoexcept

◆ replaceWithMinOf() [1/2]

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::replaceWithMinOf ( AudioBlock< Src1SampleType >  src1,
AudioBlock< Src2SampleType >  src2 
) const
inlinenoexcept

◆ replaceWithMinOf() [2/2]

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::replaceWithMinOf ( AudioBlock< Src1SampleType >  src1,
AudioBlock< Src2SampleType >  src2 
)
inlinenoexcept

Replaces each element of this block with the minimum of the corresponding element of the source arrays.

◆ replaceWithMinOfInternal()

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType >
void juce::dsp::AudioBlock< SampleType >::replaceWithMinOfInternal ( AudioBlock< Src1SampleType >  src1,
AudioBlock< Src2SampleType >  src2 
) const
inlineprivatenoexcept

◆ replaceWithNegativeOf() [1/2]

template<typename SampleType >
template<typename OtherSampleType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::replaceWithNegativeOf ( AudioBlock< OtherSampleType >  src) const
inlinenoexcept

◆ replaceWithNegativeOf() [2/2]

template<typename SampleType >
template<typename OtherSampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::replaceWithNegativeOf ( AudioBlock< OtherSampleType >  src)
inlinenoexcept

Replaces the contents of this block with the negative of the values in the src block.

◆ replaceWithNegativeOfInternal()

template<typename SampleType >
template<typename OtherSampleType >
void juce::dsp::AudioBlock< SampleType >::replaceWithNegativeOfInternal ( AudioBlock< OtherSampleType >  src) const
inlineprivatenoexcept

◆ replaceWithProductOf() [1/6]

template<typename SampleType >
template<typename BlockSampleType , typename SmootherSampleType , typename SmoothingType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::replaceWithProductOf ( AudioBlock< BlockSampleType >  src,
SmoothedValue< SmootherSampleType, SmoothingType > &  value 
) const
inlinenoexcept

◆ replaceWithProductOf() [2/6]

template<typename SampleType >
template<typename BlockSampleType , typename SmootherSampleType , typename SmoothingType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::replaceWithProductOf ( AudioBlock< BlockSampleType >  src,
SmoothedValue< SmootherSampleType, SmoothingType > &  value 
)
inlinenoexcept

Replaces each channel of this block with the product of the src block and a smoothed value.

◆ replaceWithProductOf() [3/6]

template<typename SampleType >
template<typename OtherSampleType >
const AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::replaceWithProductOf ( AudioBlock< OtherSampleType >  src,
NumericType  value 
) const
inlinenoexcept

◆ replaceWithProductOf() [4/6]

template<typename SampleType >
template<typename OtherSampleType >
AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::replaceWithProductOf ( AudioBlock< OtherSampleType >  src,
NumericType  value 
)
inlinenoexcept

Replaces the elements in this block with the product of the elements in the source src block and a fixed value.

◆ replaceWithProductOf() [5/6]

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::replaceWithProductOf ( AudioBlock< Src1SampleType >  src1,
AudioBlock< Src2SampleType >  src2 
) const
inlinenoexcept

◆ replaceWithProductOf() [6/6]

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::replaceWithProductOf ( AudioBlock< Src1SampleType >  src1,
AudioBlock< Src2SampleType >  src2 
)
inlinenoexcept

Replaces the elements in this block with the product of the elements in the src1 and scr2 blocks.

◆ replaceWithProductOfInternal() [1/3]

template<typename SampleType >
template<typename BlockSampleType , typename SmootherSampleType , typename SmoothingType >
void juce::dsp::AudioBlock< SampleType >::replaceWithProductOfInternal ( AudioBlock< BlockSampleType >  src,
SmoothedValue< SmootherSampleType, SmoothingType > &  value 
) const
inlineprivatenoexcept

◆ replaceWithProductOfInternal() [2/3]

template<typename SampleType >
template<typename OtherSampleType >
void JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::replaceWithProductOfInternal ( AudioBlock< OtherSampleType >  src,
NumericType  value 
) const
inlineprivatenoexcept

◆ replaceWithProductOfInternal() [3/3]

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType >
void juce::dsp::AudioBlock< SampleType >::replaceWithProductOfInternal ( AudioBlock< Src1SampleType >  src1,
AudioBlock< Src2SampleType >  src2 
) const
inlineprivatenoexcept

◆ replaceWithSumOf() [1/4]

template<typename SampleType >
template<typename OtherSampleType >
const AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::replaceWithSumOf ( AudioBlock< OtherSampleType >  src,
NumericType  value 
) const
inlinenoexcept

◆ replaceWithSumOf() [2/4]

template<typename SampleType >
template<typename OtherSampleType >
AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::replaceWithSumOf ( AudioBlock< OtherSampleType >  src,
NumericType  value 
)
inlinenoexcept

Adds a fixed value to each source value and replaces the contents of this block.

◆ replaceWithSumOf() [3/4]

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::replaceWithSumOf ( AudioBlock< Src1SampleType >  src1,
AudioBlock< Src2SampleType >  src2 
) const
inlinenoexcept

◆ replaceWithSumOf() [4/4]

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::replaceWithSumOf ( AudioBlock< Src1SampleType >  src1,
AudioBlock< Src2SampleType >  src2 
)
inlinenoexcept

Adds each source1 value to the corresponding source2 value and replaces the contents of this block.

◆ replaceWithSumOfInternal() [1/2]

template<typename SampleType >
template<typename OtherSampleType >
void JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::replaceWithSumOfInternal ( AudioBlock< OtherSampleType >  src,
NumericType  value 
) const
inlineprivatenoexcept

◆ replaceWithSumOfInternal() [2/2]

template<typename SampleType >
template<typename Src1SampleType , typename Src2SampleType >
void juce::dsp::AudioBlock< SampleType >::replaceWithSumOfInternal ( AudioBlock< Src1SampleType >  src1,
AudioBlock< Src2SampleType >  src2 
) const
inlineprivatenoexcept

◆ setSample()

template<typename SampleType >
void juce::dsp::AudioBlock< SampleType >::setSample ( int  destChannel,
int  destSample,
SampleType  newValue 
) const
inlinenoexcept

Modifies a sample in the buffer.

The channel and index are not checked - they are expected to be in-range. If not, an assertion will be thrown, but in a release build, you're into 'undefined behaviour' territory.

◆ subtract() [1/4]

template<typename SampleType >
template<typename OtherSampleType >
const AudioBlock& juce::dsp::AudioBlock< SampleType >::subtract ( AudioBlock< OtherSampleType >  src) const
inlinenoexcept

◆ subtract() [2/4]

template<typename SampleType >
template<typename OtherSampleType >
AudioBlock& juce::dsp::AudioBlock< SampleType >::subtract ( AudioBlock< OtherSampleType >  src)
inlinenoexcept

Subtracts the source values from the elements in this block.

◆ subtract() [3/4]

template<typename SampleType >
const AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::subtract ( NumericType  value) const
inlinenoexcept

◆ subtract() [4/4]

template<typename SampleType >
AudioBlock& JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::subtract ( NumericType  value)
inlinenoexcept

Subtracts a fixed value from the elements in this block.

Referenced by juce::dsp::AudioBlock< const SampleType >::operator-=().

◆ subtractInternal() [1/2]

template<typename SampleType >
template<typename OtherSampleType >
void juce::dsp::AudioBlock< SampleType >::subtractInternal ( AudioBlock< OtherSampleType >  src) const
inlineprivatenoexcept

◆ subtractInternal() [2/2]

template<typename SampleType >
constexpr void JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::subtractInternal ( NumericType  value) const
inlineconstexprprivatenoexcept

◆ swap()

template<typename SampleType >
void juce::dsp::AudioBlock< SampleType >::swap ( AudioBlock< SampleType > &  other)
inlinenoexcept

Friends And Related Function Documentation

◆ AudioBlock

Member Data Documentation

◆ byteMask

template<typename SampleType >
constexpr size_t juce::dsp::AudioBlock< SampleType >::byteMask = (sizeFactor * sizeof (NumericType)) - 1
staticconstexprprivate

◆ channels

◆ defaultAlignment

template<typename SampleType >
constexpr size_t juce::dsp::AudioBlock< SampleType >::defaultAlignment = sizeof (NumericType)
staticconstexprprivate

◆ elementMask

template<typename SampleType >
constexpr size_t juce::dsp::AudioBlock< SampleType >::elementMask = sizeFactor - 1
staticconstexprprivate

◆ numChannels

template<typename SampleType >
ChannelCountType juce::dsp::AudioBlock< SampleType >::numChannels = 0
private

Referenced by juce::dsp::AudioBlock< const SampleType >::addInternal(), juce::dsp::AudioBlock< const SampleType >::addProductOfInternal(), juce::dsp::AudioBlock< const SampleType >::addSample(), juce::dsp::AudioBlock< const SampleType >::AudioBlock(), juce::dsp::AudioBlock< const SampleType >::clearInternal(), juce::dsp::AudioBlock< const SampleType >::copyFromInternal(), juce::dsp::AudioBlock< const SampleType >::copyTo(), juce::dsp::AudioBlock< const SampleType >::fillInternal(), juce::dsp::AudioBlock< const SampleType >::findMinAndMax(), juce::dsp::AudioBlock< const SampleType >::getChannelPointer(), juce::dsp::AudioBlock< const SampleType >::getNumChannels(), juce::dsp::AudioBlock< const SampleType >::getSample(), juce::dsp::AudioBlock< const SampleType >::getSingleChannelBlock(), juce::dsp::AudioBlock< const SampleType >::getSubBlock(), juce::dsp::AudioBlock< const SampleType >::getSubsetChannelBlock(), juce::dsp::AudioBlock< const SampleType >::moveInternal(), juce::dsp::AudioBlock< const SampleType >::multiplyByInternal(), juce::dsp::AudioBlock< const SampleType >::operator==(), juce::dsp::AudioBlock< const SampleType >::replaceWithAbsoluteValueOfInternal(), juce::dsp::AudioBlock< const SampleType >::replaceWithDifferenceOfInternal(), juce::dsp::AudioBlock< const SampleType >::replaceWithMaxOfInternal(), juce::dsp::AudioBlock< const SampleType >::replaceWithMinOfInternal(), juce::dsp::AudioBlock< const SampleType >::replaceWithNegativeOfInternal(), juce::dsp::AudioBlock< const SampleType >::replaceWithProductOfInternal(), juce::dsp::AudioBlock< const SampleType >::replaceWithSumOfInternal(), juce::dsp::AudioBlock< const SampleType >::setSample(), juce::dsp::AudioBlock< const SampleType >::subtractInternal(), and juce::dsp::AudioBlock< const SampleType >::swap().

◆ numSamples

template<typename SampleType >
size_t juce::dsp::AudioBlock< SampleType >::numSamples = 0
private

Referenced by juce::dsp::AudioBlock< const SampleType >::addInternal(), juce::dsp::AudioBlock< const SampleType >::addProductOfInternal(), juce::dsp::AudioBlock< const SampleType >::addSample(), juce::dsp::AudioBlock< const SampleType >::clearInternal(), juce::dsp::AudioBlock< const SampleType >::copyFromInternal(), juce::dsp::AudioBlock< const SampleType >::copyTo(), juce::dsp::AudioBlock< const SampleType >::fillInternal(), juce::dsp::AudioBlock< const SampleType >::findMinAndMax(), juce::dsp::AudioBlock< const SampleType >::getChannelPointer(), juce::dsp::AudioBlock< const SampleType >::getNumSamples(), juce::dsp::AudioBlock< const SampleType >::getSample(), juce::dsp::AudioBlock< const SampleType >::getSingleChannelBlock(), juce::dsp::AudioBlock< const SampleType >::getSubBlock(), juce::dsp::AudioBlock< const SampleType >::getSubsetChannelBlock(), juce::dsp::AudioBlock< const SampleType >::moveInternal(), juce::dsp::AudioBlock< const SampleType >::multiplyByInternal(), juce::dsp::AudioBlock< const SampleType >::operator==(), juce::dsp::AudioBlock< const SampleType >::replaceWithAbsoluteValueOfInternal(), juce::dsp::AudioBlock< const SampleType >::replaceWithDifferenceOfInternal(), juce::dsp::AudioBlock< const SampleType >::replaceWithMaxOfInternal(), juce::dsp::AudioBlock< const SampleType >::replaceWithMinOfInternal(), juce::dsp::AudioBlock< const SampleType >::replaceWithNegativeOfInternal(), juce::dsp::AudioBlock< const SampleType >::replaceWithProductOfInternal(), juce::dsp::AudioBlock< const SampleType >::replaceWithSumOfInternal(), juce::dsp::AudioBlock< const SampleType >::setSample(), juce::dsp::AudioBlock< const SampleType >::subtractInternal(), and juce::dsp::AudioBlock< const SampleType >::swap().

◆ sizeFactor

◆ startSample


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