Ardour
9.0-pre0-582-g084a23a80d
|
#include <coreaudio_pcmio.h>
Public Member Functions | |
CoreAudioPCM (void) | |
~CoreAudioPCM (void) | |
int | state (void) const |
uint32_t | n_playback_channels (void) const |
uint32_t | n_capture_channels (void) const |
void | discover () |
void | device_list (std::map< size_t, std::string > &devices) const |
void | input_device_list (std::map< size_t, std::string > &devices) const |
void | output_device_list (std::map< size_t, std::string > &devices) const |
void | duplex_device_list (std::map< size_t, std::string > &devices) const |
int | available_sample_rates (uint32_t device_id, std::vector< float > &sampleRates) |
int | available_buffer_sizes (uint32_t device_id, std::vector< uint32_t > &sampleRates) |
uint32_t | available_channels (uint32_t device_id, bool input) |
float | current_sample_rate (uint32_t device_id, bool input=false) |
uint32_t | get_latency (uint32_t device_id, bool input) |
std::string | cached_port_name (uint32_t portnum, bool input) const |
float | sample_rate () |
uint32_t | samples_per_period () const |
int | set_samples_per_period (uint32_t) |
void | launch_control_app (uint32_t device_id) |
void | pcm_stop (void) |
int | pcm_start (uint32_t input_device, uint32_t output_device, uint32_t sample_rate, uint32_t samples_per_period, int(process_callback(void *, const uint32_t, const uint64_t)), void *process_arg, PBD::TimingStats &dsp_timer) |
void | set_error_callback (void(error_callback(void *)), void *error_arg) |
void | set_halted_callback (void(halted_callback(void *)), void *halted_arg) |
void | set_hw_changed_callback (void(callback(void *)), void *arg) |
void | set_xrun_callback (void(callback(void *)), void *arg) |
void | set_buffer_size_callback (void(callback(void *)), void *arg) |
void | set_sample_rate_callback (void(callback(void *)), void *arg) |
int | get_capture_channel (uint32_t chn, float *input, uint32_t n_samples) |
int | set_playback_channel (uint32_t chn, const float *input, uint32_t n_samples) |
uint32_t | n_samples () const |
OSStatus | render_callback (AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberSamples, AudioBufferList *ioData) |
void | xrun_callback () |
void | buffer_size_callback () |
void | sample_rate_callback () |
void | hw_changed_callback () |
void | halted_callback () |
Private Member Functions | |
float | current_sample_rate_id (AudioDeviceID id, bool input) |
uint32_t | current_buffer_size_id (AudioDeviceID id) |
int | set_device_sample_rate_id (AudioDeviceID id, float rate, bool input) |
int | set_device_buffer_size_id (AudioDeviceID id, uint32_t samples_per_period) |
int | set_device_sample_rate (uint32_t device_id, float rate, bool input) |
void | get_stream_latencies (uint32_t device_id, bool input, std::vector< uint32_t > &latencies) |
void | cache_port_names (AudioDeviceID id, bool input) |
void | destroy_aggregate_device () |
int | create_aggregate_device (AudioDeviceID input_device_id, AudioDeviceID output_device_id, uint32_t sample_rate, AudioDeviceID *created_device) |
Private Attributes | |
::AudioUnit | _auhal |
AudioDeviceID * | _device_ids |
AudioBufferList * | _input_audio_buffer_list |
AudioBufferList * | _output_audio_buffer_list |
AudioDeviceID | _active_device_id |
AudioDeviceID | _aggregate_device_id |
AudioDeviceID | _aggregate_plugin_id |
int | _state |
uint32_t | _samples_per_period |
uint32_t | _cur_samples_per_period |
uint32_t | _capture_channels |
uint32_t | _playback_channels |
bool | _in_process |
size_t | _n_devices |
int(* | _process_callback )(void *, const uint32_t, const uint64_t) |
void * | _process_arg |
PBD::TimingStats * | _dsp_timer |
void(* | _error_callback )(void *) |
void * | _error_arg |
void(* | _halted_callback )(void *) |
void * | _halted_arg |
void(* | _hw_changed_callback )(void *) |
void * | _hw_changed_arg |
void(* | _xrun_callback )(void *) |
void * | _xrun_arg |
void(* | _buffer_size_callback )(void *) |
void * | _buffer_size_arg |
void(* | _sample_rate_callback )(void *) |
void * | _sample_rate_arg |
std::map< size_t, std::string > | _devices |
std::map< size_t, std::string > | _input_devices |
std::map< size_t, std::string > | _output_devices |
std::map< size_t, std::string > | _duplex_devices |
uint32_t * | _device_ins |
uint32_t * | _device_outs |
std::vector< std::string > | _input_names |
std::vector< std::string > | _output_names |
pthread_mutex_t | _discovery_lock |
Definition at line 49 of file coreaudio_pcmio.h.
ARDOUR::CoreAudioPCM::CoreAudioPCM | ( | void | ) |
ARDOUR::CoreAudioPCM::~CoreAudioPCM | ( | void | ) |
int ARDOUR::CoreAudioPCM::available_buffer_sizes | ( | uint32_t | device_id, |
std::vector< uint32_t > & | sampleRates | ||
) |
uint32_t ARDOUR::CoreAudioPCM::available_channels | ( | uint32_t | device_id, |
bool | input | ||
) |
int ARDOUR::CoreAudioPCM::available_sample_rates | ( | uint32_t | device_id, |
std::vector< float > & | sampleRates | ||
) |
void ARDOUR::CoreAudioPCM::buffer_size_callback | ( | ) |
|
private |
std::string ARDOUR::CoreAudioPCM::cached_port_name | ( | uint32_t | portnum, |
bool | input | ||
) | const |
|
private |
|
private |
float ARDOUR::CoreAudioPCM::current_sample_rate | ( | uint32_t | device_id, |
bool | input = false |
||
) |
|
private |
|
private |
|
inline |
Definition at line 60 of file coreaudio_pcmio.h.
void ARDOUR::CoreAudioPCM::discover | ( | ) |
|
inline |
Definition at line 63 of file coreaudio_pcmio.h.
int ARDOUR::CoreAudioPCM::get_capture_channel | ( | uint32_t | chn, |
float * | input, | ||
uint32_t | n_samples | ||
) |
uint32_t ARDOUR::CoreAudioPCM::get_latency | ( | uint32_t | device_id, |
bool | input | ||
) |
|
private |
void ARDOUR::CoreAudioPCM::halted_callback | ( | ) |
void ARDOUR::CoreAudioPCM::hw_changed_callback | ( | ) |
|
inline |
Definition at line 61 of file coreaudio_pcmio.h.
void ARDOUR::CoreAudioPCM::launch_control_app | ( | uint32_t | device_id | ) |
|
inline |
Definition at line 57 of file coreaudio_pcmio.h.
|
inline |
Definition at line 56 of file coreaudio_pcmio.h.
|
inline |
Definition at line 144 of file coreaudio_pcmio.h.
|
inline |
Definition at line 62 of file coreaudio_pcmio.h.
int ARDOUR::CoreAudioPCM::pcm_start | ( | uint32_t | input_device, |
uint32_t | output_device, | ||
uint32_t | sample_rate, | ||
uint32_t | samples_per_period, | ||
int(process_callback(void *, const uint32_t, const uint64_t)) | , | ||
void * | process_arg, | ||
PBD::TimingStats & | dsp_timer | ||
) |
void ARDOUR::CoreAudioPCM::pcm_stop | ( | void | ) |
OSStatus ARDOUR::CoreAudioPCM::render_callback | ( | AudioUnitRenderActionFlags * | ioActionFlags, |
const AudioTimeStamp * | inTimeStamp, | ||
UInt32 | inBusNumber, | ||
UInt32 | inNumberSamples, | ||
AudioBufferList * | ioData | ||
) |
float ARDOUR::CoreAudioPCM::sample_rate | ( | ) |
void ARDOUR::CoreAudioPCM::sample_rate_callback | ( | ) |
|
inline |
Definition at line 74 of file coreaudio_pcmio.h.
|
inline |
Definition at line 126 of file coreaudio_pcmio.h.
|
private |
|
private |
|
private |
|
inline |
Definition at line 95 of file coreaudio_pcmio.h.
|
inline |
Definition at line 103 of file coreaudio_pcmio.h.
|
inline |
Definition at line 111 of file coreaudio_pcmio.h.
int ARDOUR::CoreAudioPCM::set_playback_channel | ( | uint32_t | chn, |
const float * | input, | ||
uint32_t | n_samples | ||
) |
|
inline |
Definition at line 133 of file coreaudio_pcmio.h.
int ARDOUR::CoreAudioPCM::set_samples_per_period | ( | uint32_t | ) |
|
inline |
Definition at line 119 of file coreaudio_pcmio.h.
|
inline |
Definition at line 55 of file coreaudio_pcmio.h.
void ARDOUR::CoreAudioPCM::xrun_callback | ( | ) |
|
private |
Definition at line 182 of file coreaudio_pcmio.h.
|
private |
Definition at line 183 of file coreaudio_pcmio.h.
|
private |
Definition at line 184 of file coreaudio_pcmio.h.
|
private |
Definition at line 177 of file coreaudio_pcmio.h.
|
private |
Definition at line 213 of file coreaudio_pcmio.h.
|
private |
Definition at line 212 of file coreaudio_pcmio.h.
|
private |
Definition at line 190 of file coreaudio_pcmio.h.
|
private |
Definition at line 189 of file coreaudio_pcmio.h.
|
private |
Definition at line 178 of file coreaudio_pcmio.h.
|
private |
Definition at line 224 of file coreaudio_pcmio.h.
|
private |
Definition at line 225 of file coreaudio_pcmio.h.
|
private |
Definition at line 220 of file coreaudio_pcmio.h.
|
private |
Definition at line 229 of file coreaudio_pcmio.h.
|
private |
Definition at line 198 of file coreaudio_pcmio.h.
|
private |
Definition at line 223 of file coreaudio_pcmio.h.
|
private |
Definition at line 201 of file coreaudio_pcmio.h.
|
private |
Definition at line 200 of file coreaudio_pcmio.h.
|
private |
Definition at line 204 of file coreaudio_pcmio.h.
|
private |
Definition at line 203 of file coreaudio_pcmio.h.
|
private |
Definition at line 207 of file coreaudio_pcmio.h.
|
private |
Definition at line 206 of file coreaudio_pcmio.h.
|
private |
Definition at line 192 of file coreaudio_pcmio.h.
|
private |
Definition at line 179 of file coreaudio_pcmio.h.
|
private |
Definition at line 221 of file coreaudio_pcmio.h.
|
private |
Definition at line 226 of file coreaudio_pcmio.h.
|
private |
Definition at line 193 of file coreaudio_pcmio.h.
|
private |
Definition at line 180 of file coreaudio_pcmio.h.
|
private |
Definition at line 222 of file coreaudio_pcmio.h.
|
private |
Definition at line 227 of file coreaudio_pcmio.h.
|
private |
Definition at line 191 of file coreaudio_pcmio.h.
|
private |
Definition at line 196 of file coreaudio_pcmio.h.
|
private |
Definition at line 195 of file coreaudio_pcmio.h.
|
private |
Definition at line 216 of file coreaudio_pcmio.h.
|
private |
Definition at line 215 of file coreaudio_pcmio.h.
|
private |
Definition at line 188 of file coreaudio_pcmio.h.
|
private |
Definition at line 186 of file coreaudio_pcmio.h.
|
private |
Definition at line 210 of file coreaudio_pcmio.h.
|
private |
Definition at line 209 of file coreaudio_pcmio.h.