63 unsigned int numberOfChannels,
64 unsigned int bitsPerSample);
84 unsigned int bitsPerSample);
116 virtual bool write (
const int** samplesToWrite,
int numSamples) = 0;
127 virtual bool flush();
142 int64 numSamplesToRead);
154 int numSamplesToRead,
155 int samplesPerBlock = 2048);
160 int startSample,
int numSamples);
163 bool writeFromFloatArrays (
const float*
const* channels,
int numChannels,
int numSamples);
195 int numSamplesToBuffer);
212 bool write (
const float*
const* data,
int numSamples);
221 virtual void reset (
int numChannels,
double sampleRate, int64 totalSamplesInSource) = 0;
223 int startOffsetInBuffer,
int numSamples) = 0;
238 void setFlushInterval (
int numSamplesPerFlush)
noexcept;
242 std::unique_ptr<Buffer> buffer;
266 template <
class DestSampleType,
class SourceSampleType,
class DestEndianness>
272 static void write (
void* destData,
int numDestChannels,
const int*
const* source,
273 int numSamples,
const int sourceOffset = 0)
noexcept
275 for (
int i = 0; i < numDestChannels; ++i)
277 const DestType dest (addBytesToPointer (destData, i * DestType::getBytesPerSample()), numDestChannels);
279 if (*source !=
nullptr)
void clearSamples(int numSamples) const noexcept
void convertSamples(Pointer source, int numSamples) const noexcept