39 if (input !=
nullptr && !
inputs.contains (input))
64 std::unique_ptr<AudioSource> toDelete;
68 const int index =
inputs.indexOf (input);
74 toDelete.reset (input);
91 for (
int i =
inputs.size(); --
i >= 0;)
98 for (
int i = toDelete.
size(); --
i >= 0;)
104 tempBuffer.setSize (2, samplesPerBlockExpected);
111 for (
int i =
inputs.size(); --
i >= 0;)
112 inputs.getUnchecked(
i)->prepareToPlay (samplesPerBlockExpected, sampleRate);
119 for (
int i =
inputs.size(); --
i >= 0;)
120 inputs.getUnchecked(
i)->releaseResources();
134 inputs.getUnchecked(0)->getNextAudioBlock (
info);
139 info.buffer->getNumSamples());
145 inputs.getUnchecked(
i)->getNextAudioBlock (info2);
147 for (
int chan = 0; chan <
info.buffer->getNumChannels(); ++chan)
154 info.clearActiveBufferRegion();
virtual void releaseResources()=0
virtual void prepareToPlay(int samplesPerBlockExpected, double sampleRate)=0
void removeInputSource(AudioSource *input)
Definition juce_MixerAudioSource.cpp:60
void getNextAudioBlock(const AudioSourceChannelInfo &) override
Definition juce_MixerAudioSource.cpp:128
AudioBuffer< float > tempBuffer
Definition juce_MixerAudioSource.h:92
MixerAudioSource()
Definition juce_MixerAudioSource.cpp:26
double currentSampleRate
Definition juce_MixerAudioSource.h:93
BigInteger inputsToDelete
Definition juce_MixerAudioSource.h:90
void removeAllInputs()
Definition juce_MixerAudioSource.cpp:84
int bufferSizeExpected
Definition juce_MixerAudioSource.h:94
CriticalSection lock
Definition juce_MixerAudioSource.h:91
void addInputSource(AudioSource *newInput, bool deleteWhenRemoved)
Definition juce_MixerAudioSource.cpp:37
void prepareToPlay(int samplesPerBlockExpected, double sampleRate) override
Definition juce_MixerAudioSource.cpp:102
~MixerAudioSource() override
Definition juce_MixerAudioSource.cpp:31
Array< AudioSource * > inputs
Definition juce_MixerAudioSource.h:89
void releaseResources() override
Definition juce_MixerAudioSource.cpp:115
Definition juce_OwnedArray.h:51
int size() const noexcept
Definition juce_OwnedArray.h:130
ObjectClass * getUnchecked(int index) const noexcept
Definition juce_OwnedArray.h:160
ObjectClass * add(ObjectClass *newObject)
Definition juce_OwnedArray.h:294
register unsigned i
Definition inflate.c:1575
struct backing_store_struct * info
Definition jmemsys.h:183
Definition carla_juce.cpp:31
CriticalSection::ScopedLockType ScopedLock
Definition juce_CriticalSection.h:186
constexpr Type jmax(Type a, Type b)
Definition juce_MathsFunctions.h:94
Definition juce_AudioSource.h:33