A buffer of floating point data for use in scripted environments. More...
Inherits DynamicObject.
Public Member Functions | |
VariantBuffer (float *externalData, int size_) | |
Creates a buffer using preallocated data. More... | |
VariantBuffer (VariantBuffer *otherBuffer, int offset=0, int numSamples=-1) | |
Creates a buffer that operates on another buffer. More... | |
VariantBuffer (int samples) | |
Creates a new buffer with the given sample size. More... | |
Static Public Member Functions | |
static void | sanitizeFloatArray (float **channels, int numChannels, int numSamples) |
Removes Nan numbers from a array of float data. More... | |
A buffer of floating point data for use in scripted environments.
This class can be wrapped into a var and used like a primitive value. It is a one dimensional float array - if you want multiple channels, use an Array with multiple variant buffers.
It contains some handy overload operators to make working with this type more convenient:
b * 2.0f // Applies the gain factor to all samples in the buffer b * otherBuffer // Multiplies the values of the buffers and store them into 'b' b + 2.0f // adds 2.0f to all samples b + otherBuffer // adds the other buffer
Important: Because all operations are inplace, these statements are aquivalent:
(b = b * 2.0f) == (b *= 2.0f) == (b *2.0f);
For copying and filling buffers, the '<<' and '>>' operators are used.
0.5f >> b // fills the buffer with 0.5f (shovels 0.5f into the buffer...) b << 0.5f // same as 0.5f >> b a >> b // copies the buffer a into b; a << b // copies the buffer b into a;
If the Intel IPP library is used, the data will be allocated using the IPP allocators for aligned data
VariantBuffer | ( | float * | externalData, |
int | size_ | ||
) |
Creates a buffer using preallocated data.
VariantBuffer | ( | VariantBuffer * | otherBuffer, |
int | offset = 0 , |
||
int | numSamples = -1 |
||
) |
Creates a buffer that operates on another buffer.
VariantBuffer | ( | int | samples | ) |
Creates a new buffer with the given sample size.
The data will be initialised to 0.0f.
|
inlinestatic |
Removes Nan numbers from a array of float data.