22 #if defined(RTAUDIO_EXPORT) 23 #if defined _WIN32 || defined __CYGWIN__ 24 #define RTAUDIOAPI __declspec(dllexport) 26 #define RTAUDIOAPI __attribute__((visibility("default"))) 29 #define RTAUDIOAPI //__declspec(dllimport) 50 #define RTAUDIO_FORMAT_SINT8 0x01 51 #define RTAUDIO_FORMAT_SINT16 0x02 52 #define RTAUDIO_FORMAT_SINT24 0x04 53 #define RTAUDIO_FORMAT_SINT32 0x08 54 #define RTAUDIO_FORMAT_FLOAT32 0x10 55 #define RTAUDIO_FORMAT_FLOAT64 0x20 73 #define RTAUDIO_FLAGS_NONINTERLEAVED 0x1 74 #define RTAUDIO_FLAGS_MINIMIZE_LATENCY 0x2 75 #define RTAUDIO_FLAGS_HOG_DEVICE 0x4 76 #define RTAUDIO_FLAGS_SCHEDULE_REALTIME 0x8 77 #define RTAUDIO_FLAGS_ALSA_USE_DEFAULT 0x10 78 #define RTAUDIO_FLAGS_JACK_DONT_CONNECT = 0x20 95 #define RTAUDIO_STATUS_INPUT_OVERFLOW 0x1 96 #define RTAUDIO_STATUS_OUTPUT_UNDERFLOW 0x2 115 typedef enum rtaudio_error {
139 typedef enum rtaudio_api {
153 #define NUM_SAMPLE_RATES 16 154 #define MAX_NAME_LENGTH 512 158 typedef struct rtaudio_device_info {
160 unsigned int output_channels;
161 unsigned int input_channels;
162 unsigned int duplex_channels;
164 int is_default_output;
165 int is_default_input;
169 unsigned int preferred_sample_rate;
170 int sample_rates[NUM_SAMPLE_RATES];
172 char name[MAX_NAME_LENGTH];
177 typedef struct rtaudio_stream_parameters {
178 unsigned int device_id;
179 unsigned int num_channels;
180 unsigned int first_channel;
185 typedef struct rtaudio_stream_options {
187 unsigned int num_buffers;
189 char name[MAX_NAME_LENGTH];
192 typedef struct rtaudio *rtaudio_t;
221 RTAUDIOAPI
const char *rtaudio_error(rtaudio_t audio);
Definition: rtaudio_c.h:142
Definition: rtaudio_c.h:140
RTAUDIOAPI void rtaudio_show_warnings(rtaudio_t audio, int show)
Definition: rtaudio_c.h:148
RTAUDIOAPI unsigned int rtaudio_get_num_compiled_apis(void)
Definition: rtaudio_c.h:150
rtaudio_api_t
Audio API specifier. See RtAudio::Api.
Definition: rtaudio_c.h:139
Definition: rtaudio_c.h:123
RTAUDIOAPI const char * rtaudio_api_name(rtaudio_api_t api)
RTAUDIOAPI int rtaudio_device_count(rtaudio_t audio)
RTAUDIOAPI int rtaudio_stop_stream(rtaudio_t audio)
rtaudio_error_t
Error codes for RtAudio.
Definition: rtaudio_c.h:115
Definition: rtaudio_c.h:147
RTAUDIOAPI void rtaudio_destroy(rtaudio_t audio)
Free an instance of struct rtaudio.
Definition: rtaudio_c.h:125
Definition: rtaudio_c.h:126
RTAUDIOAPI int rtaudio_start_stream(rtaudio_t audio)
Starts a stream. See RtAudio::startStream().
RTAUDIOAPI rtaudio_t rtaudio_create(rtaudio_api_t api)
Create an instance of struct rtaudio.
Definition: rtaudio_c.h:143
RTAUDIOAPI void rtaudio_set_stream_time(rtaudio_t audio, double time)
RTAUDIOAPI unsigned int rtaudio_get_stream_sample_rate(rtaudio_t audio)
RTAUDIOAPI void rtaudio_close_stream(rtaudio_t audio)
Closes a stream and frees any associated stream memory. See RtAudio::closeStream().
RTAUDIOAPI unsigned int rtaudio_get_default_input_device(rtaudio_t audio)
RTAUDIOAPI double rtaudio_get_stream_time(rtaudio_t audio)
Definition: rtaudio_c.h:185
RTAUDIOAPI const rtaudio_api_t * rtaudio_compiled_api(void)
Definition: rtaudio_c.h:119
int(* rtaudio_cb_t)(void *out, void *in, unsigned int nFrames, double stream_time, rtaudio_stream_status_t status, void *userdata)
RtAudio callback function prototype.
Definition: rtaudio_c.h:107
Definition: rtaudio_c.h:177
RTAUDIOAPI int rtaudio_abort_stream(rtaudio_t audio)
Definition: rtaudio_c.h:149
RTAUDIOAPI int rtaudio_open_stream(rtaudio_t audio, rtaudio_stream_parameters_t *output_params, rtaudio_stream_parameters_t *input_params, rtaudio_format_t format, unsigned int sample_rate, unsigned int *buffer_frames, rtaudio_cb_t cb, void *userdata, rtaudio_stream_options_t *options, rtaudio_error_cb_t errcb)
RTAUDIOAPI int rtaudio_get_stream_latency(rtaudio_t audio)
void(* rtaudio_error_cb_t)(rtaudio_error_t err, const char *msg)
RtAudio error callback function prototype.
Definition: rtaudio_c.h:136
Definition: rtaudio_c.h:117
RTAUDIOAPI int rtaudio_is_stream_running(rtaudio_t audio)
Definition: rtaudio_c.h:120
Definition: rtaudio_c.h:144
Definition: rtaudio_c.h:116
RTAUDIOAPI const char * rtaudio_api_display_name(rtaudio_api_t api)
RTAUDIOAPI unsigned int rtaudio_get_default_output_device(rtaudio_t audio)
RTAUDIOAPI rtaudio_api_t rtaudio_current_api(rtaudio_t audio)
Definition: rtaudio_c.h:141
unsigned int rtaudio_stream_flags_t
RtAudio stream option flags.
Definition: rtaudio_c.h:71
unsigned long rtaudio_format_t
RtAudio data format type.
Definition: rtaudio_c.h:48
Definition: rtaudio_c.h:145
Definition: rtaudio_c.h:118
Definition: rtaudio_c.h:122
Definition: rtaudio_c.h:158
RTAUDIOAPI rtaudio_device_info_t rtaudio_get_device_info(rtaudio_t audio, int i)
RTAUDIOAPI const char * rtaudio_version(void)
Determine the current RtAudio version. See RtAudio::getVersion().
Definition: rtaudio_c.h:121
RTAUDIOAPI int rtaudio_is_stream_open(rtaudio_t audio)
Returns 1 if a stream is open and false if not. See RtAudio::isStreamOpen().
Definition: rtaudio_c.h:146
unsigned int rtaudio_stream_status_t
RtAudio stream status (over- or underflow) flags.
Definition: rtaudio_c.h:93
RTAUDIOAPI rtaudio_api_t rtaudio_compiled_api_by_name(const char *name)
Definition: rtaudio_c.h:124