Loading...
Searching...
No Matches
juce::dsp::AudioBlock< SampleType > Class Template Reference

`#include <juce_AudioBlock.h>`

## Public Types

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

## Public Member Functions

| AudioBlock () noexcept=default
constexpr | AudioBlock (SampleType *const *channelData, size_t numberOfChannels, size_t numberOfSamples) noexcept
constexpr | AudioBlock (SampleType *const *channelData, size_t numberOfChannels, size_t startSampleIndex, size_t numberOfSamples) noexcept
| AudioBlock (HeapBlock< char > &heapBlockToUseForAllocation, size_t numberOfChannels, size_t numberOfSamples, size_t alignmentInBytes=defaultAlignment) noexcept
template<typename OtherSampleType>
constexpr | AudioBlock (AudioBuffer< OtherSampleType > &buffer) noexcept
template<typename OtherSampleType>
constexpr | AudioBlock (const AudioBuffer< OtherSampleType > &buffer) noexcept
template<typename OtherSampleType>
| AudioBlock (AudioBuffer< OtherSampleType > &buffer, size_t startSampleIndex) noexcept
| AudioBlock (const AudioBlock &other) noexcept=default
AudioBlock & | operator= (const AudioBlock &other) noexcept=default
template<typename OtherSampleType, MayUseConvertingConstructor< OtherSampleType > = 0>
| AudioBlock (const AudioBlock< OtherSampleType > &other) noexcept
template<typename OtherSampleType, MayUseConvertingConstructor< OtherSampleType > = 0>
AudioBlock & | operator= (const AudioBlock< OtherSampleType > &other) noexcept
void | swap (AudioBlock &other) noexcept
template<typename OtherSampleType>
constexpr bool | operator== (const AudioBlock< OtherSampleType > &other) const noexcept
template<typename OtherSampleType>
constexpr bool | operator!= (const AudioBlock< OtherSampleType > &other) const noexcept
constexpr size_t | getNumChannels () const noexcept
constexpr size_t | getNumSamples () const noexcept
SampleType * | getChannelPointer (size_t channel) const noexcept
AudioBlock | getSingleChannelBlock (size_t channel) const noexcept
AudioBlock | getSubsetChannelBlock (size_t channelStart, size_t numChannelsToUse) const noexcept
SampleType | getSample (int channel, int sampleIndex) const noexcept
void | setSample (int destChannel, int destSample, SampleType newValue) const noexcept
void | addSample (int destChannel, int destSample, SampleType valueToAdd) const noexcept
AudioBlock & | clear () noexcept
const AudioBlock & | clear () const noexcept
AudioBlock &JUCE_VECTOR_CALLTYPE | fill (NumericType value) noexcept
const AudioBlock &JUCE_VECTOR_CALLTYPE | fill (NumericType value) const noexcept
template<typename OtherSampleType>
AudioBlock & | copyFrom (const AudioBlock< OtherSampleType > &src) noexcept
template<typename OtherSampleType>
const AudioBlock & | copyFrom (const AudioBlock< OtherSampleType > &src) const noexcept
template<typename OtherNumericType>
AudioBlock & | copyFrom (const AudioBuffer< OtherNumericType > &src, size_t srcPos=0, size_t dstPos=0, size_t numElements=std::numeric_limits< size_t >::max())
template<typename OtherNumericType>
const AudioBlock & | copyFrom (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< std::remove_const_t< NumericType > > &dst, size_t srcPos=0, size_t dstPos=0, size_t numElements=std::numeric_limits< size_t >::max()) const
AudioBlock & | move (size_t srcPos, size_t dstPos, size_t numElements=std::numeric_limits< size_t >::max()) noexcept
const AudioBlock & | move (size_t srcPos, size_t dstPos, size_t numElements=std::numeric_limits< size_t >::max()) const noexcept
AudioBlock | getSubBlock (size_t newOffset, size_t newLength) const noexcept
AudioBlock | getSubBlock (size_t newOffset) const noexcept
AudioBlock &JUCE_VECTOR_CALLTYPE | add (NumericType value) noexcept
const AudioBlock &JUCE_VECTOR_CALLTYPE | add (NumericType value) const noexcept
template<typename OtherSampleType>
AudioBlock & | add (AudioBlock< OtherSampleType > src) noexcept
template<typename OtherSampleType>
const AudioBlock & | add (AudioBlock< OtherSampleType > src) const noexcept
template<typename OtherSampleType>
AudioBlock &JUCE_VECTOR_CALLTYPE | replaceWithSumOf (AudioBlock< OtherSampleType > src, NumericType value) noexcept
template<typename OtherSampleType>
const AudioBlock &JUCE_VECTOR_CALLTYPE | replaceWithSumOf (AudioBlock< OtherSampleType > src, NumericType value) const noexcept
template<typename Src1SampleType, typename Src2SampleType>
AudioBlock & | replaceWithSumOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) noexcept
template<typename Src1SampleType, typename Src2SampleType>
const AudioBlock & | replaceWithSumOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept
AudioBlock &JUCE_VECTOR_CALLTYPE | subtract (NumericType value) noexcept
const AudioBlock &JUCE_VECTOR_CALLTYPE | subtract (NumericType value) const noexcept
template<typename OtherSampleType>
AudioBlock & | subtract (AudioBlock< OtherSampleType > src) noexcept
template<typename OtherSampleType>
const AudioBlock & | subtract (AudioBlock< OtherSampleType > src) const noexcept
template<typename OtherSampleType>
AudioBlock &JUCE_VECTOR_CALLTYPE | replaceWithDifferenceOf (AudioBlock< OtherSampleType > src, NumericType value) noexcept
template<typename OtherSampleType>
const AudioBlock &JUCE_VECTOR_CALLTYPE | replaceWithDifferenceOf (AudioBlock< OtherSampleType > src, NumericType value) const noexcept
template<typename Src1SampleType, typename Src2SampleType>
AudioBlock & | replaceWithDifferenceOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) noexcept
template<typename Src1SampleType, typename Src2SampleType>
const AudioBlock & | replaceWithDifferenceOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept
AudioBlock &JUCE_VECTOR_CALLTYPE | multiplyBy (NumericType value) noexcept
const AudioBlock &JUCE_VECTOR_CALLTYPE | multiplyBy (NumericType value) const noexcept
template<typename OtherSampleType>
AudioBlock & | multiplyBy (AudioBlock< OtherSampleType > src) noexcept
template<typename OtherSampleType>
const AudioBlock & | multiplyBy (AudioBlock< OtherSampleType > src) const noexcept
template<typename OtherSampleType>
AudioBlock &JUCE_VECTOR_CALLTYPE | replaceWithProductOf (AudioBlock< OtherSampleType > src, NumericType value) noexcept
template<typename OtherSampleType>
const AudioBlock &JUCE_VECTOR_CALLTYPE | replaceWithProductOf (AudioBlock< OtherSampleType > src, NumericType value) const noexcept
template<typename Src1SampleType, typename Src2SampleType>
AudioBlock & | replaceWithProductOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) noexcept
template<typename Src1SampleType, typename Src2SampleType>
const AudioBlock & | replaceWithProductOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept
template<typename OtherSampleType, typename SmoothingType>
AudioBlock & | multiplyBy (SmoothedValue< OtherSampleType, SmoothingType > &value) noexcept
template<typename OtherSampleType, typename SmoothingType>
const AudioBlock & | multiplyBy (SmoothedValue< OtherSampleType, SmoothingType > &value) const noexcept
template<typename BlockSampleType, typename SmootherSampleType, typename SmoothingType>
AudioBlock & | replaceWithProductOf (AudioBlock< BlockSampleType > src, SmoothedValue< SmootherSampleType, SmoothingType > &value) noexcept
template<typename BlockSampleType, typename SmootherSampleType, typename SmoothingType>
const AudioBlock & | replaceWithProductOf (AudioBlock< BlockSampleType > src, SmoothedValue< SmootherSampleType, SmoothingType > &value) const noexcept
template<typename OtherSampleType>
AudioBlock &JUCE_VECTOR_CALLTYPE | addProductOf (AudioBlock< OtherSampleType > src, NumericType factor) noexcept
template<typename OtherSampleType>
const AudioBlock &JUCE_VECTOR_CALLTYPE | addProductOf (AudioBlock< OtherSampleType > src, NumericType factor) const noexcept
template<typename Src1SampleType, typename Src2SampleType>
AudioBlock & | addProductOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) noexcept
template<typename Src1SampleType, typename Src2SampleType>
const AudioBlock & | addProductOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept
AudioBlock & | negate () noexcept
const AudioBlock & | negate () const noexcept
template<typename OtherSampleType>
AudioBlock & | replaceWithNegativeOf (AudioBlock< OtherSampleType > src) noexcept
template<typename OtherSampleType>
const AudioBlock & | replaceWithNegativeOf (AudioBlock< OtherSampleType > src) const noexcept
template<typename OtherSampleType>
AudioBlock & | replaceWithAbsoluteValueOf (AudioBlock< OtherSampleType > src) noexcept
template<typename OtherSampleType>
const AudioBlock & | replaceWithAbsoluteValueOf (AudioBlock< OtherSampleType > src) const noexcept
template<typename Src1SampleType, typename Src2SampleType>
AudioBlock & | replaceWithMinOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) noexcept
template<typename Src1SampleType, typename Src2SampleType>
const AudioBlock & | replaceWithMinOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept
template<typename Src1SampleType, typename Src2SampleType>
AudioBlock & | replaceWithMaxOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) noexcept
template<typename Src1SampleType, typename Src2SampleType>
const AudioBlock & | replaceWithMaxOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept
Range< std::remove_const_t< NumericType > > | findMinAndMax () const noexcept
AudioBlock &JUCE_VECTOR_CALLTYPE | operator+= (NumericType value) noexcept
const AudioBlock &JUCE_VECTOR_CALLTYPE | operator+= (NumericType value) const noexcept
AudioBlock & | operator+= (AudioBlock src) noexcept
const AudioBlock & | operator+= (AudioBlock src) const noexcept
AudioBlock &JUCE_VECTOR_CALLTYPE | operator-= (NumericType value) noexcept
const AudioBlock &JUCE_VECTOR_CALLTYPE | operator-= (NumericType value) const noexcept
AudioBlock & | operator-= (AudioBlock src) noexcept
const AudioBlock & | operator-= (AudioBlock src) const noexcept
AudioBlock &JUCE_VECTOR_CALLTYPE | operator*= (NumericType value) noexcept
const AudioBlock &JUCE_VECTOR_CALLTYPE | operator*= (NumericType value) const noexcept
AudioBlock & | operator*= (AudioBlock src) noexcept
const AudioBlock & | operator*= (AudioBlock src) const noexcept
template<typename OtherSampleType, typename SmoothingType>
AudioBlock & | operator*= (SmoothedValue< OtherSampleType, SmoothingType > &value) noexcept
template<typename OtherSampleType, typename SmoothingType>
const AudioBlock & | operator*= (SmoothedValue< OtherSampleType, SmoothingType > &value) const noexcept

