46 bool deleteInputWhenDeleted,
60 void setResamplingRatio (
double samplesInPerOutputSample);
72 void prepareToPlay (
int samplesPerBlockExpected,
double sampleRate)
override;
73 void releaseResources()
override;
79 double ratio = 1.0, lastRatio = 1.0;
81 int bufferPos = 0, sampsInBuffer = 0;
82 double subSampleOffset = 0.0;
83 double coefficients[6];
86 const int numChannels;
90 void setFilterCoefficients (
double c1,
double c2,
double c3,
double c4,
double c5,
double c6);
91 void createLowPass (
double proportionalRate);
95 double x1, x2,
y1, y2;
98 HeapBlock<FilterState> filterStates;
101 void applyFilter (
float* samples,
int num, FilterState& fs);
A multi-channel buffer containing floating point audio samples.
Base class for objects that can produce a continuous stream of audio.
Very simple container class to hold a pointer to some data on the heap.
Holds a pointer to an object which can optionally be deleted when this pointer goes out of scope.
A type of AudioSource that takes an input source and changes its sample rate.
double getResamplingRatio() const noexcept
Returns the current resampling ratio.
A simple spin-lock class that can be used as a simple, low-overhead mutex for uncontended situations.
Used by AudioSource::getNextAudioBlock().