38 double sourceSampleRateToCorrectFor,
int maxNumChannels)
53 std::unique_ptr<ResamplingAudioSource> oldResamplerSource (
resamplerSource);
54 std::unique_ptr<BufferingAudioSource> oldBufferingSource (
bufferingSource);
57 if (newSource !=
nullptr)
59 newPositionableSource = newSource;
61 if (readAheadSize > 0)
65 jassert (readAheadThread !=
nullptr);
67 newPositionableSource = newBufferingSource
69 false, readAheadSize, maxNumChannels);
74 if (sourceSampleRateToCorrectFor > 0)
75 newMasterSource = newResamplerSource
78 newMasterSource = newPositionableSource;
82 if (newResamplerSource !=
nullptr && sourceSampleRateToCorrectFor > 0 &&
sampleRate > 0)
103 if (oldMasterSource !=
nullptr)
256 for (
int i =
info.buffer->getNumChannels(); --
i >= 0;)
257 info.buffer->applyGainRamp (
i,
info.startSample,
jmin (256,
info.numSamples), 1.0f, 0.0f);
259 if (
info.numSamples > 256)
260 info.buffer->clear (
info.startSample + 256,
info.numSamples - 256);
271 for (
int i =
info.buffer->getNumChannels(); --
i >= 0;)
276 info.clearActiveBufferRegion();
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_AudioSource.h:110
virtual void releaseResources()=0
virtual void prepareToPlay(int samplesPerBlockExpected, double sampleRate)=0
void stop()
Definition juce_AudioTransportSource.cpp:121
bool hasStreamFinished() const noexcept
Definition juce_AudioTransportSource.cpp:157
void prepareToPlay(int samplesPerBlockExpected, double sampleRate) override
Definition juce_AudioTransportSource.cpp:214
CriticalSection callbackLock
Definition juce_AudioTransportSource.h:168
int64 getNextReadPosition() const override
Definition juce_AudioTransportSource.cpp:177
double getCurrentPosition() const
Definition juce_AudioTransportSource.cpp:141
void releaseMasterResources()
Definition juce_AudioTransportSource.cpp:230
PositionableAudioSource * source
Definition juce_AudioTransportSource.h:162
float lastGain
Definition juce_AudioTransportSource.h:169
void releaseResources() override
Definition juce_AudioTransportSource.cpp:240
std::atomic< bool > playing
Definition juce_AudioTransportSource.h:170
void getNextAudioBlock(const AudioSourceChannelInfo &) override
Definition juce_AudioTransportSource.cpp:245
int blockSize
Definition juce_AudioTransportSource.h:172
int readAheadBufferSize
Definition juce_AudioTransportSource.h:172
int64 getTotalLength() const override
Definition juce_AudioTransportSource.cpp:190
~AudioTransportSource() override
Definition juce_AudioTransportSource.cpp:30
void setPosition(double newPosition)
Definition juce_AudioTransportSource.cpp:135
double getLengthInSeconds() const
Definition juce_AudioTransportSource.cpp:149
double sampleRate
Definition juce_AudioTransportSource.h:171
void setGain(float newGain) noexcept
Definition juce_AudioTransportSource.cpp:209
std::atomic< bool > stopped
Definition juce_AudioTransportSource.h:170
void setSource(PositionableAudioSource *newSource, int readAheadBufferSize=0, TimeSliceThread *readAheadThread=nullptr, double sourceSampleRateToCorrectFor=0.0, int maxNumChannels=2)
Definition juce_AudioTransportSource.cpp:36
bool isLooping() const override
Definition juce_AudioTransportSource.cpp:203
AudioTransportSource()
Definition juce_AudioTransportSource.cpp:26
float gain
Definition juce_AudioTransportSource.h:169
bool isPrepared
Definition juce_AudioTransportSource.h:173
void start()
Definition juce_AudioTransportSource.cpp:107
void setNextReadPosition(int64 newPosition) override
Definition juce_AudioTransportSource.cpp:163
BufferingAudioSource * bufferingSource
Definition juce_AudioTransportSource.h:164
ResamplingAudioSource * resamplerSource
Definition juce_AudioTransportSource.h:163
AudioSource * masterSource
Definition juce_AudioTransportSource.h:166
double sourceSampleRate
Definition juce_AudioTransportSource.h:171
PositionableAudioSource * positionableSource
Definition juce_AudioTransportSource.h:165
Definition juce_BufferingAudioSource.h:40
void sendChangeMessage()
Definition juce_ChangeBroadcaster.cpp:65
PositionableAudioSource()=default
virtual void setNextReadPosition(int64 newPosition)=0
Definition juce_ResamplingAudioSource.h:35
void setResamplingRatio(double samplesInPerOutputSample)
Definition juce_ResamplingAudioSource.cpp:38
static void JUCE_CALLTYPE sleep(int milliseconds)
Definition juce_posix_SharedCode.h:44
Definition juce_TimeSliceThread.h:83
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 jmin(Type a, Type b)
Definition juce_MathsFunctions.h:106
long long int64
Definition juce_MathsFunctions.h:54
Definition juce_AudioSource.h:33
int n
Definition crypt.c:458
#define const
Definition zconf.h:137