## Static Public Member Functions

template<typename Src1SampleType, typename Src2SampleType, typename FunctionType>
static void | process (AudioBlock< Src1SampleType > inBlock, AudioBlock< Src2SampleType > outBlock, FunctionType &&function)

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

Definition at line 67 of file juce_AudioBlock.h.

## Member Typedef Documentation

## NumericType

template<typename SampleType>

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

Definition at line 80 of file juce_AudioBlock.h.

## Constructor & Destructor Documentation

## AudioBlock() [1/8]

template<typename SampleType>

juce::dsp::AudioBlock< SampleType >::AudioBlock | ( |  | ) |

default noexcept

Create a zero-sized AudioBlock.

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

## AudioBlock() [2/8]

template<typename SampleType>

juce::dsp::AudioBlock< SampleType >::AudioBlock | ( | SampleType *const * | channelData,
|  | size_t | numberOfChannels,
|  | size_t | numberOfSamples )

inline constexpr noexcept

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.

Definition at line 91 of file juce_AudioBlock.h.

## AudioBlock() [3/8]

template<typename SampleType>

juce::dsp::AudioBlock< SampleType >::AudioBlock | ( | SampleType *const * | channelData,
|  | size_t | numberOfChannels,
|  | size_t | startSampleIndex,
|  | size_t | numberOfSamples )

