36 #ifndef __CU_AUDIO_MANAGER_H__
37 #define __CU_AUDIO_MANAGER_H__
39 #include <unordered_map>
88 std::unordered_map<std::string, std::shared_ptr<audio::AudioOutput>> _outputs;
90 std::unordered_map<std::string, std::shared_ptr<audio::AudioInput>> _inputs;
93 #pragma mark Constructors (Private)
124 bool init(Uint32 output, Uint32 input);
137 #pragma mark Static Attributes
146 #pragma mark Static Accessors
193 static void start(Uint32 frames);
220 static void start(Uint32 output, Uint32 input);
246 static std::vector<std::string>
devices(
bool output);
259 static std::vector<std::string>
occupied(
bool output);
262 #pragma mark Manager Properties
342 #pragma mark Output Devices
356 std::shared_ptr<audio::AudioOutput>
openOutput();
374 std::shared_ptr<audio::AudioOutput>
openOutput(Uint8 channels, Uint32 rate);
389 std::shared_ptr<audio::AudioOutput>
openOutput(
const char* device);
404 std::shared_ptr<audio::AudioOutput>
openOutput(
const std::string& device);
421 std::shared_ptr<audio::AudioOutput>
openOutput(
const char* device, Uint8 channels, Uint32 rate);
438 std::shared_ptr<audio::AudioOutput>
openOutput(
const std::string& device, Uint8 channels, Uint32 rate);
450 bool closeOutput(
const std::shared_ptr<audio::AudioOutput>& device);
453 #pragma mark Input Devices
473 std::shared_ptr<audio::AudioInput>
openInput();
501 std::shared_ptr<audio::AudioInput>
openInput(Uint8 channels, Uint32 rate, Uint32 delay);
522 std::shared_ptr<audio::AudioInput>
openInput(
const char* device);
543 std::shared_ptr<audio::AudioInput>
openInput(
const std::string& device);
570 std::shared_ptr<audio::AudioInput>
openInput(
const char* device, Uint8 channels, Uint32 rate, Uint32 delay);
597 std::shared_ptr<audio::AudioInput>
openInput(
const std::string& device, Uint8 channels, Uint32 rate, Uint32 delay);
609 bool closeInput(
const std::shared_ptr<audio::AudioInput>& engine);
bool closeOutput(const std::shared_ptr< audio::AudioOutput > &device)
Uint32 getWriteSize() const
Definition: CUAudioManager.h:291
Definition: CUAudioManager.h:74
bool closeInput(const std::shared_ptr< audio::AudioInput > &engine)
static const Uint32 DEFAULT_INPUT_BUFFER
Definition: CUAudioManager.h:143
static const Uint32 DEFAULT_OUTPUT_BUFFER
Definition: CUAudioManager.h:140
std::shared_ptr< audio::AudioOutput > openOutput()
static std::vector< std::string > occupied(bool output)
std::shared_ptr< audio::AudioInput > openInput()
Uint32 getReadSize() const
Definition: CUAudioManager.h:276
Definition: CUAction.h:51
static std::vector< std::string > devices(bool output)