 |
CUGL 1.3
Cornell University Game Library
|
34 #ifndef __CU_AUDIO_RESAMPLER_H__
35 #define __CU_AUDIO_RESAMPLER_H__
36 #include <cugl/audio/graph/CUAudioNode.h>
65 mutable std::mutex _buffmtex;
68 std::shared_ptr<AudioNode> _input;
71 SDL_AudioStream* _resampler;
79 std::atomic<float> _cvtratio;
83 #pragma mark Constructors
109 virtual bool init()
override;
123 virtual bool init(Uint8 channels, Uint32 rate)
override;
131 virtual void dispose()
override;
135 #pragma mark Static Constructors
145 static std::shared_ptr<AudioResampler>
alloc() {
146 std::shared_ptr<AudioResampler> result = std::make_shared<AudioResampler>();
147 return (result->init() ? result :
nullptr);
162 static std::shared_ptr<AudioResampler>
alloc(Uint8 channels, Uint32 rate) {
163 std::shared_ptr<AudioResampler> result = std::make_shared<AudioResampler>();
164 return (result->init(channels,rate) ? result :
nullptr);
168 #pragma mark Audio Graph
181 bool attach(
const std::shared_ptr<AudioNode>& node);
191 std::shared_ptr<AudioNode>
detach();
198 std::shared_ptr<AudioNode>
getInput()
const {
return _input; }
201 #pragma mark Playback Control
232 virtual Uint32
read(
float* buffer, Uint32 frames)
override;
235 #pragma mark Optional Methods
253 virtual bool mark()
override;
269 virtual bool unmark()
override;
286 virtual bool reset()
override;
303 virtual Sint64
advance(Uint32 frames)
override;
337 virtual Sint64
setPosition(Uint32 position)
override;
371 virtual double setElapsed(
double time)
override;
virtual bool mark() override
~AudioResampler()
Definition: CUAudioResampler.h:98
virtual Uint32 read(float *buffer, Uint32 frames) override
virtual double getElapsed() const override
virtual double setRemaining(double time) override
virtual bool unmark() override
virtual Sint64 advance(Uint32 frames) override
virtual Sint64 getPosition() const override
virtual Sint64 setPosition(Uint32 position) override
static std::shared_ptr< AudioResampler > alloc()
Definition: CUAudioResampler.h:145
virtual bool completed() override
std::shared_ptr< AudioNode > getInput() const
Definition: CUAudioResampler.h:198
virtual double setElapsed(double time) override
static std::shared_ptr< AudioResampler > alloc(Uint8 channels, Uint32 rate)
Definition: CUAudioResampler.h:162
virtual bool init() override
Definition: CUAudioResampler.h:62
virtual bool reset() override
virtual void dispose() override
std::shared_ptr< AudioNode > detach()
virtual double getRemaining() const override
bool attach(const std::shared_ptr< AudioNode > &node)
Definition: CUAudioNode.h:93