inline constexpr noexcept

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.

Definition at line 104 of file juce_AudioBlock.h.

## AudioBlock() [4/8]

template<typename SampleType>

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

inline noexcept

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.

Definition at line 118 of file juce_AudioBlock.h.

## AudioBlock() [5/8]

template<typename SampleType>
template<typename OtherSampleType>

juce::dsp::AudioBlock< SampleType >::AudioBlock | ( | AudioBuffer< OtherSampleType > & | buffer | ) |

inline constexpr noexcept

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.

Definition at line 150 of file juce_AudioBlock.h.

## AudioBlock() [6/8]

template<typename SampleType>
template<typename OtherSampleType>

juce::dsp::AudioBlock< SampleType >::AudioBlock | ( | const AudioBuffer< OtherSampleType > & | buffer | ) |

inline constexpr noexcept

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.

Definition at line 163 of file juce_AudioBlock.h.

## AudioBlock() [7/8]

template<typename SampleType>
template<typename OtherSampleType>

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

inline noexcept

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.

Definition at line 176 of file juce_AudioBlock.h.

## AudioBlock() [8/8]

template<typename SampleType>
template<typename OtherSampleType, MayUseConvertingConstructor< OtherSampleType > = 0>

juce::dsp::AudioBlock< SampleType >::AudioBlock | ( | const AudioBlock< OtherSampleType > & | other | ) |

