Minimal and lightweight data-structure which contains a list of pointers to channels containing some kind of sample data.
More...
|
| AudioBlock () noexcept=default |
| Create a zero-sized AudioBlock.
|
|
constexpr | AudioBlock (SampleType *const *channelData, size_t numberOfChannels, size_t numberOfSamples) noexcept |
| Creates an AudioBlock from a pointer to an array of channels.
|
|
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.
|
|
| 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.
|
|
template<typename OtherSampleType > |
constexpr | AudioBlock (AudioBuffer< OtherSampleType > &buffer) noexcept |
| Creates an AudioBlock that points to the data in an AudioBuffer.
|
|
template<typename OtherSampleType > |
constexpr | AudioBlock (const AudioBuffer< OtherSampleType > &buffer) noexcept |
| Creates an AudioBlock that points to the data in an AudioBuffer.
|
|
template<typename OtherSampleType > |
| AudioBlock (AudioBuffer< OtherSampleType > &buffer, size_t startSampleIndex) noexcept |
| Creates an AudioBlock that points to the data in an AudioBuffer.
|
|
| 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 |
| Returns the number of channels referenced by this block.
|
|
constexpr size_t | getNumSamples () const noexcept |
| Returns the number of samples referenced by this block.
|
|
SampleType * | getChannelPointer (size_t channel) const noexcept |
| Returns a raw pointer into one of the channels in this block.
|
|
AudioBlock | getSingleChannelBlock (size_t channel) const noexcept |
| Returns an AudioBlock that represents one of the channels in this block.
|
|
AudioBlock | getSubsetChannelBlock (size_t channelStart, size_t numChannelsToUse) const noexcept |
| Returns a subset of contiguous channels.
|
|
SampleType | getSample (int channel, int sampleIndex) const noexcept |
| Returns a sample from the buffer.
|
|
void | setSample (int destChannel, int destSample, SampleType newValue) const noexcept |
| Modifies a sample in the buffer.
|
|
void | addSample (int destChannel, int destSample, SampleType valueToAdd) const noexcept |
| Adds a value to a sample in the buffer.
|
|
AudioBlock & | clear () noexcept |
| Clears the memory referenced by this AudioBlock.
|
|
const AudioBlock & | clear () const noexcept |
|
AudioBlock &JUCE_VECTOR_CALLTYPE | fill (NumericType value) noexcept |
| Fills the memory referenced by this AudioBlock with value.
|
|
const AudioBlock &JUCE_VECTOR_CALLTYPE | fill (NumericType value) const noexcept |
|
template<typename OtherSampleType > |
AudioBlock & | copyFrom (const AudioBlock< OtherSampleType > &src) noexcept |
| Copies the values in src to this block.
|
|
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()) |
| Copy the values from an AudioBuffer to this block.
|
|
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 |
| Copies the values from this block to an AudioBuffer.
|
|
AudioBlock & | move (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.
|
|
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 |
| Return a new AudioBlock pointing to a sub-block inside this block.
|
|
AudioBlock | getSubBlock (size_t newOffset) const noexcept |
| Return a new AudioBlock pointing to a sub-block inside this block.
|
|
AudioBlock &JUCE_VECTOR_CALLTYPE | add (NumericType value) noexcept |
| Adds a fixed value to the elements in this block.
|
|
const AudioBlock &JUCE_VECTOR_CALLTYPE | add (NumericType value) const noexcept |
|
template<typename OtherSampleType > |
AudioBlock & | add (AudioBlock< OtherSampleType > src) noexcept |
| Adds the elements in the src block to the elements in this block.
|
|
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 |
| Adds a fixed value to each source value and replaces the contents of this block.
|
|
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 |
| Adds each source1 value to the corresponding source2 value and replaces the contents of this block.
|
|
template<typename Src1SampleType , typename Src2SampleType > |
const AudioBlock & | replaceWithSumOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept |
|
AudioBlock &JUCE_VECTOR_CALLTYPE | subtract (NumericType value) noexcept |
| Subtracts a fixed value from the elements in this block.
|
|
const AudioBlock &JUCE_VECTOR_CALLTYPE | subtract (NumericType value) const noexcept |
|
template<typename OtherSampleType > |
AudioBlock & | subtract (AudioBlock< OtherSampleType > src) noexcept |
| Subtracts the source values from the elements in this block.
|
|
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 |
| Subtracts a fixed value from each source value and replaces the contents of this block.
|
|
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 |
| Subtracts each source2 value from the corresponding source1 value and replaces the contents of this block.
|
|
template<typename Src1SampleType , typename Src2SampleType > |
const AudioBlock & | replaceWithDifferenceOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept |
|
AudioBlock &JUCE_VECTOR_CALLTYPE | multiplyBy (NumericType value) noexcept |
| Multiplies the elements in this block by a fixed value.
|
|
const AudioBlock &JUCE_VECTOR_CALLTYPE | multiplyBy (NumericType value) const noexcept |
|
template<typename OtherSampleType > |
AudioBlock & | multiplyBy (AudioBlock< OtherSampleType > src) noexcept |
| Multiplies the elements in this block by the elements in the src block.
|
|
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 |
| Replaces the elements in this block with the product of the elements in the source src block and a fixed value.
|
|
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 |
| Replaces the elements in this block with the product of the elements in the src1 and scr2 blocks.
|
|
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 |
| Multiplies each channels of this block by a smoothly changing value.
|
|
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 |
| Replaces each channel of this block with the product of the src block and a smoothed value.
|
|
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 |
| Multiplies each value in src by a fixed value and adds the result to this block.
|
|
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 |
| Multiplies each value in srcA with the corresponding value in srcB and adds the result to this block.
|
|
template<typename Src1SampleType , typename Src2SampleType > |
const AudioBlock & | addProductOf (AudioBlock< Src1SampleType > src1, AudioBlock< Src2SampleType > src2) const noexcept |
|
AudioBlock & | negate () noexcept |
| Negates each value of this block.
|
|
const AudioBlock & | negate () const noexcept |
|
template<typename OtherSampleType > |
AudioBlock & | replaceWithNegativeOf (AudioBlock< OtherSampleType > src) noexcept |
| Replaces the contents of this block with the negative of the values in the src block.
|
|
template<typename OtherSampleType > |
const AudioBlock & | replaceWithNegativeOf (AudioBlock< OtherSampleType > src) const noexcept |
|
template<typename OtherSampleType > |
AudioBlock & | replaceWithAbsoluteValueOf (AudioBlock< OtherSampleType > src) noexcept |
| Replaces the contents of this block with the absolute values of the src block.
|
|
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 |
| Replaces each element of this block with the minimum of the corresponding element of the source arrays.
|
|
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 |
| Replaces each element of this block with the maximum of the corresponding element of the source arrays.
|
|
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 |
| Finds the minimum and maximum value of the buffer.
|
|
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 |
|
template<
typename SampleType>
class 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.