30 : input (in), formatName (name)
39static void convertFixedToFloat (
int*
const* channels,
int numChannels,
int numSamples)
41 constexpr auto scaleFactor = 1.0f /
static_cast<float> (0x7fffffff);
43 for (
int i = 0; i < numChannels; ++i)
44 if (
auto d = channels[i])
45 FloatVectorOperations::convertFixedToFloat (
reinterpret_cast<float*
> (d), d, scaleFactor, numSamples);
78 if (
auto d = destChannels[i])
102 if (destChannels[i] !=
nullptr)
111 if (
auto d = destChannels[i])
117 if (
auto d = destChannels[i])
184 && (
chans[0] ==
nullptr ||
chans[1] ==
nullptr)
185 && (
dests[0] !=
nullptr &&
dests[1] !=
nullptr))
191 convertFixedToFloat (
dests, 2, numSamples);
199 return readChannels (*
this,
chans, buffer, startSample, numSamples,
205 return readChannels (*
this,
chans, buffer, startSample, numSamples,
222 auto bufferSize = (
int)
jmin (numSamples, (
int64) 4096);
229 while (numSamples > 0)
270 levels[1] = levels[0];
292 const int bufferSize = 4096;
328 bool matches =
false;
333 const float sample1 = std::abs (((
float*) tempBuffer[0]) [index]);
342 const float sample2 = std::abs (((
float*) tempBuffer[1]) [index]);
350 const int sample1 = std::abs (tempBuffer[0] [index]);
359 const int sample2 = std::abs (tempBuffer[1][index]);
407 dataChunkStart (start), dataLength (length), bytesPerFrame (
frameSize)
433 if (map->getData() ==
nullptr)
440 return map !=
nullptr;
443static int memoryReadDummyVariable;
447 if (map !=
nullptr && mappedSection.contains (sample))
448 memoryReadDummyVariable += *(
char*) sampleToPointer (sample);
A multi-channel buffer containing floating point audio samples.
Type * getWritePointer(int channelNumber) noexcept
Returns a writeable pointer to one of the buffer's channels.
int getNumChannels() const noexcept
Returns the number of channels of audio data that this buffer contains.
Represents a set of audio channel types.
static AudioChannelSet JUCE_CALLTYPE canonicalChannelSet(int numChannels)
Create a canonical channel set for a given number of channels.
Represents a local file or directory.
Very simple container class to hold a pointer to some data on the heap.
Maps a file into virtual memory for easy reading and/or writing.
@ readOnly
Indicates that the memory can only be read.
A general-purpose range object, that simply represents any linear range with a start and end point.
constexpr ValueType getStart() const noexcept
Returns the start of the range.
constexpr ValueType getEnd() const noexcept
Returns the end of the range.
constexpr Range getUnionWith(Range other) const noexcept
Returns the smallest range that contains both this one and the other one.
static Range findMinAndMax(const ValueType *values, Integral numValues) noexcept
Scans an array of values for its min and max, and returns these as a Range.
constexpr Type jmin(Type a, Type b)
Returns the smaller of two values.
constexpr Type jmax(Type a, Type b)
Returns the larger of two values.
Type jlimit(Type lowerLimit, Type upperLimit, Type valueToConstrain) noexcept
Constrains a value to keep it within a given range.
Type unalignedPointerCast(void *ptr) noexcept
Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes ar...
int roundToInt(const FloatType value) noexcept
Fast floating-point-to-integer conversion.
long long int64
A platform-independent 64-bit integer type.
void zeromem(void *memory, size_t numBytes) noexcept
Fills a block of memory with zeros.