inline noexcept

Definition at line 189 of file juce_AudioBlock.h.

## Member Function Documentation

## add() [1/4]

template<typename SampleType>
template<typename OtherSampleType>

const AudioBlock & juce::dsp::AudioBlock< SampleType >::add | ( | AudioBlock< OtherSampleType > | src | ) | const

inline noexcept

Definition at line 401 of file juce_AudioBlock.h.

## add() [2/4]

template<typename SampleType>
template<typename OtherSampleType>

AudioBlock & juce::dsp::AudioBlock< SampleType >::add | ( | AudioBlock< OtherSampleType > | src | ) |

inline noexcept

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

Definition at line 399 of file juce_AudioBlock.h.

## add() [3/4]

template<typename SampleType>

const AudioBlock &JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::add | ( | NumericType | value | ) | const

inline noexcept

Definition at line 395 of file juce_AudioBlock.h.

## add() [4/4]

template<typename SampleType>

AudioBlock &JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::add | ( | NumericType | value | ) |

inline noexcept

Adds a fixed value to the elements in this block.

Definition at line 394 of file juce_AudioBlock.h.

Referenced by juce::dsp::DryWetMixer< SampleType >::mixWetSamples().

## 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

inline noexcept

Definition at line 479 of file juce_AudioBlock.h.

## addProductOf() [2/4]

template<typename SampleType>
template<typename OtherSampleType>

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

inline noexcept

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

Definition at line 477 of file juce_AudioBlock.h.

## 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

inline noexcept

Definition at line 485 of file juce_AudioBlock.h.

## addProductOf() [4/4]

template<typename SampleType>
template<typename Src1SampleType, typename Src2SampleType>

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

inline noexcept

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

Definition at line 483 of file juce_AudioBlock.h.

## addSample()

template<typename SampleType>

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

inline noexcept

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.

Definition at line 294 of file juce_AudioBlock.h.

## clear() [1/2]

template<typename SampleType>

const AudioBlock & juce::dsp::AudioBlock< SampleType >::clear | ( |  | ) | const

inline noexcept

Definition at line 304 of file juce_AudioBlock.h.

## clear() [2/2]

template<typename SampleType>

AudioBlock & juce::dsp::AudioBlock< SampleType >::clear | ( |  | ) |

inline noexcept

Clears the memory referenced by this AudioBlock.

Definition at line 303 of file juce_AudioBlock.h.

## copyFrom() [1/4]

template<typename SampleType>
template<typename OtherSampleType>

const AudioBlock & juce::dsp::AudioBlock< SampleType >::copyFrom | ( | const AudioBlock< OtherSampleType > & | src | ) | const

