25 #ifndef JUCE_AUDIOFORMATREADER_H_INCLUDED 26 #define JUCE_AUDIOFORMATREADER_H_INCLUDED 104 bool read (
int*
const* destSamples,
106 int64 startSampleInSource,
107 int numSamplesToRead,
108 bool fillLeftoverChannelsWithCopies);
118 int startSampleInDestBuffer,
120 int64 readerStartSample,
121 bool useReaderLeftChan,
122 bool useReaderRightChan);
140 virtual void readMaxLevels (
int64 startSample,
int64 numSamples,
160 virtual void readMaxLevels (
int64 startSample,
int64 numSamples,
161 float& lowestLeft,
float& highestLeft,
162 float& lowestRight,
float& highestRight);
187 int64 numSamplesToSearch,
188 double magnitudeRangeMinimum,
189 double magnitudeRangeMaximum,
190 int minimumConsecutiveSamples);
237 virtual bool readSamples (
int** destSamples,
239 int startOffsetInDestBuffer,
240 int64 startSampleInFile,
247 template <
class DestSampleType,
class SourceSampleType,
class SourceEndianness>
253 template <
typename TargetType>
254 static void read (TargetType*
const* destData,
int destOffset,
int numDestChannels,
255 const void* sourceData,
int numSourceChannels,
int numSamples)
noexcept 257 for (
int i = 0; i < numDestChannels; ++i)
259 if (
void* targetChan = destData[i])
261 DestType dest (targetChan);
264 if (i < numSourceChannels)
277 int startOffsetInDestBuffer,
int64 startSampleInFile,
278 int& numSamples,
int64 fileLengthInSamples)
280 jassert (destSamples !=
nullptr);
281 const int64 samplesAvailable = fileLengthInSamples - startSampleInFile;
283 if (samplesAvailable < numSamples)
285 for (
int i = numDestChannels; --i >= 0;)
286 if (destSamples[i] !=
nullptr)
287 zeromem (destSamples[i] + startOffsetInDestBuffer,
sizeof (
int) * (
size_t) numSamples);
289 numSamples = (
int) samplesAvailable;
300 #endif // JUCE_AUDIOFORMATREADER_H_INCLUDED Definition: juce_AudioSampleBuffer.h:34
Definition: juce_StringPairArray.h:39
#define noexcept
Definition: juce_CompilerSupport.h:141
Definition: juce_AudioDataConverters.h:355
void zeromem(void *memory, size_t numBytes) noexcept
Definition: juce_Memory.h:34
Definition: juce_Range.h:44
TOUCHINPUT int
Definition: juce_win32_Windowing.cpp:123
Type * addBytesToPointer(Type *basePointer, IntegerType bytes) noexcept
Definition: juce_Memory.h:53
Definition: juce_String.h:43
#define JUCE_API
Definition: juce_StandardHeader.h:139
JOCTET * buffer
Definition: juce_JPEGLoader.cpp:302
void convertSamples(Pointer source, int numSamples) const noexcept
Definition: juce_AudioDataConverters.h:441
long long int64
Definition: juce_MathsFunctions.h:60
void clearSamples(int numSamples) const noexcept
Definition: juce_AudioDataConverters.h:483