41 if (
newSource !=
nullptr && bufferSize > 0 && sampleRate > 0)
42 newSource->prepareToPlay (bufferSize, sampleRate);
66 jassert (sampleRate > 0 && bufferSize > 0);
70 if (source !=
nullptr)
81 if (
numInputs >= numElementsInArray (inputChans))
91 if (
numOutputs >= numElementsInArray (outputChans))
130 zeromem (channels[
numActiveChans], (
size_t) numSamples *
sizeof (
float));
140 for (
int i =
info.buffer->getNumChannels(); --i >= 0;)
141 buffer.applyGainRamp (i,
info.startSample,
info.numSamples, lastGain, gain);
156 device->getCurrentBufferSizeSamples());
163 zeromem (channels,
sizeof (channels));
165 if (source !=
nullptr)
171 if (source !=
nullptr)
void setSize(int newNumChannels, int newNumSamples, bool keepExistingContent=false, bool clearExtraSpace=false, bool avoidReallocating=false)
Type * getWritePointer(int channelNumber) noexcept
void setGain(float newGain) noexcept
void setSource(AudioSource *newSource)
void audioDeviceStopped() override
void audioDeviceIOCallback(const float **inputChannelData, int totalNumInputChannels, float **outputChannelData, int totalNumOutputChannels, int numSamples) override
~AudioSourcePlayer() override
void prepareToPlay(double sampleRate, int blockSize)
void audioDeviceAboutToStart(AudioIODevice *device) override
virtual void releaseResources()=0
virtual void prepareToPlay(int samplesPerBlockExpected, double sampleRate)=0
virtual void getNextAudioBlock(const AudioSourceChannelInfo &bufferToFill)=0