68 unsigned int numberOfChannels,
69 unsigned int bitsPerSample);
89 unsigned int bitsPerSample);
121 virtual bool write (
const int** samplesToWrite,
int numSamples) = 0;
132 virtual bool flush();
147 int64 numSamplesToRead);
159 int numSamplesToRead,
160 int samplesPerBlock = 2048);
165 int startSample,
int numSamples);
168 bool writeFromFloatArrays (
const float*
const* channels,
int numChannels,
int numSamples);
200 int numSamplesToBuffer);
217 bool write (
const float*
const* data,
int numSamples);
226 virtual void reset (
int numChannels,
double sampleRate, int64 totalSamplesInSource) = 0;
228 int startOffsetInBuffer,
int numSamples) = 0;
243 void setFlushInterval (
int numSamplesPerFlush)
noexcept;
247 std::unique_ptr<Buffer> buffer;
271 template <
class DestSampleType,
class SourceSampleType,
class DestEndianness>
274 using DestType = AudioData::Pointer <DestSampleType, DestEndianness, AudioData::Interleaved, AudioData::NonConst>;
275 using SourceType = AudioData::Pointer <SourceSampleType, AudioData::NativeEndian, AudioData::NonInterleaved, AudioData::Const>;
277 static void write (
void* destData,
int numDestChannels,
const int*
const* source,
278 int numSamples,
const int sourceOffset = 0)
noexcept
280 for (
int i = 0; i < numDestChannels; ++i)
282 const DestType dest (addBytesToPointer (destData, i * DestType::getBytesPerSample()), numDestChannels);
284 if (*source !=
nullptr)
A multi-channel buffer containing floating point audio samples.
Represents a set of audio channel types.
Used as a template parameter for AudioData::Pointer.
void clearSamples(int numSamples) const noexcept
Sets a number of samples to zero.
void convertSamples(Pointer source, int numSamples) const noexcept
Writes a stream of samples into this pointer from another pointer.
Base class for objects that can produce a continuous stream of audio.
The base class for streams that write data to some kind of destination.
A thread that keeps a list of clients, and calls each one in turn, giving them all a chance to run so...
#define JUCE_API
This macro is added to all JUCE public class declarations.