mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-22 01:34:21 +00:00
Tightened up some array const-ness in AudioFormatWriter.
This commit is contained in:
parent
6aae0c798c
commit
a9d15e04da
2 changed files with 15 additions and 15 deletions
|
|
@ -127,7 +127,7 @@ bool AudioFormatWriter::writeFromAudioSource (AudioSource& source, int numSample
|
|||
return true;
|
||||
}
|
||||
|
||||
bool AudioFormatWriter::writeFromFloatArrays (const float** channels, int numSourceChannels, int numSamples)
|
||||
bool AudioFormatWriter::writeFromFloatArrays (const float* const* channels, int numSourceChannels, int numSamples)
|
||||
{
|
||||
if (numSamples <= 0)
|
||||
return true;
|
||||
|
|
@ -170,7 +170,7 @@ bool AudioFormatWriter::writeFromAudioSampleBuffer (const AudioSampleBuffer& sou
|
|||
jassert (startSample >= 0 && startSample + numSamples <= source.getNumSamples() && numSourceChannels > 0);
|
||||
|
||||
if (startSample == 0)
|
||||
return writeFromFloatArrays ((const float**) source.getArrayOfChannels(), numSourceChannels, numSamples);
|
||||
return writeFromFloatArrays (source.getArrayOfChannels(), numSourceChannels, numSamples);
|
||||
|
||||
const float* chans [256];
|
||||
jassert ((int) numChannels < numElementsInArray (chans));
|
||||
|
|
@ -184,12 +184,11 @@ bool AudioFormatWriter::writeFromAudioSampleBuffer (const AudioSampleBuffer& sou
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
class AudioFormatWriter::ThreadedWriter::Buffer : public AbstractFifo,
|
||||
private TimeSliceClient
|
||||
class AudioFormatWriter::ThreadedWriter::Buffer : private TimeSliceClient
|
||||
{
|
||||
public:
|
||||
Buffer (TimeSliceThread& tst, AudioFormatWriter* w, int channels, int numSamples)
|
||||
: AbstractFifo (numSamples),
|
||||
: fifo (numSamples),
|
||||
buffer (channels, numSamples),
|
||||
timeSliceThread (tst),
|
||||
writer (w),
|
||||
|
|
@ -209,7 +208,7 @@ public:
|
|||
{}
|
||||
}
|
||||
|
||||
bool write (const float** data, int numSamples)
|
||||
bool write (const float* const* data, int numSamples)
|
||||
{
|
||||
if (numSamples <= 0 || ! isRunning)
|
||||
return true;
|
||||
|
|
@ -217,7 +216,7 @@ public:
|
|||
jassert (timeSliceThread.isThreadRunning()); // you need to get your thread running before pumping data into this!
|
||||
|
||||
int start1, size1, start2, size2;
|
||||
prepareToWrite (numSamples, start1, size1, start2, size2);
|
||||
fifo.prepareToWrite (numSamples, start1, size1, start2, size2);
|
||||
|
||||
if (size1 + size2 < numSamples)
|
||||
return false;
|
||||
|
|
@ -228,7 +227,7 @@ public:
|
|||
buffer.copyFrom (i, start2, data[i] + size1, size2);
|
||||
}
|
||||
|
||||
finishedWrite (size1 + size2);
|
||||
fifo.finishedWrite (size1 + size2);
|
||||
timeSliceThread.notify();
|
||||
return true;
|
||||
}
|
||||
|
|
@ -240,10 +239,10 @@ public:
|
|||
|
||||
int writePendingData()
|
||||
{
|
||||
const int numToDo = getTotalSize() / 4;
|
||||
const int numToDo = fifo.getTotalSize() / 4;
|
||||
|
||||
int start1, size1, start2, size2;
|
||||
prepareToRead (numToDo, start1, size1, start2, size2);
|
||||
fifo.prepareToRead (numToDo, start1, size1, start2, size2);
|
||||
|
||||
if (size1 <= 0)
|
||||
return 10;
|
||||
|
|
@ -266,7 +265,7 @@ public:
|
|||
samplesWritten += size2;
|
||||
}
|
||||
|
||||
finishedRead (size1 + size2);
|
||||
fifo.finishedRead (size1 + size2);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -281,6 +280,7 @@ public:
|
|||
}
|
||||
|
||||
private:
|
||||
AbstractFifo fifo;
|
||||
AudioSampleBuffer buffer;
|
||||
TimeSliceThread& timeSliceThread;
|
||||
ScopedPointer<AudioFormatWriter> writer;
|
||||
|
|
@ -301,7 +301,7 @@ AudioFormatWriter::ThreadedWriter::~ThreadedWriter()
|
|||
{
|
||||
}
|
||||
|
||||
bool AudioFormatWriter::ThreadedWriter::write (const float** data, int numSamples)
|
||||
bool AudioFormatWriter::ThreadedWriter::write (const float* const* data, int numSamples)
|
||||
{
|
||||
return buffer->write (data, numSamples);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ public:
|
|||
int startSample, int numSamples);
|
||||
|
||||
/** Writes some samples from a set of float data channels. */
|
||||
bool writeFromFloatArrays (const float** channels, int numChannels, int numSamples);
|
||||
bool writeFromFloatArrays (const float* const* channels, int numChannels, int numSamples);
|
||||
|
||||
//==============================================================================
|
||||
/** Returns the sample rate being used. */
|
||||
|
|
@ -177,7 +177,7 @@ public:
|
|||
The data must be an array containing the same number of channels as the
|
||||
AudioFormatWriter object is using. None of these channels can be null.
|
||||
*/
|
||||
bool write (const float** data, int numSamples);
|
||||
bool write (const float* const* data, int numSamples);
|
||||
|
||||
class JUCE_API IncomingDataReceiver
|
||||
{
|
||||
|
|
@ -229,7 +229,7 @@ protected:
|
|||
typedef AudioData::Pointer <DestSampleType, DestEndianness, AudioData::Interleaved, AudioData::NonConst> DestType;
|
||||
typedef AudioData::Pointer <SourceSampleType, AudioData::NativeEndian, AudioData::NonInterleaved, AudioData::Const> SourceType;
|
||||
|
||||
static void write (void* destData, int numDestChannels, const int** source,
|
||||
static void write (void* destData, int numDestChannels, const int* const* source,
|
||||
int numSamples, const int sourceOffset = 0) noexcept
|
||||
{
|
||||
for (int i = 0; i < numDestChannels; ++i)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue