Jamba
3.1.0
|
#include <AudioBuffer.h>
Classes | |
struct | AbsoluteMaxOp |
class | Channel |
Public Types | |
typedef AudioBuffers< SampleType > | class_type |
Public Member Functions | |
SampleType | absoluteMax () const |
bool | adjustSilenceFlags () |
AudioBuffers (AudioBusBuffers &buffer, int32 numSamples) | |
tresult | clear () |
tresult | copyFrom (class_type const &fromBuffer) |
template<typename UnaryOperation > | |
UnaryOperation | copyFrom (class_type const &iFromBuffer, UnaryOperation f) |
tresult | copyTo (class_type &toBuffer) const |
template<typename UnaryOperation > | |
UnaryOperation | copyTo (class_type &iToBuffer, UnaryOperation f) const |
template<typename UnaryFunction > | |
UnaryFunction | forEachSample (UnaryFunction f) |
template<typename UnaryFunction > | |
UnaryFunction | forEachSample (UnaryFunction f) const |
Channel | getAudioChannel (int32 iChannel) |
const Channel | getAudioChannel (int32 iChannel) const |
SampleType ** | getBuffer () |
SampleType const *const * | getBuffer () const |
template<> | |
Sample32 const *const * | getBuffer () const |
template<> | |
Sample64 const *const * | getBuffer () const |
template<> | |
Sample32 ** | getBuffer () |
template<> | |
Sample64 ** | getBuffer () |
Channel | getLeftChannel () |
const Channel | getLeftChannel () const |
int32 | getNumChannels () const |
int32 | getNumSamples () const |
Channel | getRightChannel () |
const Channel | getRightChannel () const |
uint64 | getSilenceFlags () const |
bool | isSilent () const |
bool | isSilent (int32 iChannel) const |
void | setSilenceFlag (int32 iChannel, bool iSilent) |
void | setSilenceFlags (uint64 iFlags) const |
Private Attributes | |
AudioBusBuffers & | fBuffer |
const int32 | fNumSamples |
Represents all the buffers (example for a stereo channel there is 2 underlying sample buffers)
SampleType |
typedef AudioBuffers<SampleType> pongasoft::VST::AudioBuffers< SampleType >::class_type |
|
inline |
|
inline |
|
inline |
Computes and adjust the silence flags
|
inline |
Clears the buffer (and sets the silence flag)
|
inline |
Copy the content of the provided buffer to THIS buffer (up to num samples)
|
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; });
UnaryOperation | can be a lambda, a function object (etc...) but should provide an api similar to std::function<SampleType(SampleType)> |
|
inline |
Copy the content of THIS buffer to the provided buffer (up to num samples)
|
inline |
Same as copyFrom
with the roles reversed
|
inline |
Applies the provided unary function to each sample of each channel
Example:
double gain = 0.5; out.forEachSample([gain](SampleType &iSample) { iSample *= gain; });
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 &)> |
std::for_each
)
|
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;
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 &)> |
std::for_each
)
|
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.
|
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.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Sets a single channel silence flag
|
inline |
|
private |
|
private |