|
Jamba C++ API
6.3.0
|
Represents all the buffers (example for a stereo channel there is 2 underlying sample buffers) More...
#include <AudioBuffer.h>
Classes | |
| struct | AbsoluteMaxOp |
| Unary operator adapter for computing the absolute max. More... | |
| class | Channel |
| Represents a single channel (for example left audio channel). More... | |
Public Types | |
| typedef AudioBuffers< SampleType > | class_type |
Public Member Functions | |
| SampleType | absoluteMax () const |
| bool | adjustSilenceFlags () |
| Computes and adjust the silence flags. More... | |
| AudioBuffers (AudioBusBuffers &buffer, int32 numSamples) | |
| tresult | clear () |
| Clears the buffer (and sets the silence flag) More... | |
| void | clearSilentFlag () |
| Makes the buffer NON silent (by setting the flag to 0). More... | |
| tresult | copyFrom (class_type const &fromBuffer) |
| Copy the content of the provided buffer to THIS buffer (up to num samples) More... | |
| template<typename UnaryOperation > | |
| UnaryOperation | copyFrom (class_type const &iFromBuffer, UnaryOperation f) |
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. More... | |
| tresult | copyTo (class_type &toBuffer) const |
| Copy the content of THIS buffer to the provided buffer (up to num samples) More... | |
| template<typename UnaryOperation > | |
| UnaryOperation | copyTo (class_type &iToBuffer, UnaryOperation f) const |
Same as copyFrom with the roles reversed. More... | |
| template<typename UnaryFunction > | |
| UnaryFunction | forEachSample (UnaryFunction f) |
| Applies the provided unary function to each sample of each channel. More... | |
| template<typename UnaryFunction > | |
| UnaryFunction | forEachSample (UnaryFunction f) const |
| Applies the provided unary function to each sample of each channel. More... | |
| AudioBusBuffers & | getAudioBusBuffers () |
Returns the AudioBusBuffers original buffer. More... | |
| AudioBusBuffers const & | getAudioBusBuffers () const |
Returns the AudioBusBuffers original buffer (const version) More... | |
| Channel | getAudioChannel (int32 iChannel) |
| Return the audio channel for the provided channel. More... | |
| const Channel | getAudioChannel (int32 iChannel) const |
| Return the audio channel for the provided channel. More... | |
| SampleType ** | getBuffer () |
| Returns the underlying (sample) buffer. More... | |
| 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) |
| Sets a single channel silence flag. More... | |
| 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> class_type |
|
inline |
|
inline |
|
inline |
Computes and adjust the silence flags.
|
inline |
Clears the buffer (and sets the silence flag)
|
inline |
Makes the buffer NON silent (by setting the flag to 0).
A flag is set to 1 when silent, so when set to 0 it is non silent...
|
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 |
Returns the AudioBusBuffers original buffer.
|
inline |
Returns the AudioBusBuffers original buffer (const version)
|
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 |
Returns the underlying (sample) buffer.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Sets a single channel silence flag.
|
inline |
|
private |
|
private |