 |
CUGL 1.3
Cornell University Game Library
|
47 #ifndef __CU_AUDIO_OUTPUT_H__
48 #define __CU_AUDIO_OUTPUT_H__
50 #include "CUAudioNode.h"
51 #include <cugl/math/dsp/CUBiquadIIR.h>
52 #include <unordered_set>
114 std::atomic<Uint64> _overhd;
117 SDL_AudioDeviceID _device;
119 SDL_AudioSpec _audiospec;
122 std::atomic<bool> _active;
125 std::shared_ptr<AudioNode> _input;
128 SDL_AudioStream* _resampler;
137 #pragma mark AudioManager Methods
158 virtual bool init()
override;
183 virtual bool init(Uint8 channels, Uint32 rate)
override;
217 bool init(Uint8 channels, Uint32 rate, Uint32 buffer);
239 bool init(
const std::string& device);
272 bool init(
const std::string& device, Uint8 channels, Uint32 rate, Uint32 buffer);
280 virtual void dispose()
override;
291 void setActive(
bool active);
314 #pragma mark Data Access
320 const SDL_AudioDeviceID
getAUID()
const {
return _device; }
374 #pragma mark Audio Graph
385 bool attach(
const std::shared_ptr<AudioNode>& node);
394 std::shared_ptr<AudioNode>
detach();
401 std::shared_ptr<AudioNode>
getInput() {
return _input; }
404 #pragma mark Playback Control
413 virtual bool pause()
override;
424 virtual bool resume()
override;
456 virtual Uint32
read(
float* buffer, Uint32 frames)
override;
481 #pragma mark Optional Methods
499 virtual bool mark()
override;
515 virtual bool unmark()
override;
532 virtual bool reset()
override;
549 virtual Sint64
advance(Uint32 frames)
override;
583 virtual Sint64
setPosition(Uint32 position)
override;
617 virtual double setElapsed(
double time)
override;
virtual bool resume() override
virtual double getRemaining() const override
virtual Sint64 setPosition(Uint32 position) override
const std::string & getDevice() const
size_t getBitRate() const
Definition: CUAudioOutput.h:371
Uint64 getOverhead() const
virtual bool reset() override
virtual Sint64 getPosition() const override
std::shared_ptr< AudioNode > getInput()
Definition: CUAudioOutput.h:401
virtual bool pause() override
virtual Uint32 read(float *buffer, Uint32 frames) override
virtual bool unmark() override
const SDL_AudioDeviceID getAUID() const
Definition: CUAudioOutput.h:320
Definition: CUAudioManager.h:74
virtual double setRemaining(double time) override
virtual double getElapsed() const override
Definition: CUAudioOutput.h:108
virtual bool completed() override
Uint16 getCapacity() const
Definition: CUAudioOutput.h:359
virtual bool mark() override
virtual double setElapsed(double time) override
bool isDefault() const
Definition: CUAudioOutput.h:337
std::shared_ptr< AudioNode > detach()
bool attach(const std::shared_ptr< AudioNode > &node)
virtual Sint64 advance(Uint32 frames) override
Definition: CUAudioNode.h:93