inline noexcept

Definition at line 314 of file juce_AudioBlock.h.

## copyFrom() [2/4]

template<typename SampleType>
template<typename OtherSampleType>

AudioBlock & juce::dsp::AudioBlock< SampleType >::copyFrom | ( | const AudioBlock< OtherSampleType > & | src | ) |

inline noexcept

Copies the values in src to this block.

Definition at line 312 of file juce_AudioBlock.h.

Referenced by juce::dsp::DryWetMixer< SampleType >::pushDrySamples().

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

Definition at line 323 of file juce_AudioBlock.h.

## 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

Definition at line 327 of file juce_AudioBlock.h.

## copyTo()

template<typename SampleType>

void juce::dsp::AudioBlock< SampleType >::copyTo | ( | AudioBuffer< std::remove_const_t< NumericType > > & | 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.

Definition at line 338 of file juce_AudioBlock.h.

## fill() [1/2]

template<typename SampleType>

const AudioBlock &JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::fill | ( | NumericType | value | ) | const

inline noexcept

Definition at line 308 of file juce_AudioBlock.h.

## fill() [2/2]

template<typename SampleType>

AudioBlock &JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::fill | ( | NumericType | value | ) |

inline noexcept

Fills the memory referenced by this AudioBlock with value.

Definition at line 307 of file juce_AudioBlock.h.

## findMinAndMax()

template<typename SampleType>

Range< std::remove_const_t< NumericType > > juce::dsp::AudioBlock< SampleType >::findMinAndMax | ( |  | ) | const

inline noexcept

Finds the minimum and maximum value of the buffer.

Definition at line 519 of file juce_AudioBlock.h.

## getChannelPointer()

template<typename SampleType>

SampleType * juce::dsp::AudioBlock< SampleType >::getChannelPointer | ( | size_t | channel | ) | const

inline noexcept

Returns a raw pointer into one of the channels in this block.

Definition at line 239 of file juce_AudioBlock.h.

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

## getNumChannels()

template<typename SampleType>

size_t juce::dsp::AudioBlock< SampleType >::getNumChannels | ( |  | ) | const

inline constexpr noexcept

Returns the number of channels referenced by this block.

Definition at line 233 of file juce_AudioBlock.h.

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

## getNumSamples()

template<typename SampleType>

size_t juce::dsp::AudioBlock< SampleType >::getNumSamples | ( |  | ) | const

inline constexpr noexcept

Returns the number of samples referenced by this block.

Definition at line 236 of file juce_AudioBlock.h.

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

## getSample()

template<typename SampleType>

SampleType juce::dsp::AudioBlock< SampleType >::getSample | ( | int | channel,
|  | int | sampleIndex ) const

inline noexcept

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.

Definition at line 270 of file juce_AudioBlock.h.

## getSingleChannelBlock()

template<typename SampleType>

AudioBlock juce::dsp::AudioBlock< SampleType >::getSingleChannelBlock | ( | size_t | channel | ) | const

inline noexcept

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

Definition at line 247 of file juce_AudioBlock.h.

## getSubBlock() [1/2]

template<typename SampleType>

AudioBlock juce::dsp::AudioBlock< SampleType >::getSubBlock | ( | size_t | newOffset | ) | const

inline noexcept

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

  newOffset | The 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.

Definition at line 387 of file juce_AudioBlock.h.

## getSubBlock() [2/2]

template<typename SampleType>

AudioBlock juce::dsp::AudioBlock< SampleType >::getSubBlock | ( | size_t | newOffset,
|  | size_t | newLength ) const

inline noexcept

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

  newOffset | The index of an element inside the receiver which will will become the first element of the return value.
  newLength | The number of elements of the newly created sub-block.

Definition at line 369 of file juce_AudioBlock.h.

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

## getSubsetChannelBlock()

template<typename SampleType>

AudioBlock juce::dsp::AudioBlock< SampleType >::getSubsetChannelBlock | ( | size_t | channelStart,
|  | size_t | numChannelsToUse ) const

inline noexcept

Returns a subset of contiguous channels

Parameters

  channelStart | First channel of the subset
  numChannelsToUse | Count of channels in the subset

Definition at line 257 of file juce_AudioBlock.h.

Referenced by juce::dsp::DryWetMixer< SampleType >::mixWetSamples(), and juce::dsp::DryWetMixer< SampleType >::pushDrySamples().

## 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

inline noexcept

Definition at line 356 of file juce_AudioBlock.h.

## 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() )

inline noexcept

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.

Definition at line 354 of file juce_AudioBlock.h.

## multiplyBy() [1/6]

template<typename SampleType>
template<typename OtherSampleType>

const AudioBlock & juce::dsp::AudioBlock< SampleType >::multiplyBy | ( | AudioBlock< OtherSampleType > | src | ) | const

inline noexcept

Definition at line 447 of file juce_AudioBlock.h.

## multiplyBy() [2/6]

template<typename SampleType>
template<typename OtherSampleType>

AudioBlock & juce::dsp::AudioBlock< SampleType >::multiplyBy | ( | AudioBlock< OtherSampleType > | src | ) |

inline noexcept

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

Definition at line 445 of file juce_AudioBlock.h.

## multiplyBy() [3/6]

template<typename SampleType>

const AudioBlock &JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::multiplyBy | ( | NumericType | value | ) | const

inline noexcept

Definition at line 441 of file juce_AudioBlock.h.

## multiplyBy() [4/6]

template<typename SampleType>

AudioBlock &JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::multiplyBy | ( | NumericType | value | ) |

inline noexcept

Multiplies the elements in this block by a fixed value.

Definition at line 440 of file juce_AudioBlock.h.

Referenced by juce::dsp::DryWetMixer< SampleType >::mixWetSamples().

## multiplyBy() [5/6]

template<typename SampleType>
template<typename OtherSampleType, typename SmoothingType>

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

inline noexcept

Definition at line 466 of file juce_AudioBlock.h.

## multiplyBy() [6/6]

template<typename SampleType>
template<typename OtherSampleType, typename SmoothingType>

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

inline noexcept

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

Definition at line 464 of file juce_AudioBlock.h.

## negate() [1/2]

template<typename SampleType>

const AudioBlock & juce::dsp::AudioBlock< SampleType >::negate | ( |  | ) | const

inline noexcept

Definition at line 490 of file juce_AudioBlock.h.

## negate() [2/2]

template<typename SampleType>

AudioBlock & juce::dsp::AudioBlock< SampleType >::negate | ( |  | ) |

inline noexcept

Negates each value of this block.

Definition at line 489 of file juce_AudioBlock.h.

## operator!=()

template<typename SampleType>
template<typename OtherSampleType>

bool juce::dsp::AudioBlock< SampleType >::operator!= | ( | const AudioBlock< OtherSampleType > & | other | ) | const

inline constexpr noexcept

Definition at line 226 of file juce_AudioBlock.h.

## operator*=() [1/6]

template<typename SampleType>

const AudioBlock & juce::dsp::AudioBlock< SampleType >::operator*= | ( | AudioBlock< SampleType > | src | ) | const

inline noexcept

Definition at line 551 of file juce_AudioBlock.h.

## operator*=() [2/6]

template<typename SampleType>

AudioBlock & juce::dsp::AudioBlock< SampleType >::operator*= | ( | AudioBlock< SampleType > | src | ) |

inline noexcept

Definition at line 550 of file juce_AudioBlock.h.

## operator*=() [3/6]

template<typename SampleType>

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

inline noexcept

Definition at line 548 of file juce_AudioBlock.h.

## operator*=() [4/6]

template<typename SampleType>

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

inline noexcept

Definition at line 547 of file juce_AudioBlock.h.

## operator*=() [5/6]

template<typename SampleType>
template<typename OtherSampleType, typename SmoothingType>

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

inline noexcept

Definition at line 556 of file juce_AudioBlock.h.

## operator*=() [6/6]

template<typename SampleType>
template<typename OtherSampleType, typename SmoothingType>

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

inline noexcept

Definition at line 554 of file juce_AudioBlock.h.

## operator+=() [1/4]

template<typename SampleType>

const AudioBlock & juce::dsp::AudioBlock< SampleType >::operator+= | ( | AudioBlock< SampleType > | src | ) | const

inline noexcept

Definition at line 539 of file juce_AudioBlock.h.

## operator+=() [2/4]

template<typename SampleType>

AudioBlock & juce::dsp::AudioBlock< SampleType >::operator+= | ( | AudioBlock< SampleType > | src | ) |

inline noexcept

Definition at line 538 of file juce_AudioBlock.h.

## operator+=() [3/4]

template<typename SampleType>

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

inline noexcept

Definition at line 536 of file juce_AudioBlock.h.

## operator+=() [4/4]

template<typename SampleType>

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

inline noexcept

Definition at line 535 of file juce_AudioBlock.h.

## operator-=() [1/4]

template<typename SampleType>

const AudioBlock & juce::dsp::AudioBlock< SampleType >::operator-= | ( | AudioBlock< SampleType > | src | ) | const

inline noexcept

Definition at line 545 of file juce_AudioBlock.h.

## operator-=() [2/4]

template<typename SampleType>

AudioBlock & juce::dsp::AudioBlock< SampleType >::operator-= | ( | AudioBlock< SampleType > | src | ) |

inline noexcept

Definition at line 544 of file juce_AudioBlock.h.

## operator-=() [3/4]

template<typename SampleType>

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

inline noexcept

Definition at line 542 of file juce_AudioBlock.h.

## operator-=() [4/4]

template<typename SampleType>

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

inline noexcept

Definition at line 541 of file juce_AudioBlock.h.

## operator=()

template<typename SampleType>
template<typename OtherSampleType, MayUseConvertingConstructor< OtherSampleType > = 0>

AudioBlock & juce::dsp::AudioBlock< SampleType >::operator= | ( | const AudioBlock< OtherSampleType > & | other | ) |

inline noexcept

Definition at line 198 of file juce_AudioBlock.h.

## operator==()

template<typename SampleType>
template<typename OtherSampleType>

bool juce::dsp::AudioBlock< SampleType >::operator== | ( | const AudioBlock< OtherSampleType > & | other | ) | const

inline constexpr noexcept

Definition at line 215 of file juce_AudioBlock.h.

## process()

template<typename SampleType>
template<typename Src1SampleType, typename Src2SampleType, typename FunctionType>

void juce::dsp::AudioBlock< SampleType >::process | ( | AudioBlock< Src1SampleType > | inBlock,
|  | AudioBlock< Src2SampleType > | outBlock,
|  | FunctionType && | function )

inline static

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.

Definition at line 574 of file juce_AudioBlock.h.

Referenced by juce::dsp::WaveShaper< FloatType, Function >::process(), and juce::dsp::DryWetMixer< SampleType >::pushDrySamples().

## replaceWithAbsoluteValueOf() [1/2]

template<typename SampleType>
template<typename OtherSampleType>

const AudioBlock & juce::dsp::AudioBlock< SampleType >::replaceWithAbsoluteValueOf | ( | AudioBlock< OtherSampleType > | src | ) | const

inline noexcept

Definition at line 502 of file juce_AudioBlock.h.

## replaceWithAbsoluteValueOf() [2/2]

template<typename SampleType>
template<typename OtherSampleType>

AudioBlock & juce::dsp::AudioBlock< SampleType >::replaceWithAbsoluteValueOf | ( | AudioBlock< OtherSampleType > | src | ) |

inline noexcept

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

Definition at line 500 of file juce_AudioBlock.h.

## 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

inline noexcept

Definition at line 430 of file juce_AudioBlock.h.

## replaceWithDifferenceOf() [2/4]

template<typename SampleType>
template<typename OtherSampleType>

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

inline noexcept

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

Definition at line 428 of file juce_AudioBlock.h.

## 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

inline noexcept

Definition at line 436 of file juce_AudioBlock.h.

## replaceWithDifferenceOf() [4/4]

template<typename SampleType>
template<typename Src1SampleType, typename Src2SampleType>

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

inline noexcept

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

Definition at line 434 of file juce_AudioBlock.h.

## 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

inline noexcept

Definition at line 515 of file juce_AudioBlock.h.

## replaceWithMaxOf() [2/2]

template<typename SampleType>
template<typename Src1SampleType, typename Src2SampleType>

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

inline noexcept

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

Definition at line 513 of file juce_AudioBlock.h.

## 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

inline noexcept

Definition at line 509 of file juce_AudioBlock.h.

## replaceWithMinOf() [2/2]

template<typename SampleType>
template<typename Src1SampleType, typename Src2SampleType>

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

inline noexcept

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

Definition at line 507 of file juce_AudioBlock.h.

## replaceWithNegativeOf() [1/2]

template<typename SampleType>
template<typename OtherSampleType>

const AudioBlock & juce::dsp::AudioBlock< SampleType >::replaceWithNegativeOf | ( | AudioBlock< OtherSampleType > | src | ) | const

inline noexcept

Definition at line 496 of file juce_AudioBlock.h.

## replaceWithNegativeOf() [2/2]

template<typename SampleType>
template<typename OtherSampleType>

AudioBlock & juce::dsp::AudioBlock< SampleType >::replaceWithNegativeOf | ( | AudioBlock< OtherSampleType > | src | ) |

inline noexcept

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

Definition at line 494 of file juce_AudioBlock.h.

## 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

inline noexcept

Definition at line 472 of file juce_AudioBlock.h.

## 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 )

inline noexcept

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

Definition at line 470 of file juce_AudioBlock.h.

## 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

inline noexcept

Definition at line 453 of file juce_AudioBlock.h.

## replaceWithProductOf() [4/6]

template<typename SampleType>
template<typename OtherSampleType>

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

inline noexcept

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

Definition at line 451 of file juce_AudioBlock.h.

## 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

inline noexcept

Definition at line 459 of file juce_AudioBlock.h.

## replaceWithProductOf() [6/6]

template<typename SampleType>
template<typename Src1SampleType, typename Src2SampleType>

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

inline noexcept

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

Definition at line 457 of file juce_AudioBlock.h.

## 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

inline noexcept

Definition at line 407 of file juce_AudioBlock.h.

## replaceWithSumOf() [2/4]

template<typename SampleType>
template<typename OtherSampleType>

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

inline noexcept

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

Definition at line 405 of file juce_AudioBlock.h.

## 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

inline noexcept

Definition at line 413 of file juce_AudioBlock.h.

## replaceWithSumOf() [4/4]

template<typename SampleType>
template<typename Src1SampleType, typename Src2SampleType>

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

inline noexcept

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

Definition at line 411 of file juce_AudioBlock.h.

## setSample()

template<typename SampleType>

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

inline noexcept

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.

Definition at line 282 of file juce_AudioBlock.h.

## subtract() [1/4]

template<typename SampleType>
template<typename OtherSampleType>

const AudioBlock & juce::dsp::AudioBlock< SampleType >::subtract | ( | AudioBlock< OtherSampleType > | src | ) | const

inline noexcept

Definition at line 424 of file juce_AudioBlock.h.

## subtract() [2/4]

template<typename SampleType>
template<typename OtherSampleType>

AudioBlock & juce::dsp::AudioBlock< SampleType >::subtract | ( | AudioBlock< OtherSampleType > | src | ) |

inline noexcept

Subtracts the source values from the elements in this block.

Definition at line 422 of file juce_AudioBlock.h.

## subtract() [3/4]

template<typename SampleType>

const AudioBlock &JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::subtract | ( | NumericType | value | ) | const

inline noexcept

Definition at line 418 of file juce_AudioBlock.h.

## subtract() [4/4]

template<typename SampleType>

AudioBlock &JUCE_VECTOR_CALLTYPE juce::dsp::AudioBlock< SampleType >::subtract | ( | NumericType | value | ) |

inline noexcept

Subtracts a fixed value from the elements in this block.

Definition at line 417 of file juce_AudioBlock.h.

## swap()

template<typename SampleType>

void juce::dsp::AudioBlock< SampleType >::swap | ( | AudioBlock< SampleType > & | other | ) |

inline noexcept

Definition at line 205 of file juce_AudioBlock.h.

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

- juce_AudioBlock.h