 |
CUGL 1.3
Cornell University Game Library
|
39 #ifndef __CU_AUDIO_PLAYER_H__
40 #define __CU_AUDIO_PLAYER_H__
42 #include <cugl/audio/CUAudioSample.h>
43 #include "CUAudioNode.h"
53 #pragma mark Base Player
109 #pragma mark Constructors
133 bool init(
const std::shared_ptr<AudioSample>& source);
141 virtual void dispose()
override;
153 static std::shared_ptr<AudioPlayer>
alloc(
const std::shared_ptr<AudioSample>& sample) {
154 std::shared_ptr<AudioPlayer> result = std::make_shared<AudioPlayer>();
155 return (result->init(sample) ? result :
nullptr);
165 #pragma mark Overriden Methods
184 virtual Uint32
read(
float* buffer, Uint32 frames)
override;
204 virtual bool mark()
override;
215 virtual bool unmark()
override;
225 virtual bool reset()
override;
237 virtual Sint64
advance(Uint32 frames)
override;
259 virtual Sint64
setPosition(Uint32 position)
override;
281 virtual double setElapsed(
double time)
override;
306 #pragma mark Stream Decoding
319 void scan(Uint64 frame);
std::atomic< Uint64 > _marked
Definition: CUAudioPlayer.h:90
std::shared_ptr< AudioDecoder > _decoder
Definition: CUAudioPlayer.h:85
virtual bool unmark() override
Uint32 _chklimt
Definition: CUAudioPlayer.h:101
float * _buffer
Definition: CUAudioPlayer.h:93
virtual Sint64 advance(Uint32 frames) override
std::shared_ptr< AudioSample > getSource()
Definition: CUAudioPlayer.h:163
virtual double setElapsed(double time) override
Uint32 _chklast
Definition: CUAudioPlayer.h:103
static std::shared_ptr< AudioPlayer > alloc(const std::shared_ptr< AudioSample > &sample)
Definition: CUAudioPlayer.h:153
virtual bool mark() override
virtual Uint32 read(float *buffer, Uint32 frames) override
std::shared_ptr< AudioSample > _source
Definition: CUAudioPlayer.h:83
std::atomic< bool > _dirty
Definition: CUAudioPlayer.h:106
virtual double getElapsed() const override
virtual double getRemaining() const override
~AudioPlayer()
Definition: CUAudioPlayer.h:121
virtual double setRemaining(double time) override
virtual bool reset() override
Uint32 _chksize
Definition: CUAudioPlayer.h:99
virtual void dispose() override
float * _chunker
Definition: CUAudioPlayer.h:97
virtual Sint64 setPosition(Uint32 position) override
Definition: CUAudioPlayer.h:80
Definition: CUAudioNode.h:93
std::atomic< Uint64 > _offset
Definition: CUAudioPlayer.h:88
virtual bool completed() override
virtual Sint64 getPosition() const override