summaryrefslogtreecommitdiff
path: root/doc/latex/classRtAudio.tex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/latex/classRtAudio.tex')
-rw-r--r--doc/latex/classRtAudio.tex254
1 files changed, 254 insertions, 0 deletions
diff --git a/doc/latex/classRtAudio.tex b/doc/latex/classRtAudio.tex
new file mode 100644
index 0000000..af914e0
--- /dev/null
+++ b/doc/latex/classRtAudio.tex
@@ -0,0 +1,254 @@
+\section{Rt\-Audio Class Reference}
+\label{classRtAudio}\index{RtAudio@{Rt\-Audio}}
+{\tt \#include $<$Rt\-Audio.h$>$}
+
+\subsection*{Public Types}
+\begin{CompactItemize}
+\item
+typedef unsigned long {\bf RTAUDIO\_\-FORMAT}
+\item
+typedef int ($\ast$ {\bf RTAUDIO\_\-CALLBACK} )(char $\ast$buffer, int buffer\-Size, void $\ast$user\-Data)
+\item
+enum \{ {\bf MAX\_\-SAMPLE\_\-RATES} = 14
+ \}
+\end{CompactItemize}
+\subsection*{Public Methods}
+\begin{CompactItemize}
+\item
+{\bf Rt\-Audio} ()
+\begin{CompactList}\small\item\em The default constructor.\item\end{CompactList}\item
+{\bf Rt\-Audio} (int $\ast$stream\-ID, int output\-Device, int output\-Channels, int input\-Device, int input\-Channels, {\bf RTAUDIO\_\-FORMAT} format, int sample\-Rate, int $\ast$buffer\-Size, int number\-Of\-Buffers)
+\begin{CompactList}\small\item\em A constructor which can be used to open a stream during instantiation.\item\end{CompactList}\item
+{\bf $\sim$Rt\-Audio} ()
+\begin{CompactList}\small\item\em The destructor.\item\end{CompactList}\item
+int {\bf open\-Stream} (int output\-Device, int output\-Channels, int input\-Device, int input\-Channels, {\bf RTAUDIO\_\-FORMAT} format, int sample\-Rate, int $\ast$buffer\-Size, int number\-Of\-Buffers)
+\begin{CompactList}\small\item\em A public method for opening a stream with the specified parameters.\item\end{CompactList}\item
+void {\bf set\-Stream\-Callback} (int stream\-ID, {\bf RTAUDIO\_\-CALLBACK} callback, void $\ast$user\-Data)
+\begin{CompactList}\small\item\em A public method which sets a user-defined callback function for a given stream.\item\end{CompactList}\item
+void {\bf cancel\-Stream\-Callback} (int stream\-ID)
+\begin{CompactList}\small\item\em A public method which cancels a callback process and function for a given stream.\item\end{CompactList}\item
+int {\bf get\-Device\-Count} (void)
+\begin{CompactList}\small\item\em A public method which returns the number of audio devices found.\item\end{CompactList}\item
+void {\bf get\-Device\-Info} (int device, {\bf RTAUDIO\_\-DEVICE} $\ast$info)
+\begin{CompactList}\small\item\em Fill a user-supplied {\bf RTAUDIO\_\-DEVICE} {\rm (p.\,\pageref{structRtAudio_1_1RTAUDIO__DEVICE})} structure for a specified device.\item\end{CompactList}\item
+char$\ast$ const {\bf get\-Stream\-Buffer} (int stream\-ID)
+\begin{CompactList}\small\item\em A public method which returns a pointer to the buffer for an open stream.\item\end{CompactList}\item
+void {\bf tick\-Stream} (int stream\-ID)
+\begin{CompactList}\small\item\em Public method used to trigger processing of input/output data for a stream.\item\end{CompactList}\item
+void {\bf close\-Stream} (int stream\-ID)
+\begin{CompactList}\small\item\em Public method which closes a stream and frees any associated buffers.\item\end{CompactList}\item
+void {\bf start\-Stream} (int stream\-ID)
+\begin{CompactList}\small\item\em Public method which starts a stream.\item\end{CompactList}\item
+void {\bf stop\-Stream} (int stream\-ID)
+\begin{CompactList}\small\item\em Stop a stream, allowing any samples remaining in the queue to be played out and/or read in.\item\end{CompactList}\item
+void {\bf abort\-Stream} (int stream\-ID)
+\begin{CompactList}\small\item\em Stop a stream, discarding any samples remaining in the input/output queue.\item\end{CompactList}\item
+int {\bf stream\-Will\-Block} (int stream\-ID)
+\begin{CompactList}\small\item\em Queries a stream to determine whether a call to the {\bf tick\-Stream}() {\rm (p.\,\pageref{classRtAudio_a9})} method will block.\item\end{CompactList}\end{CompactItemize}
+\subsection*{Static Public Attributes}
+\begin{CompactItemize}
+\item
+const {\bf RTAUDIO\_\-FORMAT} {\bf RTAUDIO\_\-SINT8}
+\item
+const {\bf RTAUDIO\_\-FORMAT} {\bf RTAUDIO\_\-SINT16}
+\item
+const {\bf RTAUDIO\_\-FORMAT} {\bf RTAUDIO\_\-SINT24}
+\item
+const {\bf RTAUDIO\_\-FORMAT} {\bf RTAUDIO\_\-SINT32}
+\item
+const {\bf RTAUDIO\_\-FORMAT} {\bf RTAUDIO\_\-FLOAT32}
+\item
+const {\bf RTAUDIO\_\-FORMAT} {\bf RTAUDIO\_\-FLOAT64}
+\end{CompactItemize}
+
+
+\subsection{Member Typedef Documentation}
+\index{RtAudio@{Rt\-Audio}!RTAUDIO_FORMAT@{RTAUDIO\_\-FORMAT}}
+\index{RTAUDIO_FORMAT@{RTAUDIO\_\-FORMAT}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned long Rt\-Audio::RTAUDIO\_\-FORMAT}\label{classRtAudio_s0}
+
+
+\index{RtAudio@{Rt\-Audio}!RTAUDIO_CALLBACK@{RTAUDIO\_\-CALLBACK}}
+\index{RTAUDIO_CALLBACK@{RTAUDIO\_\-CALLBACK}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef int($\ast$ Rt\-Audio::RTAUDIO\_\-CALLBACK)(char $\ast$buffer, int buffer\-Size, void $\ast$user\-Data)}\label{classRtAudio_s1}
+
+
+
+
+\subsection{Member Enumeration Documentation}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}anonymous enum}\label{classRtAudio_s3}
+
+
+\begin{Desc}
+\item[{\bf Enumeration values:}]\par
+\begin{description}
+\index{MAX_SAMPLE_RATES@{MAX\_\-SAMPLE\_\-RATES}!RtAudio@{Rt\-Audio}}\index{RtAudio@{RtAudio}!MAX_SAMPLE_RATES@{MAX\_\-SAMPLE\_\-RATES}}\item[
+{\em MAX\_\-SAMPLE\_\-RATES}\label{classRtAudio_s3s2}
+]\end{description}
+\end{Desc}
+
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{RtAudio@{Rt\-Audio}!RtAudio@{RtAudio}}
+\index{RtAudio@{RtAudio}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Rt\-Audio::Rt\-Audio ()}\label{classRtAudio_a0}
+
+
+The default constructor.
+
+Probes the system to make sure at least one audio input/output device is available and determines the api-specific identifier for each device found. An {\bf Rt\-Audio\-Error} {\rm (p.\,\pageref{classRtAudioError})} error can be thrown if no devices are found or if a memory allocation error occurs. \index{RtAudio@{Rt\-Audio}!RtAudio@{RtAudio}}
+\index{RtAudio@{RtAudio}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Rt\-Audio::Rt\-Audio (int $\ast$ {\em stream\-ID}, int {\em output\-Device}, int {\em output\-Channels}, int {\em input\-Device}, int {\em input\-Channels}, {\bf RTAUDIO\_\-FORMAT} {\em format}, int {\em sample\-Rate}, int $\ast$ {\em buffer\-Size}, int {\em number\-Of\-Buffers})}\label{classRtAudio_a1}
+
+
+A constructor which can be used to open a stream during instantiation.
+
+The specified output and/or input device identifiers correspond to those enumerated via the {\bf get\-Device\-Info}() {\rm (p.\,\pageref{classRtAudio_a7})} method. If device = 0, the default or first available devices meeting the given parameters is selected. If an output or input channel value is zero, the corresponding device value is ignored. When a stream is successfully opened, its identifier is returned via the \char`\"{}stream\-ID\char`\"{} pointer. An {\bf Rt\-Audio\-Error} {\rm (p.\,\pageref{classRtAudioError})} can be thrown if no devices are found for the given parameters, if a memory allocation error occurs, or if a driver error occurs. \begin{Desc}
+\item[{\bf See also: }]\par
+{\bf open\-Stream}() {\rm (p.\,\pageref{classRtAudio_a3})} \end{Desc}
+\index{RtAudio@{Rt\-Audio}!~RtAudio@{$\sim$RtAudio}}
+\index{~RtAudio@{$\sim$RtAudio}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Rt\-Audio::$\sim$Rt\-Audio ()}\label{classRtAudio_a2}
+
+
+The destructor.
+
+Stops and closes any open streams and devices and deallocates buffer and structure memory.
+
+\subsection{Member Function Documentation}
+\index{RtAudio@{Rt\-Audio}!openStream@{openStream}}
+\index{openStream@{openStream}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Rt\-Audio::open\-Stream (int {\em output\-Device}, int {\em output\-Channels}, int {\em input\-Device}, int {\em input\-Channels}, {\bf RTAUDIO\_\-FORMAT} {\em format}, int {\em sample\-Rate}, int $\ast$ {\em buffer\-Size}, int {\em number\-Of\-Buffers})}\label{classRtAudio_a3}
+
+
+A public method for opening a stream with the specified parameters.
+
+If successful, the opened stream ID is returned. Otherwise, an {\bf Rt\-Audio\-Error} {\rm (p.\,\pageref{classRtAudioError})} is thrown.\begin{Desc}
+\item[{\bf Parameters: }]\par
+\begin{description}
+\item[
+{\em output\-Device:}]If equal to 0, the default or first device found meeting the given parameters is opened. Otherwise, the device number should correspond to one of those enumerated via the {\bf get\-Device\-Info}() {\rm (p.\,\pageref{classRtAudio_a7})} method. \item[
+{\em output\-Channels:}]The desired number of output channels. If equal to zero, the output\-Device identifier is ignored. \item[
+{\em input\-Device:}]If equal to 0, the default or first device found meeting the given parameters is opened. Otherwise, the device number should correspond to one of those enumerated via the {\bf get\-Device\-Info}() {\rm (p.\,\pageref{classRtAudio_a7})} method. \item[
+{\em input\-Channels:}]The desired number of input channels. If equal to zero, the input\-Device identifier is ignored. \item[
+{\em format:}]An RTAUDIO\_\-FORMAT specifying the desired sample data format. \item[
+{\em sample\-Rate:}]The desired sample rate (sample frames per second). \item[
+{\em buffer\-Size:}]A pointer value indicating the desired internal buffer size in sample frames. The actual value used by the device is returned via the same pointer. A value of zero can be specified, in which case the lowest allowable value is determined. \item[
+{\em number\-Of\-Buffers:}]A value which can be used to help control device latency. More buffers typically result in more robust performance, though at a cost of greater latency. A value of zero can be specified, in which case the lowest allowable value is used. \end{description}
+\end{Desc}
+\index{RtAudio@{Rt\-Audio}!setStreamCallback@{setStreamCallback}}
+\index{setStreamCallback@{setStreamCallback}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Rt\-Audio::set\-Stream\-Callback (int {\em stream\-ID}, {\bf RTAUDIO\_\-CALLBACK} {\em callback}, void $\ast$ {\em user\-Data})}\label{classRtAudio_a4}
+
+
+A public method which sets a user-defined callback function for a given stream.
+
+This method assigns a callback function to a specific, previously opened stream for non-blocking stream functionality. A separate process is initiated, though the user function is called only when the stream is \char`\"{}running\char`\"{} (between calls to the {\bf start\-Stream}() {\rm (p.\,\pageref{classRtAudio_a11})} and {\bf stop\-Stream}() {\rm (p.\,\pageref{classRtAudio_a12})} methods, respectively). The callback process remains active for the duration of the stream and is automatically shutdown when the stream is closed (via the {\bf close\-Stream}() {\rm (p.\,\pageref{classRtAudio_a10})} method or by object destruction). The callback process can also be shutdown and the user function de-referenced through an explicit call to the {\bf cancel\-Stream\-Callback}() {\rm (p.\,\pageref{classRtAudio_a5})} method. Note that a single stream can use only blocking or callback functionality at the same time, though it is possible to alternate modes on the same stream through the use of the {\bf set\-Stream\-Callback}() {\rm (p.\,\pageref{classRtAudio_a4})} and {\bf cancel\-Stream\-Callback}() {\rm (p.\,\pageref{classRtAudio_a5})} methods (the blocking {\bf tick\-Stream}() {\rm (p.\,\pageref{classRtAudio_a9})} method can be used before a callback is set and/or after a callback is cancelled). An {\bf Rt\-Audio\-Error} {\rm (p.\,\pageref{classRtAudioError})} will be thrown for an invalid device argument. \index{RtAudio@{Rt\-Audio}!cancelStreamCallback@{cancelStreamCallback}}
+\index{cancelStreamCallback@{cancelStreamCallback}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Rt\-Audio::cancel\-Stream\-Callback (int {\em stream\-ID})}\label{classRtAudio_a5}
+
+
+A public method which cancels a callback process and function for a given stream.
+
+This method shuts down a callback process and de-references the user function for a specific stream. Callback functionality can subsequently be restarted on the stream via the {\bf set\-Stream\-Callback}() {\rm (p.\,\pageref{classRtAudio_a4})} method. An {\bf Rt\-Audio\-Error} {\rm (p.\,\pageref{classRtAudioError})} will be thrown for an invalid device argument. \index{RtAudio@{Rt\-Audio}!getDeviceCount@{getDeviceCount}}
+\index{getDeviceCount@{getDeviceCount}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Rt\-Audio::get\-Device\-Count (void)}\label{classRtAudio_a6}
+
+
+A public method which returns the number of audio devices found.
+
+\index{RtAudio@{Rt\-Audio}!getDeviceInfo@{getDeviceInfo}}
+\index{getDeviceInfo@{getDeviceInfo}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Rt\-Audio::get\-Device\-Info (int {\em device}, {\bf RTAUDIO\_\-DEVICE} $\ast$ {\em info})}\label{classRtAudio_a7}
+
+
+Fill a user-supplied {\bf RTAUDIO\_\-DEVICE} {\rm (p.\,\pageref{structRtAudio_1_1RTAUDIO__DEVICE})} structure for a specified device.
+
+Any device between 0 and {\bf get\-Device\-Count}() {\rm (p.\,\pageref{classRtAudio_a6})}-1 is valid. If a device is busy or otherwise unavailable, the structure member \char`\"{}probed\char`\"{} has a value of \char`\"{}false\char`\"{}. The system default input and output devices are referenced by device identifier = 0. On systems which allow dynamic default device settings, the default devices are not identified by name (specific device enumerations are assigned device identifiers $>$ 0). An {\bf Rt\-Audio\-Error} {\rm (p.\,\pageref{classRtAudioError})} will be thrown for an invalid device argument. \index{RtAudio@{Rt\-Audio}!getStreamBuffer@{getStreamBuffer}}
+\index{getStreamBuffer@{getStreamBuffer}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char $\ast$const Rt\-Audio::get\-Stream\-Buffer (int {\em stream\-ID})}\label{classRtAudio_a8}
+
+
+A public method which returns a pointer to the buffer for an open stream.
+
+The user should fill and/or read the buffer data in interleaved format and then call the {\bf tick\-Stream}() {\rm (p.\,\pageref{classRtAudio_a9})} method. An {\bf Rt\-Audio\-Error} {\rm (p.\,\pageref{classRtAudioError})} will be thrown for an invalid stream identifier. \index{RtAudio@{Rt\-Audio}!tickStream@{tickStream}}
+\index{tickStream@{tickStream}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Rt\-Audio::tick\-Stream (int {\em stream\-ID})}\label{classRtAudio_a9}
+
+
+Public method used to trigger processing of input/output data for a stream.
+
+This method blocks until all buffer data is read/written. An {\bf Rt\-Audio\-Error} {\rm (p.\,\pageref{classRtAudioError})} will be thrown for an invalid stream identifier or if a driver error occurs. \index{RtAudio@{Rt\-Audio}!closeStream@{closeStream}}
+\index{closeStream@{closeStream}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Rt\-Audio::close\-Stream (int {\em stream\-ID})}\label{classRtAudio_a10}
+
+
+Public method which closes a stream and frees any associated buffers.
+
+If an invalid stream identifier is specified, this method issues a warning and returns (an {\bf Rt\-Audio\-Error} {\rm (p.\,\pageref{classRtAudioError})} is not thrown). \index{RtAudio@{Rt\-Audio}!startStream@{startStream}}
+\index{startStream@{startStream}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Rt\-Audio::start\-Stream (int {\em stream\-ID})}\label{classRtAudio_a11}
+
+
+Public method which starts a stream.
+
+An {\bf Rt\-Audio\-Error} {\rm (p.\,\pageref{classRtAudioError})} will be thrown for an invalid stream identifier or if a driver error occurs. \index{RtAudio@{Rt\-Audio}!stopStream@{stopStream}}
+\index{stopStream@{stopStream}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Rt\-Audio::stop\-Stream (int {\em stream\-ID})}\label{classRtAudio_a12}
+
+
+Stop a stream, allowing any samples remaining in the queue to be played out and/or read in.
+
+An {\bf Rt\-Audio\-Error} {\rm (p.\,\pageref{classRtAudioError})} will be thrown for an invalid stream identifier or if a driver error occurs. \index{RtAudio@{Rt\-Audio}!abortStream@{abortStream}}
+\index{abortStream@{abortStream}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Rt\-Audio::abort\-Stream (int {\em stream\-ID})}\label{classRtAudio_a13}
+
+
+Stop a stream, discarding any samples remaining in the input/output queue.
+
+An {\bf Rt\-Audio\-Error} {\rm (p.\,\pageref{classRtAudioError})} will be thrown for an invalid stream identifier or if a driver error occurs. \index{RtAudio@{Rt\-Audio}!streamWillBlock@{streamWillBlock}}
+\index{streamWillBlock@{streamWillBlock}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Rt\-Audio::stream\-Will\-Block (int {\em stream\-ID})}\label{classRtAudio_a14}
+
+
+Queries a stream to determine whether a call to the {\bf tick\-Stream}() {\rm (p.\,\pageref{classRtAudio_a9})} method will block.
+
+A return value of 0 indicates that the stream will NOT block. A positive return value indicates the number of sample frames that cannot yet be processed without blocking.
+
+\subsection{Member Data Documentation}
+\index{RtAudio@{Rt\-Audio}!RTAUDIO_SINT8@{RTAUDIO\_\-SINT8}}
+\index{RTAUDIO_SINT8@{RTAUDIO\_\-SINT8}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf RTAUDIO\_\-FORMAT} Rt\-Audio::RTAUDIO\_\-SINT8\hspace{0.3cm}{\tt [static]}}\label{classRtAudio_p0}
+
+
+\index{RtAudio@{Rt\-Audio}!RTAUDIO_SINT16@{RTAUDIO\_\-SINT16}}
+\index{RTAUDIO_SINT16@{RTAUDIO\_\-SINT16}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf RTAUDIO\_\-FORMAT} Rt\-Audio::RTAUDIO\_\-SINT16\hspace{0.3cm}{\tt [static]}}\label{classRtAudio_p1}
+
+
+\index{RtAudio@{Rt\-Audio}!RTAUDIO_SINT24@{RTAUDIO\_\-SINT24}}
+\index{RTAUDIO_SINT24@{RTAUDIO\_\-SINT24}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf RTAUDIO\_\-FORMAT} Rt\-Audio::RTAUDIO\_\-SINT24\hspace{0.3cm}{\tt [static]}}\label{classRtAudio_p2}
+
+
+Upper 3 bytes of 32-bit integer. \index{RtAudio@{Rt\-Audio}!RTAUDIO_SINT32@{RTAUDIO\_\-SINT32}}
+\index{RTAUDIO_SINT32@{RTAUDIO\_\-SINT32}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf RTAUDIO\_\-FORMAT} Rt\-Audio::RTAUDIO\_\-SINT32\hspace{0.3cm}{\tt [static]}}\label{classRtAudio_p3}
+
+
+\index{RtAudio@{Rt\-Audio}!RTAUDIO_FLOAT32@{RTAUDIO\_\-FLOAT32}}
+\index{RTAUDIO_FLOAT32@{RTAUDIO\_\-FLOAT32}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf RTAUDIO\_\-FORMAT} Rt\-Audio::RTAUDIO\_\-FLOAT32\hspace{0.3cm}{\tt [static]}}\label{classRtAudio_p4}
+
+
+Normalized between plus/minus 1.0. \index{RtAudio@{Rt\-Audio}!RTAUDIO_FLOAT64@{RTAUDIO\_\-FLOAT64}}
+\index{RTAUDIO_FLOAT64@{RTAUDIO\_\-FLOAT64}!RtAudio@{Rt\-Audio}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf RTAUDIO\_\-FORMAT} Rt\-Audio::RTAUDIO\_\-FLOAT64\hspace{0.3cm}{\tt [static]}}\label{classRtAudio_p5}
+
+
+Normalized between plus/minus 1.0.
+
+The documentation for this class was generated from the following file:\begin{CompactItemize}
+\item
+{\bf Rt\-Audio.h}\end{CompactItemize}