Represents all the buffers (example for a stereo channel there is 2 underlying sample buffers)
More...
#include <AudioBuffer.h>
template<typename SampleType>
class pongasoft::VST::AudioBuffers< SampleType >
Represents all the buffers (example for a stereo channel there is 2 underlying sample buffers)
- Template Parameters
-
◆ class_type
◆ AudioBuffers()
◆ absoluteMax()
SampleType absoluteMax |
( |
| ) |
const |
|
inline |
- Returns
- the max sample (absolute) across all channels
◆ adjustSilenceFlags()
bool adjustSilenceFlags |
( |
| ) |
|
|
inline |
Computes and adjust the silence flags.
- Returns
- true if the buffer is silent (meaning all channels are silent)
◆ clear()
Clears the buffer (and sets the silence flag)
◆ copyFrom() [1/2]
Copy the content of the provided buffer to THIS buffer (up to num samples)
◆ copyFrom() [2/2]
UnaryOperation copyFrom |
( |
class_type const & |
iFromBuffer, |
|
|
UnaryOperation |
f |
|
) |
| |
|
inline |
Copy iFromBuffer
to this buffer, applying f
to each sample for each channel or in other words, for each channel c and each sample i.
getChannel(c).getBuffer[i] = f(iFromBuffer.getChannel(c).getBuffer[i]);
Example:
AudioBuffers<SampleType> in(data.inputs[0], data.numSamples);
AudioBuffers<SampleType> out(data.outputs[0], data.numSamples);
double gain = 0.5;
out.copyFrom(in, [gain](SampleType iSample) { return iSample * gain; });
- Template Parameters
-
UnaryOperation | can be a lambda, a function object (etc...) but should provide an api similar to std::function<SampleType(SampleType)> |
- Returns
- the function provided
◆ copyTo() [1/2]
Copy the content of THIS buffer to the provided buffer (up to num samples)
◆ copyTo() [2/2]
UnaryOperation copyTo |
( |
class_type & |
iToBuffer, |
|
|
UnaryOperation |
f |
|
) |
| const |
|
inline |
Same as copyFrom
with the roles reversed.
◆ forEachSample() [1/2]
UnaryFunction forEachSample |
( |
UnaryFunction |
f | ) |
|
|
inline |
Applies the provided unary function to each sample of each channel.
Example:
double gain = 0.5;
out.forEachSample([gain](SampleType &iSample) { iSample *= gain; });
- Template Parameters
-
UnaryFunction | can be a lambda, a function object (etc...) but should provide an api similar to std::function<void(SampleType)> or std::function<void(SampleType &)> |
- Returns
- the function (similar api as
std::for_each
)
◆ forEachSample() [2/2]
UnaryFunction forEachSample |
( |
UnaryFunction |
f | ) |
const |
|
inline |
Applies the provided unary function to each sample of each channel.
Because the method is const, the unary function cannot modify the elements.
Example:
auto max = out.forEachSample(AbsoluteMaxOp()).fAbsoluteMax;
- Template Parameters
-
UnaryFunction | can be a lambda, a function object (etc...) but should provide an api similar to std::function<void(SampleType)> or std::function<void(SampleType const &)> |
- Returns
- the function (similar api as
std::for_each
)
◆ getAudioChannel() [1/2]
Channel getAudioChannel |
( |
int32 |
iChannel | ) |
|
|
inline |
Return the audio channel for the provided channel.
Note that this method never fails and will return an object where Channel::isActive returns false
in the event the channel is not active.
- Returns
- the audio channel provided its channel
◆ getAudioChannel() [2/2]
const Channel getAudioChannel |
( |
int32 |
iChannel | ) |
const |
|
inline |
Return the audio channel for the provided channel.
Note that this method never fails and will return an object where Channel::isActive returns false
in the event the channel is not active.
- Returns
- the audio channel provided its channel
◆ getBuffer() [1/6]
SampleType** getBuffer |
( |
| ) |
|
|
inline |
◆ getBuffer() [2/6]
SampleType const* const* getBuffer |
( |
| ) |
const |
|
inline |
◆ getBuffer() [3/6]
Sample32 const *const * getBuffer |
( |
| ) |
const |
|
inline |
◆ getBuffer() [4/6]
Sample64 const *const * getBuffer |
( |
| ) |
const |
|
inline |
◆ getBuffer() [5/6]
Sample32 ** getBuffer |
( |
| ) |
|
|
inline |
◆ getBuffer() [6/6]
Sample64 ** getBuffer |
( |
| ) |
|
|
inline |
◆ getLeftChannel() [1/2]
- Returns
- the left channel (using the fact that the left channel is 0)
◆ getLeftChannel() [2/2]
const Channel getLeftChannel |
( |
| ) |
const |
|
inline |
- Returns
- the left channel (using the fact that the left channel is 0)
◆ getNumChannels()
int32 getNumChannels |
( |
| ) |
const |
|
inline |
- Returns
- number of channels (2 for stereo) of the underlying buffer
◆ getNumSamples()
int32 getNumSamples |
( |
| ) |
const |
|
inline |
- Returns
- number of samples in the buffer
◆ getRightChannel() [1/2]
- Returns
- the right channel (using the fact that the left channel is 1)
◆ getRightChannel() [2/2]
const Channel getRightChannel |
( |
| ) |
const |
|
inline |
- Returns
- the right channel (using the fact that the left channel is 1)
◆ getSilenceFlags()
uint64 getSilenceFlags |
( |
| ) |
const |
|
inline |
◆ isSilent() [1/2]
◆ isSilent() [2/2]
bool isSilent |
( |
int32 |
iChannel | ) |
const |
|
inline |
- Returns
- true if the channel is silent (according to silenceFlags)
◆ setSilenceFlag()
void setSilenceFlag |
( |
int32 |
iChannel, |
|
|
bool |
iSilent |
|
) |
| |
|
inline |
Sets a single channel silence flag.
◆ setSilenceFlags()
void setSilenceFlags |
( |
uint64 |
iFlags | ) |
const |
|
inline |
◆ fBuffer
◆ fNumSamples
The documentation for this class was generated from the following file: