 |
CUGL 1.3
Cornell University Game Library
|
9 #ifndef __CU_AUDIO_INPUT_H__
10 #define __CU_AUDIO_INPUT_H__
12 #include "CUAudioNode.h"
13 #include <unordered_set>
82 SDL_AudioDeviceID _device;
84 SDL_AudioSpec _audiospec;
87 std::atomic<bool> _record;
90 std::atomic<bool> _active;
93 std::atomic<Sint64> _timeout;
96 mutable std::mutex _buffmtex;
115 std::deque<float> _playback;
118 #pragma mark AudioManager Methods
142 virtual bool init()
override;
170 virtual bool init(Uint8 channels, Uint32 rate)
override;
210 bool init(Uint8 channels, Uint32 rate, Uint32 buffer, Uint32 delay);
235 bool init(
const std::string& device);
274 bool init(
const std::string& device, Uint8 channels, Uint32 rate, Uint32 buffer, Uint32 delay);
282 virtual void dispose()
override;
293 void setActive(
bool active);
319 #pragma mark Data Access
325 const SDL_AudioDeviceID
getAUID()
const {
return _device; }
377 #pragma mark Playback Control
391 virtual bool pause()
override;
405 virtual bool resume()
override;
465 std::shared_ptr<AudioSample>
save();
468 #pragma mark Audio Graph
500 virtual Uint32
read(
float* buffer, Uint32 frames)
override;
519 Uint32
record(
float* buffer, Uint32 frames);
535 #pragma mark Optional Methods
546 virtual bool mark()
override;
557 virtual bool unmark()
override;
569 virtual bool reset()
override;
594 virtual Sint64
setPosition(Uint32 position)
override;
619 virtual double setElapsed(
double time)
override;
Definition: CUAudioManager.h:74
Definition: CUAudioNode.h:93