|
@@ -1,3 +1,21 @@ |
|
|
|
|
|
/************************************************************************/ |
|
|
|
|
|
/*! \defgroup C-interface |
|
|
|
|
|
@{ |
|
|
|
|
|
|
|
|
|
|
|
\brief C interface to realtime audio i/o C++ classes. |
|
|
|
|
|
|
|
|
|
|
|
RtAudio offers a C-style interface, principally for use in binding |
|
|
|
|
|
RtAudio to other programming languages. All structs, enums, and |
|
|
|
|
|
functions listed here have direct analogs (and simply call to) |
|
|
|
|
|
items in the C++ RtAudio class and its supporting classes and |
|
|
|
|
|
types |
|
|
|
|
|
*/ |
|
|
|
|
|
/************************************************************************/ |
|
|
|
|
|
|
|
|
|
|
|
/*! |
|
|
|
|
|
\file rtaudio_c.h |
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
#ifndef RTAUDIO_C_H |
|
|
#ifndef RTAUDIO_C_H |
|
|
#define RTAUDIO_C_H |
|
|
#define RTAUDIO_C_H |
|
|
|
|
|
|
|
@@ -15,6 +33,18 @@ |
|
|
extern "C" { |
|
|
extern "C" { |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
/*! \typedef typedef unsigned long rtaudio_format_t; |
|
|
|
|
|
\brief RtAudio data format type. |
|
|
|
|
|
|
|
|
|
|
|
- \e RTAUDIO_FORMAT_SINT8: 8-bit signed integer. |
|
|
|
|
|
- \e RTAUDIO_FORMAT_SINT16: 16-bit signed integer. |
|
|
|
|
|
- \e RTAUDIO_FORMAT_SINT24: 24-bit signed integer. |
|
|
|
|
|
- \e RTAUDIO_FORMAT_SINT32: 32-bit signed integer. |
|
|
|
|
|
- \e RTAUDIO_FORMAT_FLOAT32: Normalized between plus/minus 1.0. |
|
|
|
|
|
- \e RTAUDIO_FORMAT_FLOAT64: Normalized between plus/minus 1.0. |
|
|
|
|
|
|
|
|
|
|
|
See \ref RtAudioFormat. |
|
|
|
|
|
*/ |
|
|
typedef unsigned long rtaudio_format_t; |
|
|
typedef unsigned long rtaudio_format_t; |
|
|
|
|
|
|
|
|
#define RTAUDIO_FORMAT_SINT8 0x01 |
|
|
#define RTAUDIO_FORMAT_SINT8 0x01 |
|
@@ -24,6 +54,20 @@ typedef unsigned long rtaudio_format_t; |
|
|
#define RTAUDIO_FORMAT_FLOAT32 0x10 |
|
|
#define RTAUDIO_FORMAT_FLOAT32 0x10 |
|
|
#define RTAUDIO_FORMAT_FLOAT64 0x20 |
|
|
#define RTAUDIO_FORMAT_FLOAT64 0x20 |
|
|
|
|
|
|
|
|
|
|
|
/*! \typedef typedef unsigned long rtaudio_stream_flags_t; |
|
|
|
|
|
\brief RtAudio stream option flags. |
|
|
|
|
|
|
|
|
|
|
|
The following flags can be OR'ed together to allow a client to |
|
|
|
|
|
make changes to the default stream behavior: |
|
|
|
|
|
|
|
|
|
|
|
- \e RTAUDIO_FLAGS_NONINTERLEAVED: Use non-interleaved buffers (default = interleaved). |
|
|
|
|
|
- \e RTAUDIO_FLAGS_MINIMIZE_LATENCY: Attempt to set stream parameters for lowest possible latency. |
|
|
|
|
|
- \e RTAUDIO_FLAGS_HOG_DEVICE: Attempt grab device for exclusive use. |
|
|
|
|
|
- \e RTAUDIO_FLAGS_ALSA_USE_DEFAULT: Use the "default" PCM device (ALSA only). |
|
|
|
|
|
- \e RTAUDIO_FLAGS_JACK_DONT_CONNECT: Do not automatically connect ports (JACK only). |
|
|
|
|
|
|
|
|
|
|
|
See \ref RtAudioStreamFlags. |
|
|
|
|
|
*/ |
|
|
typedef unsigned int rtaudio_stream_flags_t; |
|
|
typedef unsigned int rtaudio_stream_flags_t; |
|
|
|
|
|
|
|
|
#define RTAUDIO_FLAGS_NONINTERLEAVED 0x1 |
|
|
#define RTAUDIO_FLAGS_NONINTERLEAVED 0x1 |
|
@@ -31,48 +75,86 @@ typedef unsigned int rtaudio_stream_flags_t; |
|
|
#define RTAUDIO_FLAGS_HOG_DEVICE 0x4 |
|
|
#define RTAUDIO_FLAGS_HOG_DEVICE 0x4 |
|
|
#define RTAUDIO_FLAGS_SCHEDULE_REALTIME 0x8 |
|
|
#define RTAUDIO_FLAGS_SCHEDULE_REALTIME 0x8 |
|
|
#define RTAUDIO_FLAGS_ALSA_USE_DEFAULT 0x10 |
|
|
#define RTAUDIO_FLAGS_ALSA_USE_DEFAULT 0x10 |
|
|
|
|
|
#define RTAUDIO_FLAGS_JACK_DONT_CONNECT = 0x20 |
|
|
|
|
|
|
|
|
|
|
|
/*! \typedef typedef unsigned long rtaudio_stream_status_t; |
|
|
|
|
|
\brief RtAudio stream status (over- or underflow) flags. |
|
|
|
|
|
|
|
|
|
|
|
Notification of a stream over- or underflow is indicated by a |
|
|
|
|
|
non-zero stream \c status argument in the RtAudioCallback function. |
|
|
|
|
|
The stream status can be one of the following two options, |
|
|
|
|
|
depending on whether the stream is open for output and/or input: |
|
|
|
|
|
|
|
|
|
|
|
- \e RTAUDIO_STATUS_INPUT_OVERFLOW: Input data was discarded because of an overflow condition at the driver. |
|
|
|
|
|
- \e RTAUDIO_STATUS_OUTPUT_UNDERFLOW: The output buffer ran low, likely producing a break in the output sound. |
|
|
|
|
|
|
|
|
|
|
|
See \ref RtAudioStreamStatus. |
|
|
|
|
|
*/ |
|
|
typedef unsigned int rtaudio_stream_status_t; |
|
|
typedef unsigned int rtaudio_stream_status_t; |
|
|
|
|
|
|
|
|
#define RTAUDIO_STATUS_INPUT_OVERFLOW 0x1 |
|
|
#define RTAUDIO_STATUS_INPUT_OVERFLOW 0x1 |
|
|
#define RTAUDIO_STATUS_OUTPUT_UNDERFLOW 0x2 |
|
|
#define RTAUDIO_STATUS_OUTPUT_UNDERFLOW 0x2 |
|
|
|
|
|
|
|
|
|
|
|
//! RtAudio callback function prototype. |
|
|
|
|
|
/*! |
|
|
|
|
|
All RtAudio clients must create a function of this type to read |
|
|
|
|
|
and/or write data from/to the audio stream. When the underlying |
|
|
|
|
|
audio system is ready for new input or output data, this function |
|
|
|
|
|
will be invoked. |
|
|
|
|
|
|
|
|
|
|
|
See \ref RtAudioCallback. |
|
|
|
|
|
*/ |
|
|
typedef int (*rtaudio_cb_t)(void *out, void *in, unsigned int nFrames, |
|
|
typedef int (*rtaudio_cb_t)(void *out, void *in, unsigned int nFrames, |
|
|
double stream_time, rtaudio_stream_status_t status, |
|
|
double stream_time, rtaudio_stream_status_t status, |
|
|
void *userdata); |
|
|
void *userdata); |
|
|
|
|
|
|
|
|
|
|
|
/*! \brief Error codes for RtAudio. |
|
|
|
|
|
|
|
|
|
|
|
See \ref RtAudioError. |
|
|
|
|
|
*/ |
|
|
typedef enum rtaudio_error { |
|
|
typedef enum rtaudio_error { |
|
|
RTAUDIO_ERROR_WARNING, |
|
|
|
|
|
RTAUDIO_ERROR_DEBUG_WARNING, |
|
|
|
|
|
RTAUDIO_ERROR_UNSPECIFIED, |
|
|
|
|
|
RTAUDIO_ERROR_NO_DEVICES_FOUND, |
|
|
|
|
|
RTAUDIO_ERROR_INVALID_DEVICE, |
|
|
|
|
|
RTAUDIO_ERROR_MEMORY_ERROR, |
|
|
|
|
|
RTAUDIO_ERROR_INVALID_PARAMETER, |
|
|
|
|
|
RTAUDIO_ERROR_INVALID_USE, |
|
|
|
|
|
RTAUDIO_ERROR_DRIVER_ERROR, |
|
|
|
|
|
RTAUDIO_ERROR_SYSTEM_ERROR, |
|
|
|
|
|
RTAUDIO_ERROR_THREAD_ERROR, |
|
|
|
|
|
|
|
|
RTAUDIO_ERROR_WARNING, /*!< A non-critical error. */ |
|
|
|
|
|
RTAUDIO_ERROR_DEBUG_WARNING, /*!< A non-critical error which might be useful for debugging. */ |
|
|
|
|
|
RTAUDIO_ERROR_UNSPECIFIED, /*!< The default, unspecified error type. */ |
|
|
|
|
|
RTAUDIO_ERROR_NO_DEVICES_FOUND, /*!< No devices found on system. */ |
|
|
|
|
|
RTAUDIO_ERROR_INVALID_DEVICE, /*!< An invalid device ID was specified. */ |
|
|
|
|
|
RTAUDIO_ERROR_MEMORY_ERROR, /*!< An error occured during memory allocation. */ |
|
|
|
|
|
RTAUDIO_ERROR_INVALID_PARAMETER, /*!< An invalid parameter was specified to a function. */ |
|
|
|
|
|
RTAUDIO_ERROR_INVALID_USE, /*!< The function was called incorrectly. */ |
|
|
|
|
|
RTAUDIO_ERROR_DRIVER_ERROR, /*!< A system driver error occured. */ |
|
|
|
|
|
RTAUDIO_ERROR_SYSTEM_ERROR, /*!< A system error occured. */ |
|
|
|
|
|
RTAUDIO_ERROR_THREAD_ERROR, /*!< A thread error occured. */ |
|
|
} rtaudio_error_t; |
|
|
} rtaudio_error_t; |
|
|
|
|
|
|
|
|
|
|
|
//! RtAudio error callback function prototype. |
|
|
|
|
|
/*! |
|
|
|
|
|
\param err Type of error. |
|
|
|
|
|
\param msg Error description. |
|
|
|
|
|
|
|
|
|
|
|
See \ref RtAudioErrorCallback. |
|
|
|
|
|
*/ |
|
|
typedef void (*rtaudio_error_cb_t)(rtaudio_error_t err, const char *msg); |
|
|
typedef void (*rtaudio_error_cb_t)(rtaudio_error_t err, const char *msg); |
|
|
|
|
|
|
|
|
|
|
|
//! Audio API specifier. See \ref RtAudio::Api. |
|
|
typedef enum rtaudio_api { |
|
|
typedef enum rtaudio_api { |
|
|
RTAUDIO_API_UNSPECIFIED, |
|
|
|
|
|
RTAUDIO_API_LINUX_ALSA, |
|
|
|
|
|
RTAUDIO_API_LINUX_PULSE, |
|
|
|
|
|
RTAUDIO_API_LINUX_OSS, |
|
|
|
|
|
RTAUDIO_API_UNIX_JACK, |
|
|
|
|
|
RTAUDIO_API_MACOSX_CORE, |
|
|
|
|
|
RTAUDIO_API_WINDOWS_WASAPI, |
|
|
|
|
|
RTAUDIO_API_WINDOWS_ASIO, |
|
|
|
|
|
RTAUDIO_API_WINDOWS_DS, |
|
|
|
|
|
RTAUDIO_API_DUMMY, |
|
|
|
|
|
RTAUDIO_API_NUM, |
|
|
|
|
|
|
|
|
RTAUDIO_API_UNSPECIFIED, /*!< Search for a working compiled API. */ |
|
|
|
|
|
RTAUDIO_API_LINUX_ALSA, /*!< The Advanced Linux Sound Architecture API. */ |
|
|
|
|
|
RTAUDIO_API_LINUX_PULSE, /*!< The Linux PulseAudio API. */ |
|
|
|
|
|
RTAUDIO_API_LINUX_OSS, /*!< The Linux Open Sound System API. */ |
|
|
|
|
|
RTAUDIO_API_UNIX_JACK, /*!< The Jack Low-Latency Audio Server API. */ |
|
|
|
|
|
RTAUDIO_API_MACOSX_CORE, /*!< Macintosh OS-X Core Audio API. */ |
|
|
|
|
|
RTAUDIO_API_WINDOWS_WASAPI, /*!< The Microsoft WASAPI API. */ |
|
|
|
|
|
RTAUDIO_API_WINDOWS_ASIO, /*!< The Steinberg Audio Stream I/O API. */ |
|
|
|
|
|
RTAUDIO_API_WINDOWS_DS, /*!< The Microsoft DirectSound API. */ |
|
|
|
|
|
RTAUDIO_API_DUMMY, /*!< A compilable but non-functional API. */ |
|
|
|
|
|
RTAUDIO_API_NUM, /*!< Number of values in this enum. */ |
|
|
} rtaudio_api_t; |
|
|
} rtaudio_api_t; |
|
|
|
|
|
|
|
|
#define NUM_SAMPLE_RATES 16 |
|
|
#define NUM_SAMPLE_RATES 16 |
|
|
#define MAX_NAME_LENGTH 512 |
|
|
#define MAX_NAME_LENGTH 512 |
|
|
|
|
|
|
|
|
|
|
|
//! The public device information structure for returning queried values. |
|
|
|
|
|
//! See \ref RtAudio::DeviceInfo. |
|
|
typedef struct rtaudio_device_info { |
|
|
typedef struct rtaudio_device_info { |
|
|
int probed; |
|
|
int probed; |
|
|
unsigned int output_channels; |
|
|
unsigned int output_channels; |
|
@@ -90,12 +172,16 @@ typedef struct rtaudio_device_info { |
|
|
char name[MAX_NAME_LENGTH]; |
|
|
char name[MAX_NAME_LENGTH]; |
|
|
} rtaudio_device_info_t; |
|
|
} rtaudio_device_info_t; |
|
|
|
|
|
|
|
|
|
|
|
//! The structure for specifying input or ouput stream parameters. |
|
|
|
|
|
//! See \ref RtAudio::StreamParameters. |
|
|
typedef struct rtaudio_stream_parameters { |
|
|
typedef struct rtaudio_stream_parameters { |
|
|
unsigned int device_id; |
|
|
unsigned int device_id; |
|
|
unsigned int num_channels; |
|
|
unsigned int num_channels; |
|
|
unsigned int first_channel; |
|
|
unsigned int first_channel; |
|
|
} rtaudio_stream_parameters_t; |
|
|
} rtaudio_stream_parameters_t; |
|
|
|
|
|
|
|
|
|
|
|
//! The structure for specifying stream options. |
|
|
|
|
|
//! See \ref RtAudio::StreamOptions. |
|
|
typedef struct rtaudio_stream_options { |
|
|
typedef struct rtaudio_stream_options { |
|
|
rtaudio_stream_flags_t flags; |
|
|
rtaudio_stream_flags_t flags; |
|
|
unsigned int num_buffers; |
|
|
unsigned int num_buffers; |
|
@@ -105,26 +191,64 @@ typedef struct rtaudio_stream_options { |
|
|
|
|
|
|
|
|
typedef struct rtaudio *rtaudio_t; |
|
|
typedef struct rtaudio *rtaudio_t; |
|
|
|
|
|
|
|
|
|
|
|
//! Determine the current RtAudio version. See \ref RtAudio::getVersion(). |
|
|
RTAUDIOAPI const char *rtaudio_version(void); |
|
|
RTAUDIOAPI const char *rtaudio_version(void); |
|
|
|
|
|
|
|
|
|
|
|
//! Determine the number of available compiled audio APIs, the length |
|
|
|
|
|
//! of the array returned by rtaudio_compiled_api(). See \ref |
|
|
|
|
|
//! RtAudio::getCompiledApi(). |
|
|
RTAUDIOAPI unsigned int rtaudio_get_num_compiled_apis(void); |
|
|
RTAUDIOAPI unsigned int rtaudio_get_num_compiled_apis(void); |
|
|
|
|
|
|
|
|
|
|
|
//! Return an array of rtaudio_api_t compiled into this instance of |
|
|
|
|
|
//! RtAudio. This array is static (do not free it) and has the length |
|
|
|
|
|
//! returned by rtaudio_get_num_compiled_apis(). See \ref |
|
|
|
|
|
//! RtAudio::getCompiledApi(). |
|
|
RTAUDIOAPI const rtaudio_api_t *rtaudio_compiled_api(void); |
|
|
RTAUDIOAPI const rtaudio_api_t *rtaudio_compiled_api(void); |
|
|
|
|
|
|
|
|
|
|
|
//! Return the name of a specified rtaudio_api_t. This string can be |
|
|
|
|
|
//! used to look up an API by rtaudio_compiled_api_by_name(). See |
|
|
|
|
|
//! \ref RtAudio::getApiName(). |
|
|
RTAUDIOAPI const char *rtaudio_api_name(rtaudio_api_t api); |
|
|
RTAUDIOAPI const char *rtaudio_api_name(rtaudio_api_t api); |
|
|
|
|
|
|
|
|
|
|
|
//! Return the display name of a specified rtaudio_api_t. See \ref |
|
|
|
|
|
//! RtAudio::getApiDisplayName(). |
|
|
RTAUDIOAPI const char *rtaudio_api_display_name(rtaudio_api_t api); |
|
|
RTAUDIOAPI const char *rtaudio_api_display_name(rtaudio_api_t api); |
|
|
|
|
|
|
|
|
|
|
|
//! Return the rtaudio_api_t having the given name. See \ref |
|
|
|
|
|
//! RtAudio::getCompiledApiByName(). |
|
|
RTAUDIOAPI rtaudio_api_t rtaudio_compiled_api_by_name(const char *name); |
|
|
RTAUDIOAPI rtaudio_api_t rtaudio_compiled_api_by_name(const char *name); |
|
|
|
|
|
|
|
|
RTAUDIOAPI const char *rtaudio_error(rtaudio_t audio); |
|
|
RTAUDIOAPI const char *rtaudio_error(rtaudio_t audio); |
|
|
|
|
|
|
|
|
|
|
|
//! Create an instance of struct rtaudio. |
|
|
RTAUDIOAPI rtaudio_t rtaudio_create(rtaudio_api_t api); |
|
|
RTAUDIOAPI rtaudio_t rtaudio_create(rtaudio_api_t api); |
|
|
|
|
|
|
|
|
|
|
|
//! Free an instance of struct rtaudio. |
|
|
RTAUDIOAPI void rtaudio_destroy(rtaudio_t audio); |
|
|
RTAUDIOAPI void rtaudio_destroy(rtaudio_t audio); |
|
|
|
|
|
|
|
|
|
|
|
//! Returns the audio API specifier for the current instance of |
|
|
|
|
|
//! RtAudio. See RtAudio::getCurrentApi(). |
|
|
RTAUDIOAPI rtaudio_api_t rtaudio_current_api(rtaudio_t audio); |
|
|
RTAUDIOAPI rtaudio_api_t rtaudio_current_api(rtaudio_t audio); |
|
|
|
|
|
|
|
|
|
|
|
//! Queries for the number of audio devices available. See \ref |
|
|
|
|
|
//! RtAudio::getDeviceCount(). |
|
|
RTAUDIOAPI int rtaudio_device_count(rtaudio_t audio); |
|
|
RTAUDIOAPI int rtaudio_device_count(rtaudio_t audio); |
|
|
|
|
|
|
|
|
|
|
|
//! Return a struct rtaudio_device_info for a specified device number. |
|
|
|
|
|
//! See \ref RtAudio::getDeviceInfo(). |
|
|
RTAUDIOAPI rtaudio_device_info_t rtaudio_get_device_info(rtaudio_t audio, |
|
|
RTAUDIOAPI rtaudio_device_info_t rtaudio_get_device_info(rtaudio_t audio, |
|
|
int i); |
|
|
int i); |
|
|
|
|
|
|
|
|
|
|
|
//! Returns the index of the default output device. See \ref |
|
|
|
|
|
//! RtAudio::getDefaultOutputDevice(). |
|
|
RTAUDIOAPI unsigned int rtaudio_get_default_output_device(rtaudio_t audio); |
|
|
RTAUDIOAPI unsigned int rtaudio_get_default_output_device(rtaudio_t audio); |
|
|
|
|
|
|
|
|
|
|
|
//! Returns the index of the default input device. See \ref |
|
|
|
|
|
//! RtAudio::getDefaultInputDevice(). |
|
|
RTAUDIOAPI unsigned int rtaudio_get_default_input_device(rtaudio_t audio); |
|
|
RTAUDIOAPI unsigned int rtaudio_get_default_input_device(rtaudio_t audio); |
|
|
|
|
|
|
|
|
|
|
|
//! Opens a stream with the specified parameters. See \ref RtAudio::openStream(). |
|
|
|
|
|
//! \return an \ref rtaudio_error. |
|
|
RTAUDIOAPI int |
|
|
RTAUDIOAPI int |
|
|
rtaudio_open_stream(rtaudio_t audio, rtaudio_stream_parameters_t *output_params, |
|
|
rtaudio_open_stream(rtaudio_t audio, rtaudio_stream_parameters_t *output_params, |
|
|
rtaudio_stream_parameters_t *input_params, |
|
|
rtaudio_stream_parameters_t *input_params, |
|
@@ -132,22 +256,51 @@ rtaudio_open_stream(rtaudio_t audio, rtaudio_stream_parameters_t *output_params, |
|
|
unsigned int *buffer_frames, rtaudio_cb_t cb, |
|
|
unsigned int *buffer_frames, rtaudio_cb_t cb, |
|
|
void *userdata, rtaudio_stream_options_t *options, |
|
|
void *userdata, rtaudio_stream_options_t *options, |
|
|
rtaudio_error_cb_t errcb); |
|
|
rtaudio_error_cb_t errcb); |
|
|
|
|
|
|
|
|
|
|
|
//! Closes a stream and frees any associated stream memory. See \ref RtAudio::closeStream(). |
|
|
RTAUDIOAPI void rtaudio_close_stream(rtaudio_t audio); |
|
|
RTAUDIOAPI void rtaudio_close_stream(rtaudio_t audio); |
|
|
|
|
|
|
|
|
|
|
|
//! Starts a stream. See \ref RtAudio::startStream(). |
|
|
RTAUDIOAPI int rtaudio_start_stream(rtaudio_t audio); |
|
|
RTAUDIOAPI int rtaudio_start_stream(rtaudio_t audio); |
|
|
|
|
|
|
|
|
|
|
|
//! Stop a stream, allowing any samples remaining in the output queue |
|
|
|
|
|
//! to be played. See \ref RtAudio::stopStream(). |
|
|
RTAUDIOAPI int rtaudio_stop_stream(rtaudio_t audio); |
|
|
RTAUDIOAPI int rtaudio_stop_stream(rtaudio_t audio); |
|
|
|
|
|
|
|
|
|
|
|
//! Stop a stream, discarding any samples remaining in the |
|
|
|
|
|
//! input/output queue. See \ref RtAudio::abortStream(). |
|
|
RTAUDIOAPI int rtaudio_abort_stream(rtaudio_t audio); |
|
|
RTAUDIOAPI int rtaudio_abort_stream(rtaudio_t audio); |
|
|
|
|
|
|
|
|
|
|
|
//! Returns 1 if a stream is open and false if not. See \ref RtAudio::isStreamOpen(). |
|
|
RTAUDIOAPI int rtaudio_is_stream_open(rtaudio_t audio); |
|
|
RTAUDIOAPI int rtaudio_is_stream_open(rtaudio_t audio); |
|
|
|
|
|
|
|
|
|
|
|
//! Returns 1 if a stream is running and false if it is stopped or not |
|
|
|
|
|
//! open. See \ref RtAudio::isStreamRunning(). |
|
|
RTAUDIOAPI int rtaudio_is_stream_running(rtaudio_t audio); |
|
|
RTAUDIOAPI int rtaudio_is_stream_running(rtaudio_t audio); |
|
|
|
|
|
|
|
|
|
|
|
//! Returns the number of elapsed seconds since the stream was |
|
|
|
|
|
//! started. See \ref RtAudio::getStreamTime(). |
|
|
RTAUDIOAPI double rtaudio_get_stream_time(rtaudio_t audio); |
|
|
RTAUDIOAPI double rtaudio_get_stream_time(rtaudio_t audio); |
|
|
|
|
|
|
|
|
|
|
|
//! Set the stream time to a time in seconds greater than or equal to |
|
|
|
|
|
//! 0.0. See \ref RtAudio::setStreamTime(). |
|
|
RTAUDIOAPI void rtaudio_set_stream_time(rtaudio_t audio, double time); |
|
|
RTAUDIOAPI void rtaudio_set_stream_time(rtaudio_t audio, double time); |
|
|
|
|
|
|
|
|
|
|
|
//! Returns the internal stream latency in sample frames. See \ref |
|
|
|
|
|
//! RtAudio::getStreamLatency(). |
|
|
RTAUDIOAPI int rtaudio_get_stream_latency(rtaudio_t audio); |
|
|
RTAUDIOAPI int rtaudio_get_stream_latency(rtaudio_t audio); |
|
|
|
|
|
|
|
|
|
|
|
//! Returns actual sample rate in use by the stream. See \ref |
|
|
|
|
|
//! RtAudio::getStreamSampleRate(). |
|
|
RTAUDIOAPI unsigned int rtaudio_get_stream_sample_rate(rtaudio_t audio); |
|
|
RTAUDIOAPI unsigned int rtaudio_get_stream_sample_rate(rtaudio_t audio); |
|
|
|
|
|
|
|
|
|
|
|
//! Specify whether warning messages should be printed to stderr. See |
|
|
|
|
|
//! \ref RtAudio::showWarnings(). |
|
|
RTAUDIOAPI void rtaudio_show_warnings(rtaudio_t audio, int show); |
|
|
RTAUDIOAPI void rtaudio_show_warnings(rtaudio_t audio, int show); |
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
#ifdef __cplusplus |
|
|
} |
|
|
} |
|
|
#endif |
|
|
#endif |
|
|
#endif /* RTAUDIO_C_H */ |
|
|
#endif /* RTAUDIO_C_H */ |
|
|
|
|
|
|
|
|
|
|
|
/*! }@ */ |