@@ -7,328 +7,533 @@ | |||
<CENTER> | |||
<a class="qindex" href="index.html">Tutorial</a> <a class="qindex" href="annotated.html">Class/Enum List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </CENTER> | |||
<HR> | |||
<!-- Generated by Doxygen 1.2.8.1 --> | |||
<h1>RtAudio.h</h1><div class="fragment"><pre>00001 <font class="comment">/************************************************************************/</font> | |||
00038 <font class="comment">/************************************************************************/</font> | |||
<!-- Generated by Doxygen 1.3.4 --> | |||
<h1>RtAudio.h</h1><div class="fragment"><pre>00001 <span class="comment">/************************************************************************/</span> | |||
00038 <span class="comment">/************************************************************************/</span> | |||
00039 | |||
00040 <font class="preprocessor">#if !defined(__RTAUDIO_H)</font> | |||
00041 <font class="preprocessor"></font><font class="preprocessor">#define __RTAUDIO_H</font> | |||
00042 <font class="preprocessor"></font> | |||
00043 <font class="preprocessor">#include <map></font> | |||
00044 | |||
00045 <font class="preprocessor">#if defined(__LINUX_ALSA__)</font> | |||
00046 <font class="preprocessor"></font><font class="preprocessor"> #include <alsa/asoundlib.h></font> | |||
00047 <font class="preprocessor"> #include <pthread.h></font> | |||
00048 <font class="preprocessor"> #include <unistd.h></font> | |||
00049 | |||
00050 <font class="keyword">typedef</font> snd_pcm_t *AUDIO_HANDLE; | |||
00051 <font class="keyword">typedef</font> <font class="keywordtype">int</font> DEVICE_ID; | |||
00052 <font class="keyword">typedef</font> pthread_t THREAD_HANDLE; | |||
00053 <font class="keyword">typedef</font> pthread_mutex_t MUTEX; | |||
00054 | |||
00055 <font class="preprocessor">#elif defined(__LINUX_OSS__)</font> | |||
00056 <font class="preprocessor"></font><font class="preprocessor"> #include <pthread.h></font> | |||
00057 <font class="preprocessor"> #include <unistd.h></font> | |||
00058 | |||
00059 <font class="keyword">typedef</font> <font class="keywordtype">int</font> AUDIO_HANDLE; | |||
00060 <font class="keyword">typedef</font> <font class="keywordtype">int</font> DEVICE_ID; | |||
00061 <font class="keyword">typedef</font> pthread_t THREAD_HANDLE; | |||
00062 <font class="keyword">typedef</font> pthread_mutex_t MUTEX; | |||
00063 | |||
00064 <font class="preprocessor">#elif defined(__WINDOWS_DS__)</font> | |||
00065 <font class="preprocessor"></font><font class="preprocessor"> #include <windows.h></font> | |||
00066 <font class="preprocessor"> #include <process.h></font> | |||
00067 | |||
00068 <font class="comment">// The following struct is used to hold the extra variables</font> | |||
00069 <font class="comment">// specific to the DirectSound implementation.</font> | |||
00070 <font class="keyword">typedef</font> <font class="keyword">struct </font>{ | |||
00071 <font class="keywordtype">void</font> * object; | |||
00072 <font class="keywordtype">void</font> * buffer; | |||
00073 UINT bufferPointer; | |||
00074 } AUDIO_HANDLE; | |||
00040 <span class="comment">// RtAudio: Version 3.0, 11 March 2004</span> | |||
00041 | |||
00042 <span class="preprocessor">#ifndef __RTAUDIO_H</span> | |||
00043 <span class="preprocessor"></span><span class="preprocessor">#define __RTAUDIO_H</span> | |||
00044 <span class="preprocessor"></span> | |||
00045 <span class="preprocessor">#include "RtError.h"</span> | |||
00046 <span class="preprocessor">#include <string></span> | |||
00047 <span class="preprocessor">#include <vector></span> | |||
00048 | |||
00049 <span class="comment">// Operating system dependent thread functionality.</span> | |||
00050 <span class="preprocessor">#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)</span> | |||
00051 <span class="preprocessor"></span><span class="preprocessor"> #include <windows.h></span> | |||
00052 <span class="preprocessor"> #include <process.h></span> | |||
00053 | |||
00054 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> ThreadHandle; | |||
00055 <span class="keyword">typedef</span> CRITICAL_SECTION StreamMutex; | |||
00056 | |||
00057 <span class="preprocessor">#else // Various unix flavors with pthread support.</span> | |||
00058 <span class="preprocessor"></span><span class="preprocessor"> #include <pthread.h></span> | |||
00059 | |||
00060 <span class="keyword">typedef</span> pthread_t ThreadHandle; | |||
00061 <span class="keyword">typedef</span> pthread_mutex_t StreamMutex; | |||
00062 | |||
00063 <span class="preprocessor">#endif</span> | |||
00064 <span class="preprocessor"></span> | |||
00065 <span class="comment">// This global structure type is used to pass callback information</span> | |||
00066 <span class="comment">// between the private RtAudio stream structure and global callback</span> | |||
00067 <span class="comment">// handling functions.</span> | |||
00068 <span class="keyword">struct </span>CallbackInfo { | |||
00069 <span class="keywordtype">void</span> *object; <span class="comment">// Used as a "this" pointer.</span> | |||
00070 ThreadHandle thread; | |||
00071 <span class="keywordtype">bool</span> usingCallback; | |||
00072 <span class="keywordtype">void</span> *callback; | |||
00073 <span class="keywordtype">void</span> *userData; | |||
00074 <span class="keywordtype">void</span> *apiInfo; <span class="comment">// void pointer for API specific callback information</span> | |||
00075 | |||
00076 <font class="keyword">typedef</font> LPGUID DEVICE_ID; | |||
00077 <font class="keyword">typedef</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> THREAD_HANDLE; | |||
00078 <font class="keyword">typedef</font> CRITICAL_SECTION MUTEX; | |||
00079 | |||
00080 <font class="preprocessor">#elif defined(__WINDOWS_ASIO__)</font> | |||
00081 <font class="preprocessor"></font><font class="preprocessor"> #include <windows.h></font> | |||
00082 <font class="preprocessor"> #include <process.h></font> | |||
00083 | |||
00084 <font class="keyword">typedef</font> <font class="keywordtype">int</font> AUDIO_HANDLE; | |||
00085 <font class="keyword">typedef</font> <font class="keywordtype">int</font> DEVICE_ID; | |||
00086 <font class="keyword">typedef</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> THREAD_HANDLE; | |||
00087 <font class="keyword">typedef</font> CRITICAL_SECTION MUTEX; | |||
00088 | |||
00089 <font class="preprocessor">#elif defined(__IRIX_AL__)</font> | |||
00090 <font class="preprocessor"></font><font class="preprocessor"> #include <dmedia/audio.h></font> | |||
00091 <font class="preprocessor"> #include <pthread.h></font> | |||
00092 <font class="preprocessor"> #include <unistd.h></font> | |||
00093 | |||
00094 <font class="keyword">typedef</font> ALport AUDIO_HANDLE; | |||
00095 <font class="keyword">typedef</font> <font class="keywordtype">long</font> DEVICE_ID; | |||
00096 <font class="keyword">typedef</font> pthread_t THREAD_HANDLE; | |||
00097 <font class="keyword">typedef</font> pthread_mutex_t MUTEX; | |||
00098 | |||
00099 <font class="preprocessor">#elif defined(__MACOSX_CORE__)</font> | |||
00100 <font class="preprocessor"></font> | |||
00101 <font class="preprocessor"> #include <CoreAudio/AudioHardware.h></font> | |||
00102 <font class="preprocessor"> #include <pthread.h></font> | |||
00103 | |||
00104 <font class="keyword">typedef</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> AUDIO_HANDLE; | |||
00105 <font class="keyword">typedef</font> AudioDeviceID DEVICE_ID; | |||
00106 <font class="keyword">typedef</font> pthread_t THREAD_HANDLE; | |||
00107 <font class="keyword">typedef</font> pthread_mutex_t MUTEX; | |||
00108 | |||
00109 <font class="preprocessor">#endif</font> | |||
00110 <font class="preprocessor"></font> | |||
00111 | |||
00112 <font class="comment">/************************************************************************/</font> | |||
00125 <font class="comment">/************************************************************************/</font> | |||
00126 | |||
00127 <font class="keyword">class </font><a class="code" href="classRtError.html">RtError</a> | |||
00128 { | |||
00129 <font class="keyword">public</font>: | |||
<a name="l00131"></a><a class="code" href="classRtError.html#s11">00131</a> <font class="keyword">enum</font> TYPE { | |||
00132 WARNING, | |||
00133 DEBUG_WARNING, | |||
00134 UNSPECIFIED, | |||
00135 NO_DEVICES_FOUND, | |||
00136 INVALID_DEVICE, | |||
00137 INVALID_STREAM, | |||
00138 MEMORY_ERROR, | |||
00139 INVALID_PARAMETER, | |||
00140 DRIVER_ERROR, | |||
00141 SYSTEM_ERROR, | |||
00142 THREAD_ERROR | |||
00143 }; | |||
00144 | |||
00145 <font class="keyword">protected</font>: | |||
00146 <font class="keywordtype">char</font> error_message[256]; | |||
00147 TYPE type; | |||
00076 <span class="comment">// Default constructor.</span> | |||
00077 CallbackInfo() | |||
00078 :object(0), usingCallback(false), callback(0), | |||
00079 userData(0), apiInfo(0) {} | |||
00080 }; | |||
00081 | |||
00082 <span class="comment">// Support for signed integers and floats. Audio data fed to/from</span> | |||
00083 <span class="comment">// the tickStream() routine is assumed to ALWAYS be in host</span> | |||
00084 <span class="comment">// byte order. The internal routines will automatically take care of</span> | |||
00085 <span class="comment">// any necessary byte-swapping between the host format and the</span> | |||
00086 <span class="comment">// soundcard. Thus, endian-ness is not a concern in the following</span> | |||
00087 <span class="comment">// format definitions.</span> | |||
00088 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> RtAudioFormat; | |||
00089 <span class="keyword">static</span> <span class="keyword">const</span> RtAudioFormat RTAUDIO_SINT8 = 0x1; | |||
00090 <span class="keyword">static</span> <span class="keyword">const</span> RtAudioFormat RTAUDIO_SINT16 = 0x2; | |||
00091 <span class="keyword">static</span> <span class="keyword">const</span> RtAudioFormat RTAUDIO_SINT24 = 0x4; | |||
00092 <span class="keyword">static</span> <span class="keyword">const</span> RtAudioFormat RTAUDIO_SINT32 = 0x8; | |||
00093 <span class="keyword">static</span> <span class="keyword">const</span> RtAudioFormat RTAUDIO_FLOAT32 = 0x10; | |||
00094 <span class="keyword">static</span> <span class="keyword">const</span> RtAudioFormat RTAUDIO_FLOAT64 = 0x20; | |||
00096 <span class="keyword">typedef</span> int (*RtAudioCallback)(<span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> bufferSize, <span class="keywordtype">void</span> *userData); | |||
00097 | |||
<a name="l00099"></a><a class="code" href="structRtAudioDeviceInfo.html">00099</a> <span class="keyword">struct </span><a class="code" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a> { | |||
<a name="l00100"></a><a class="code" href="structRtAudioDeviceInfo.html#o0">00100</a> std::string <a class="code" href="structRtAudioDeviceInfo.html#o0">name</a>; | |||
<a name="l00101"></a><a class="code" href="structRtAudioDeviceInfo.html#o1">00101</a> <span class="keywordtype">bool</span> <a class="code" href="structRtAudioDeviceInfo.html#o1">probed</a>; | |||
<a name="l00102"></a><a class="code" href="structRtAudioDeviceInfo.html#o2">00102</a> <span class="keywordtype">int</span> <a class="code" href="structRtAudioDeviceInfo.html#o2">outputChannels</a>; | |||
<a name="l00103"></a><a class="code" href="structRtAudioDeviceInfo.html#o3">00103</a> <span class="keywordtype">int</span> <a class="code" href="structRtAudioDeviceInfo.html#o3">inputChannels</a>; | |||
<a name="l00104"></a><a class="code" href="structRtAudioDeviceInfo.html#o4">00104</a> <span class="keywordtype">int</span> <a class="code" href="structRtAudioDeviceInfo.html#o4">duplexChannels</a>; | |||
<a name="l00105"></a><a class="code" href="structRtAudioDeviceInfo.html#o5">00105</a> <span class="keywordtype">bool</span> <a class="code" href="structRtAudioDeviceInfo.html#o5">isDefault</a>; | |||
<a name="l00106"></a><a class="code" href="structRtAudioDeviceInfo.html#o6">00106</a> std::vector<int> <a class="code" href="structRtAudioDeviceInfo.html#o6">sampleRates</a>; | |||
<a name="l00107"></a><a class="code" href="structRtAudioDeviceInfo.html#o7">00107</a> RtAudioFormat <a class="code" href="structRtAudioDeviceInfo.html#o7">nativeFormats</a>; | |||
00109 <span class="comment">// Default constructor.</span> | |||
00110 <a class="code" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a>() | |||
00111 :<a class="code" href="structRtAudioDeviceInfo.html#o1">probed</a>(false), <a class="code" href="structRtAudioDeviceInfo.html#o2">outputChannels</a>(0), <a class="code" href="structRtAudioDeviceInfo.html#o3">inputChannels</a>(0), | |||
00112 <a class="code" href="structRtAudioDeviceInfo.html#o4">duplexChannels</a>(0), <a class="code" href="structRtAudioDeviceInfo.html#o5">isDefault</a>(false), <a class="code" href="structRtAudioDeviceInfo.html#o7">nativeFormats</a>(0) {} | |||
00113 }; | |||
00114 | |||
00115 <span class="comment">// **************************************************************** //</span> | |||
00116 <span class="comment">//</span> | |||
00117 <span class="comment">// RtApi class declaration.</span> | |||
00118 <span class="comment">//</span> | |||
00119 <span class="comment">// Note that RtApi is an abstract base class and cannot be</span> | |||
00120 <span class="comment">// explicitly instantiated. The class RtAudio will create an</span> | |||
00121 <span class="comment">// instance of an RtApi subclass (RtApiOss, RtApiAlsa,</span> | |||
00122 <span class="comment">// RtApiJack, RtApiCore, RtApiAl, RtApiDs, or RtApiAsio).</span> | |||
00123 <span class="comment">//</span> | |||
00124 <span class="comment">// **************************************************************** //</span> | |||
00125 | |||
00126 <span class="keyword">class </span>RtApi | |||
00127 { | |||
00128 <span class="keyword">public</span>: | |||
00129 | |||
00130 RtApi(); | |||
00131 <span class="keyword">virtual</span> ~RtApi(); | |||
00132 <span class="keywordtype">void</span> openStream( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels, | |||
00133 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels, | |||
00134 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate, | |||
00135 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); | |||
00136 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ) = 0; | |||
00137 <span class="keyword">virtual</span> <span class="keywordtype">void</span> cancelStreamCallback() = 0; | |||
00138 <span class="keywordtype">int</span> getDeviceCount(<span class="keywordtype">void</span>); | |||
00139 <a class="code" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a> getDeviceInfo( <span class="keywordtype">int</span> device ); | |||
00140 <span class="keywordtype">char</span> * <span class="keyword">const</span> getStreamBuffer(); | |||
00141 <span class="keyword">virtual</span> <span class="keywordtype">void</span> tickStream() = 0; | |||
00142 <span class="keyword">virtual</span> <span class="keywordtype">void</span> closeStream(); | |||
00143 <span class="keyword">virtual</span> <span class="keywordtype">void</span> startStream() = 0; | |||
00144 <span class="keyword">virtual</span> <span class="keywordtype">void</span> stopStream() = 0; | |||
00145 <span class="keyword">virtual</span> <span class="keywordtype">void</span> abortStream() = 0; | |||
00146 | |||
00147 <span class="keyword">protected</span>: | |||
00148 | |||
00149 <font class="keyword">public</font>: | |||
00151 <a class="code" href="classRtError.html#a0">RtError</a>(<font class="keyword">const</font> <font class="keywordtype">char</font> *p, TYPE tipe = RtError::UNSPECIFIED); | |||
00152 | |||
00154 <font class="keyword">virtual</font> <a class="code" href="classRtError.html#a1">~RtError</a>(<font class="keywordtype">void</font>); | |||
00155 | |||
00157 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classRtError.html#a2">printMessage</a>(<font class="keywordtype">void</font>); | |||
00158 | |||
<a name="l00160"></a><a class="code" href="classRtError.html#a3">00160</a> <font class="keyword">virtual</font> <font class="keyword">const</font> TYPE& <a class="code" href="classRtError.html#a3">getType</a>(<font class="keywordtype">void</font>)<font class="keyword"> </font>{ <font class="keywordflow">return</font> type; } | |||
00161 | |||
<a name="l00163"></a><a class="code" href="classRtError.html#a4">00163</a> <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="classRtError.html#a4">getMessage</a>(<font class="keywordtype">void</font>)<font class="keyword"> </font>{ <font class="keywordflow">return</font> error_message; } | |||
00164 }; | |||
00149 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> MAX_SAMPLE_RATES; | |||
00150 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> SAMPLE_RATES[]; | |||
00151 | |||
00152 <span class="keyword">enum</span> { FAILURE, SUCCESS }; | |||
00153 | |||
00154 <span class="keyword">enum</span> StreamMode { | |||
00155 OUTPUT, | |||
00156 INPUT, | |||
00157 DUPLEX, | |||
00158 UNINITIALIZED = -75 | |||
00159 }; | |||
00160 | |||
00161 <span class="keyword">enum</span> StreamState { | |||
00162 STREAM_STOPPED, | |||
00163 STREAM_RUNNING | |||
00164 }; | |||
00165 | |||
00166 | |||
00167 <font class="comment">// This public structure type is used to pass callback information</font> | |||
00168 <font class="comment">// between the private RtAudio stream structure and global callback</font> | |||
00169 <font class="comment">// handling functions.</font> | |||
00170 <font class="keyword">typedef</font> <font class="keyword">struct </font>{ | |||
00171 <font class="keywordtype">void</font> *object; <font class="comment">// Used as a "this" pointer.</font> | |||
00172 <font class="keywordtype">int</font> streamId; | |||
00173 DEVICE_ID device[2]; | |||
00174 THREAD_HANDLE thread; | |||
00175 <font class="keywordtype">void</font> *callback; | |||
00176 <font class="keywordtype">void</font> *buffers; | |||
00177 <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> waitTime; | |||
00178 <font class="keywordtype">bool</font> blockTick; | |||
00179 <font class="keywordtype">bool</font> stopStream; | |||
00180 <font class="keywordtype">bool</font> usingCallback; | |||
00181 <font class="keywordtype">void</font> *userData; | |||
00182 } CALLBACK_INFO; | |||
00183 | |||
00184 | |||
00185 <font class="comment">// *************************************************** //</font> | |||
00186 <font class="comment">//</font> | |||
00187 <font class="comment">// RtAudio class declaration.</font> | |||
00188 <font class="comment">//</font> | |||
00189 <font class="comment">// *************************************************** //</font> | |||
00190 | |||
00191 <font class="keyword">class </font><a class="code" href="classRtAudio.html">RtAudio</a> | |||
00192 { | |||
00193 <font class="keyword">public</font>: | |||
00194 | |||
00195 <font class="comment">// Support for signed integers and floats. Audio data fed to/from</font> | |||
00196 <font class="comment">// the tickStream() routine is assumed to ALWAYS be in host</font> | |||
00197 <font class="comment">// byte order. The internal routines will automatically take care of</font> | |||
00198 <font class="comment">// any necessary byte-swapping between the host format and the</font> | |||
00199 <font class="comment">// soundcard. Thus, endian-ness is not a concern in the following</font> | |||
00200 <font class="comment">// format definitions.</font> | |||
00201 <font class="keyword">typedef</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> RTAUDIO_FORMAT; | |||
<a name="l00202"></a><a class="code" href="classRtAudio.html#p0">00202</a> <font class="keyword">static</font> <font class="keyword">const</font> RTAUDIO_FORMAT RTAUDIO_SINT8; | |||
<a name="l00203"></a><a class="code" href="classRtAudio.html#p1">00203</a> <font class="keyword">static</font> <font class="keyword">const</font> RTAUDIO_FORMAT RTAUDIO_SINT16; | |||
<a name="l00204"></a><a class="code" href="classRtAudio.html#p2">00204</a> <font class="keyword">static</font> <font class="keyword">const</font> RTAUDIO_FORMAT RTAUDIO_SINT24; | |||
<a name="l00205"></a><a class="code" href="classRtAudio.html#p3">00205</a> <font class="keyword">static</font> <font class="keyword">const</font> RTAUDIO_FORMAT RTAUDIO_SINT32; | |||
<a name="l00206"></a><a class="code" href="classRtAudio.html#p4">00206</a> <font class="keyword">static</font> <font class="keyword">const</font> RTAUDIO_FORMAT RTAUDIO_FLOAT32; | |||
<a name="l00207"></a><a class="code" href="classRtAudio.html#p5">00207</a> <font class="keyword">static</font> <font class="keyword">const</font> RTAUDIO_FORMAT RTAUDIO_FLOAT64; | |||
00209 <font class="comment">//static const int MAX_SAMPLE_RATES = 14;</font> | |||
00210 <font class="keyword">enum</font> { MAX_SAMPLE_RATES = 14 }; | |||
00211 | |||
00212 <font class="keyword">typedef</font> int (*RTAUDIO_CALLBACK)(<font class="keywordtype">char</font> *buffer, <font class="keywordtype">int</font> bufferSize, <font class="keywordtype">void</font> *userData); | |||
00213 | |||
<a name="l00215"></a><a class="code" href="structRtAudio_1_1RTAUDIO__DEVICE.html">00215</a> <font class="keyword">typedef</font> <font class="keyword">struct </font>{ | |||
<a name="l00216"></a><a class="code" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m0">00216</a> <font class="keywordtype">char</font> name[128]; | |||
00217 DEVICE_ID id[2]; <font class="comment">/* No value reported by getDeviceInfo(). */</font> | |||
<a name="l00218"></a><a class="code" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m2">00218</a> <font class="keywordtype">bool</font> probed; | |||
<a name="l00219"></a><a class="code" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m3">00219</a> <font class="keywordtype">int</font> maxOutputChannels; | |||
<a name="l00220"></a><a class="code" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m4">00220</a> <font class="keywordtype">int</font> maxInputChannels; | |||
<a name="l00221"></a><a class="code" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m5">00221</a> <font class="keywordtype">int</font> maxDuplexChannels; | |||
<a name="l00222"></a><a class="code" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m6">00222</a> <font class="keywordtype">int</font> minOutputChannels; | |||
<a name="l00223"></a><a class="code" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m7">00223</a> <font class="keywordtype">int</font> minInputChannels; | |||
<a name="l00224"></a><a class="code" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m8">00224</a> <font class="keywordtype">int</font> minDuplexChannels; | |||
<a name="l00225"></a><a class="code" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m9">00225</a> <font class="keywordtype">bool</font> hasDuplexSupport; | |||
<a name="l00226"></a><a class="code" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m10">00226</a> <font class="keywordtype">bool</font> isDefault; | |||
<a name="l00227"></a><a class="code" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m11">00227</a> <font class="keywordtype">int</font> nSampleRates; | |||
<a name="l00228"></a><a class="code" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m12">00228</a> <font class="keywordtype">int</font> sampleRates[MAX_SAMPLE_RATES]; | |||
<a name="l00229"></a><a class="code" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m13">00229</a> RTAUDIO_FORMAT nativeFormats; | |||
00230 } RTAUDIO_DEVICE; | |||
00166 <span class="comment">// A protected structure for audio streams.</span> | |||
00167 <span class="keyword">struct </span>RtApiStream { | |||
00168 <span class="keywordtype">int</span> device[2]; <span class="comment">// Playback and record, respectively.</span> | |||
00169 <span class="keywordtype">void</span> *apiHandle; <span class="comment">// void pointer for API specific stream handle information</span> | |||
00170 StreamMode mode; <span class="comment">// OUTPUT, INPUT, or DUPLEX.</span> | |||
00171 StreamState state; <span class="comment">// STOPPED or RUNNING</span> | |||
00172 <span class="keywordtype">char</span> *userBuffer; | |||
00173 <span class="keywordtype">char</span> *deviceBuffer; | |||
00174 <span class="keywordtype">bool</span> doConvertBuffer[2]; <span class="comment">// Playback and record, respectively.</span> | |||
00175 <span class="keywordtype">bool</span> deInterleave[2]; <span class="comment">// Playback and record, respectively.</span> | |||
00176 <span class="keywordtype">bool</span> doByteSwap[2]; <span class="comment">// Playback and record, respectively.</span> | |||
00177 <span class="keywordtype">int</span> sampleRate; | |||
00178 <span class="keywordtype">int</span> bufferSize; | |||
00179 <span class="keywordtype">int</span> nBuffers; | |||
00180 <span class="keywordtype">int</span> nUserChannels[2]; <span class="comment">// Playback and record, respectively.</span> | |||
00181 <span class="keywordtype">int</span> nDeviceChannels[2]; <span class="comment">// Playback and record channels, respectively.</span> | |||
00182 RtAudioFormat userFormat; | |||
00183 RtAudioFormat deviceFormat[2]; <span class="comment">// Playback and record, respectively.</span> | |||
00184 StreamMutex mutex; | |||
00185 CallbackInfo callbackInfo; | |||
00186 | |||
00187 RtApiStream() | |||
00188 :apiHandle(0), userBuffer(0), deviceBuffer(0) {} | |||
00189 <span class="comment">// :apiHandle(0), mode(UNINITIALIZED), state(STREAM_STOPPED),</span> | |||
00190 <span class="comment">// userBuffer(0), deviceBuffer(0) {}</span> | |||
00191 }; | |||
00192 | |||
00193 <span class="comment">// A protected device structure for audio devices.</span> | |||
00194 <span class="keyword">struct </span>RtApiDevice { | |||
00195 std::string name; | |||
00196 <span class="keywordtype">bool</span> probed; | |||
00197 <span class="keywordtype">void</span> *apiDeviceId; <span class="comment">// void pointer for API specific device information</span> | |||
00198 <span class="keywordtype">int</span> maxOutputChannels; | |||
00199 <span class="keywordtype">int</span> maxInputChannels; | |||
00200 <span class="keywordtype">int</span> maxDuplexChannels; | |||
00201 <span class="keywordtype">int</span> minOutputChannels; | |||
00202 <span class="keywordtype">int</span> minInputChannels; | |||
00203 <span class="keywordtype">int</span> minDuplexChannels; | |||
00204 <span class="keywordtype">bool</span> hasDuplexSupport; | |||
00205 <span class="keywordtype">bool</span> isDefault; | |||
00206 std::vector<int> sampleRates; | |||
00207 RtAudioFormat nativeFormats; | |||
00209 <span class="comment">// Default constructor.</span> | |||
00210 RtApiDevice() | |||
00211 :probed(false), apiDeviceId(0), maxOutputChannels(0), maxInputChannels(0), | |||
00212 maxDuplexChannels(0), minOutputChannels(0), minInputChannels(0), | |||
00213 minDuplexChannels(0), isDefault(false), nativeFormats(0) {} | |||
00214 }; | |||
00215 | |||
00216 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> Int16; | |||
00217 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> Int32; | |||
00218 <span class="keyword">typedef</span> <span class="keywordtype">float</span> Float32; | |||
00219 <span class="keyword">typedef</span> <span class="keywordtype">double</span> Float64; | |||
00220 | |||
00221 <span class="keywordtype">char</span> message_[256]; | |||
00222 <span class="keywordtype">int</span> nDevices_; | |||
00223 std::vector<RtApiDevice> devices_; | |||
00224 RtApiStream stream_; | |||
00225 | |||
00230 <span class="keyword">virtual</span> <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>) = 0; | |||
00231 | |||
00233 | |||
00239 <a class="code" href="classRtAudio.html#a0">RtAudio</a>(); | |||
00240 | |||
00242 | |||
00253 <a class="code" href="classRtAudio.html#a0">RtAudio</a>(<font class="keywordtype">int</font> *streamId, | |||
00254 <font class="keywordtype">int</font> outputDevice, <font class="keywordtype">int</font> outputChannels, | |||
00255 <font class="keywordtype">int</font> inputDevice, <font class="keywordtype">int</font> inputChannels, | |||
00256 RTAUDIO_FORMAT format, <font class="keywordtype">int</font> sampleRate, | |||
00257 <font class="keywordtype">int</font> *bufferSize, <font class="keywordtype">int</font> numberOfBuffers); | |||
00258 | |||
00260 | |||
00264 <a class="code" href="classRtAudio.html#a2">~RtAudio</a>(); | |||
00240 <span class="keyword">virtual</span> <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info ); | |||
00241 | |||
00250 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels, | |||
00251 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format, | |||
00252 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); | |||
00253 | |||
00258 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>); | |||
00259 | |||
00264 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>); | |||
00265 | |||
00267 | |||
00294 <font class="keywordtype">int</font> <a class="code" href="classRtAudio.html#a3">openStream</a>(<font class="keywordtype">int</font> outputDevice, <font class="keywordtype">int</font> outputChannels, | |||
00295 <font class="keywordtype">int</font> inputDevice, <font class="keywordtype">int</font> inputChannels, | |||
00296 RTAUDIO_FORMAT format, <font class="keywordtype">int</font> sampleRate, | |||
00297 <font class="keywordtype">int</font> *bufferSize, <font class="keywordtype">int</font> numberOfBuffers); | |||
00298 | |||
00300 | |||
00319 <font class="keywordtype">void</font> <a class="code" href="classRtAudio.html#a4">setStreamCallback</a>(<font class="keywordtype">int</font> streamId, RTAUDIO_CALLBACK callback, <font class="keywordtype">void</font> *userData); | |||
00320 | |||
00322 | |||
00329 <font class="keywordtype">void</font> <a class="code" href="classRtAudio.html#a5">cancelStreamCallback</a>(<font class="keywordtype">int</font> streamId); | |||
00330 | |||
00332 <font class="keywordtype">int</font> <a class="code" href="classRtAudio.html#a6">getDeviceCount</a>(<font class="keywordtype">void</font>); | |||
00333 | |||
00335 | |||
00343 <font class="keywordtype">void</font> <a class="code" href="classRtAudio.html#a7">getDeviceInfo</a>(<font class="keywordtype">int</font> device, RTAUDIO_DEVICE *info); | |||
00344 | |||
00346 | |||
00351 <font class="keywordtype">char</font> * <font class="keyword">const</font> <a class="code" href="classRtAudio.html#a8">getStreamBuffer</a>(<font class="keywordtype">int</font> streamId); | |||
00352 | |||
00354 | |||
00359 <font class="keywordtype">void</font> <a class="code" href="classRtAudio.html#a9">tickStream</a>(<font class="keywordtype">int</font> streamId); | |||
00267 <span class="keywordtype">void</span> clearDeviceInfo( RtApiDevice *info ); | |||
00268 | |||
00270 <span class="keywordtype">void</span> clearStreamInfo(); | |||
00271 | |||
00273 <span class="keywordtype">void</span> error( RtError::Type type ); | |||
00274 | |||
00279 <span class="keywordtype">void</span> verifyStream(); | |||
00280 | |||
00285 <span class="keywordtype">void</span> convertStreamBuffer( StreamMode mode ); | |||
00286 | |||
00288 <span class="keywordtype">void</span> byteSwapBuffer( <span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> samples, RtAudioFormat format ); | |||
00289 | |||
00291 <span class="keywordtype">int</span> formatBytes( RtAudioFormat format ); | |||
00292 }; | |||
00293 | |||
00294 | |||
00295 <span class="comment">// **************************************************************** //</span> | |||
00296 <span class="comment">//</span> | |||
00297 <span class="comment">// RtAudio class declaration.</span> | |||
00298 <span class="comment">//</span> | |||
00299 <span class="comment">// RtAudio is a "controller" used to select an available audio i/o</span> | |||
00300 <span class="comment">// interface. It presents a common API for the user to call but all</span> | |||
00301 <span class="comment">// functionality is implemented by the class RtAudioApi and its</span> | |||
00302 <span class="comment">// subclasses. RtAudio creates an instance of an RtAudioApi subclass</span> | |||
00303 <span class="comment">// based on the user's API choice. If no choice is made, RtAudio</span> | |||
00304 <span class="comment">// attempts to make a "logical" API selection.</span> | |||
00305 <span class="comment">//</span> | |||
00306 <span class="comment">// **************************************************************** //</span> | |||
00307 | |||
<a name="l00308"></a><a class="code" href="classRtAudio.html">00308</a> <span class="keyword">class </span><a class="code" href="classRtAudio.html">RtAudio</a> | |||
00309 { | |||
00310 <span class="keyword">public</span>: | |||
00311 | |||
<a name="l00313"></a><a class="code" href="classRtAudio.html#w8">00313</a> <span class="keyword">enum</span> <a class="code" href="classRtAudio.html#w8">RtAudioApi</a> { | |||
00314 <a class="code" href="classRtAudio.html#w8w0">UNSPECIFIED</a>, | |||
00315 <a class="code" href="classRtAudio.html#w8w1">LINUX_ALSA</a>, | |||
00316 <a class="code" href="classRtAudio.html#w8w2">LINUX_OSS</a>, | |||
00317 <a class="code" href="classRtAudio.html#w8w3">LINUX_JACK</a>, | |||
00318 <a class="code" href="classRtAudio.html#w8w4">MACOSX_CORE</a>, | |||
00319 <a class="code" href="classRtAudio.html#w8w5">IRIX_AL</a>, | |||
00320 <a class="code" href="classRtAudio.html#w8w6">WINDOWS_ASIO</a>, | |||
00321 <a class="code" href="classRtAudio.html#w8w7">WINDOWS_DS</a> | |||
00322 }; | |||
00323 | |||
00325 | |||
00335 <a class="code" href="classRtAudio.html#a0">RtAudio</a>( RtAudioApi api=UNSPECIFIED ); | |||
00336 | |||
00338 | |||
00349 <a class="code" href="classRtAudio.html#a0">RtAudio</a>( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels, | |||
00350 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels, | |||
00351 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate, | |||
00352 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers, RtAudioApi api=UNSPECIFIED ); | |||
00353 | |||
00355 | |||
00359 <a class="code" href="classRtAudio.html#a2">~RtAudio</a>(); | |||
00360 | |||
00362 | |||
00366 <font class="keywordtype">void</font> <a class="code" href="classRtAudio.html#a10">closeStream</a>(<font class="keywordtype">int</font> streamId); | |||
00367 | |||
00369 | |||
00373 <font class="keywordtype">void</font> <a class="code" href="classRtAudio.html#a11">startStream</a>(<font class="keywordtype">int</font> streamId); | |||
00374 | |||
00376 | |||
00380 <font class="keywordtype">void</font> <a class="code" href="classRtAudio.html#a12">stopStream</a>(<font class="keywordtype">int</font> streamId); | |||
00381 | |||
00383 | |||
00387 <font class="keywordtype">void</font> <a class="code" href="classRtAudio.html#a13">abortStream</a>(<font class="keywordtype">int</font> streamId); | |||
00388 | |||
00390 | |||
00395 <font class="keywordtype">int</font> <a class="code" href="classRtAudio.html#a14">streamWillBlock</a>(<font class="keywordtype">int</font> streamId); | |||
00396 | |||
00397 <font class="preprocessor">#if (defined(__MACOSX_CORE__) || defined(__WINDOWS_ASIO__))</font> | |||
00398 <font class="preprocessor"></font> <font class="comment">// This function is intended for internal use only. It must be</font> | |||
00399 <font class="comment">// public because it is called by the internal callback handler,</font> | |||
00400 <font class="comment">// which is not a member of RtAudio. External use of this function</font> | |||
00401 <font class="comment">// will most likely produce highly undesireable results!</font> | |||
00402 <font class="keywordtype">void</font> callbackEvent(<font class="keywordtype">int</font> streamId, DEVICE_ID deviceId, <font class="keywordtype">void</font> *inData, <font class="keywordtype">void</font> *outData); | |||
00403 <font class="preprocessor">#endif</font> | |||
00404 <font class="preprocessor"></font> | |||
00405 <font class="keyword">protected</font>: | |||
00406 | |||
00407 <font class="keyword">private</font>: | |||
00408 | |||
00409 <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> SAMPLE_RATES[MAX_SAMPLE_RATES]; | |||
00410 | |||
00411 <font class="keyword">enum</font> { FAILURE, SUCCESS }; | |||
00412 | |||
00413 <font class="keyword">enum</font> STREAM_MODE { | |||
00414 OUTPUT, | |||
00415 INPUT, | |||
00416 DUPLEX, | |||
00417 UNINITIALIZED = -75 | |||
00418 }; | |||
00419 | |||
00420 <font class="keyword">enum</font> STREAM_STATE { | |||
00421 STREAM_STOPPED, | |||
00422 STREAM_RUNNING | |||
00423 }; | |||
00388 <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a3">openStream</a>( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels, | |||
00389 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels, | |||
00390 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate, | |||
00391 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); | |||
00392 | |||
00394 | |||
<a name="l00413"></a><a class="code" href="classRtAudio.html#a4">00413</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a4">setStreamCallback</a>(RtAudioCallback callback, <span class="keywordtype">void</span> *userData) { rtapi_->setStreamCallback( callback, userData ); }; | |||
00414 | |||
00416 | |||
<a name="l00423"></a><a class="code" href="classRtAudio.html#a5">00423</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a5">cancelStreamCallback</a>() { rtapi_->cancelStreamCallback(); }; | |||
00424 | |||
00425 <font class="keyword">typedef</font> <font class="keyword">struct </font>{ | |||
00426 <font class="keywordtype">int</font> device[2]; <font class="comment">// Playback and record, respectively.</font> | |||
00427 STREAM_MODE mode; <font class="comment">// OUTPUT, INPUT, or DUPLEX.</font> | |||
00428 AUDIO_HANDLE handle[2]; <font class="comment">// Playback and record handles, respectively.</font> | |||
00429 STREAM_STATE state; <font class="comment">// STOPPED or RUNNING</font> | |||
00430 <font class="keywordtype">char</font> *userBuffer; | |||
00431 <font class="keywordtype">char</font> *deviceBuffer; | |||
00432 <font class="keywordtype">bool</font> doConvertBuffer[2]; <font class="comment">// Playback and record, respectively.</font> | |||
00433 <font class="keywordtype">bool</font> deInterleave[2]; <font class="comment">// Playback and record, respectively.</font> | |||
00434 <font class="keywordtype">bool</font> doByteSwap[2]; <font class="comment">// Playback and record, respectively.</font> | |||
00435 <font class="keywordtype">int</font> sampleRate; | |||
00436 <font class="keywordtype">int</font> bufferSize; | |||
00437 <font class="keywordtype">int</font> nBuffers; | |||
00438 <font class="keywordtype">int</font> nUserChannels[2]; <font class="comment">// Playback and record, respectively.</font> | |||
00439 <font class="keywordtype">int</font> nDeviceChannels[2]; <font class="comment">// Playback and record channels, respectively.</font> | |||
00440 RTAUDIO_FORMAT userFormat; | |||
00441 RTAUDIO_FORMAT deviceFormat[2]; <font class="comment">// Playback and record, respectively.</font> | |||
00442 MUTEX mutex; | |||
00443 CALLBACK_INFO callbackInfo; | |||
00444 } RTAUDIO_STREAM; | |||
00445 | |||
00446 <font class="keyword">typedef</font> <font class="keywordtype">signed</font> <font class="keywordtype">short</font> INT16; | |||
00447 <font class="keyword">typedef</font> <font class="keywordtype">signed</font> <font class="keywordtype">int</font> INT32; | |||
00448 <font class="keyword">typedef</font> <font class="keywordtype">float</font> FLOAT32; | |||
00449 <font class="keyword">typedef</font> <font class="keywordtype">double</font> FLOAT64; | |||
00450 | |||
00451 <font class="keywordtype">char</font> message[256]; | |||
00452 <font class="keywordtype">int</font> nDevices; | |||
00453 RTAUDIO_DEVICE *devices; | |||
<a name="l00426"></a><a class="code" href="classRtAudio.html#a6">00426</a> <span class="keywordtype">int</span> <a class="code" href="classRtAudio.html#a6">getDeviceCount</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> rtapi_->getDeviceCount(); }; | |||
00427 | |||
00429 | |||
<a name="l00437"></a><a class="code" href="classRtAudio.html#a7">00437</a> <a class="code" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a> <a class="code" href="classRtAudio.html#a7">getDeviceInfo</a>(<span class="keywordtype">int</span> device) { <span class="keywordflow">return</span> rtapi_->getDeviceInfo( device ); }; | |||
00438 | |||
00440 | |||
<a name="l00445"></a><a class="code" href="classRtAudio.html#a8">00445</a> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classRtAudio.html#a8">getStreamBuffer</a>() { <span class="keywordflow">return</span> rtapi_->getStreamBuffer(); }; | |||
00446 | |||
00448 | |||
<a name="l00453"></a><a class="code" href="classRtAudio.html#a9">00453</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a9">tickStream</a>() { rtapi_->tickStream(); }; | |||
00454 | |||
00455 std::map<int, void *> streams; | |||
00456 | |||
00458 <font class="keywordtype">void</font> error(RtError::TYPE type); | |||
00459 | |||
00464 <font class="keywordtype">void</font> initialize(<font class="keywordtype">void</font>); | |||
00465 | |||
00470 <font class="keywordtype">int</font> getDefaultInputDevice(<font class="keywordtype">void</font>); | |||
00471 | |||
00476 <font class="keywordtype">int</font> getDefaultOutputDevice(<font class="keywordtype">void</font>); | |||
<a name="l00460"></a><a class="code" href="classRtAudio.html#a10">00460</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a10">closeStream</a>() { rtapi_->closeStream(); }; | |||
00461 | |||
00463 | |||
<a name="l00467"></a><a class="code" href="classRtAudio.html#a11">00467</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a11">startStream</a>() { rtapi_->startStream(); }; | |||
00468 | |||
00470 | |||
<a name="l00474"></a><a class="code" href="classRtAudio.html#a12">00474</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a12">stopStream</a>() { rtapi_->stopStream(); }; | |||
00475 | |||
00477 | |||
00479 <font class="keywordtype">void</font> clearDeviceInfo(RTAUDIO_DEVICE *info); | |||
00480 | |||
00488 <font class="keywordtype">void</font> probeDeviceInfo(RTAUDIO_DEVICE *info); | |||
00489 | |||
00496 <font class="keywordtype">bool</font> probeDeviceOpen(<font class="keywordtype">int</font> device, RTAUDIO_STREAM *stream, | |||
00497 STREAM_MODE mode, <font class="keywordtype">int</font> channels, | |||
00498 <font class="keywordtype">int</font> sampleRate, RTAUDIO_FORMAT format, | |||
00499 <font class="keywordtype">int</font> *bufferSize, <font class="keywordtype">int</font> numberOfBuffers); | |||
00500 | |||
00507 <font class="keywordtype">void</font> *verifyStream(<font class="keywordtype">int</font> streamId); | |||
00508 | |||
00513 <font class="keywordtype">void</font> convertStreamBuffer(RTAUDIO_STREAM *stream, STREAM_MODE mode); | |||
00514 | |||
00516 <font class="keywordtype">void</font> byteSwapBuffer(<font class="keywordtype">char</font> *buffer, <font class="keywordtype">int</font> samples, RTAUDIO_FORMAT format); | |||
00517 | |||
00519 <font class="keywordtype">int</font> formatBytes(RTAUDIO_FORMAT format); | |||
00520 }; | |||
00521 | |||
00522 <font class="comment">// Define the following flag to have extra information spewed to stderr.</font> | |||
00523 <font class="comment">//#define __RTAUDIO_DEBUG__</font> | |||
00524 | |||
00525 <font class="preprocessor">#endif</font> | |||
</font></pre></div><HR> | |||
<a name="l00481"></a><a class="code" href="classRtAudio.html#a13">00481</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a13">abortStream</a>() { rtapi_->abortStream(); }; | |||
00482 | |||
00483 | |||
00484 <span class="keyword">protected</span>: | |||
00485 | |||
00486 <span class="keywordtype">void</span> initialize( RtAudioApi api ); | |||
00487 | |||
00488 RtApi *rtapi_; | |||
00489 }; | |||
00490 | |||
00491 | |||
00492 <span class="comment">// RtApi Subclass prototypes.</span> | |||
00493 | |||
00494 <span class="preprocessor">#if defined(__LINUX_ALSA__)</span> | |||
00495 <span class="preprocessor"></span> | |||
00496 <span class="keyword">class </span>RtApiAlsa: <span class="keyword">public</span> RtApi | |||
00497 { | |||
00498 <span class="keyword">public</span>: | |||
00499 | |||
00500 RtApiAlsa(); | |||
00501 ~RtApiAlsa(); | |||
00502 <span class="keywordtype">void</span> tickStream(); | |||
00503 <span class="keywordtype">void</span> closeStream(); | |||
00504 <span class="keywordtype">void</span> startStream(); | |||
00505 <span class="keywordtype">void</span> stopStream(); | |||
00506 <span class="keywordtype">void</span> abortStream(); | |||
00507 <span class="keywordtype">int</span> streamWillBlock(); | |||
00508 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ); | |||
00509 <span class="keywordtype">void</span> cancelStreamCallback(); | |||
00510 | |||
00511 <span class="keyword">private</span>: | |||
00512 | |||
00513 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>); | |||
00514 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info ); | |||
00515 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels, | |||
00516 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format, | |||
00517 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); | |||
00518 }; | |||
00519 | |||
00520 <span class="preprocessor">#endif</span> | |||
00521 <span class="preprocessor"></span> | |||
00522 <span class="preprocessor">#if defined(__LINUX_JACK__)</span> | |||
00523 <span class="preprocessor"></span> | |||
00524 <span class="keyword">class </span>RtApiJack: <span class="keyword">public</span> RtApi | |||
00525 { | |||
00526 <span class="keyword">public</span>: | |||
00527 | |||
00528 RtApiJack(); | |||
00529 ~RtApiJack(); | |||
00530 <span class="keywordtype">void</span> tickStream(); | |||
00531 <span class="keywordtype">void</span> closeStream(); | |||
00532 <span class="keywordtype">void</span> startStream(); | |||
00533 <span class="keywordtype">void</span> stopStream(); | |||
00534 <span class="keywordtype">void</span> abortStream(); | |||
00535 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ); | |||
00536 <span class="keywordtype">void</span> cancelStreamCallback(); | |||
00537 <span class="comment">// This function is intended for internal use only. It must be</span> | |||
00538 <span class="comment">// public because it is called by the internal callback handler,</span> | |||
00539 <span class="comment">// which is not a member of RtAudio. External use of this function</span> | |||
00540 <span class="comment">// will most likely produce highly undesireable results!</span> | |||
00541 <span class="keywordtype">void</span> callbackEvent( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> nframes ); | |||
00542 | |||
00543 <span class="keyword">private</span>: | |||
00544 | |||
00545 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>); | |||
00546 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info ); | |||
00547 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels, | |||
00548 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format, | |||
00549 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); | |||
00550 }; | |||
00551 | |||
00552 <span class="preprocessor">#endif</span> | |||
00553 <span class="preprocessor"></span> | |||
00554 <span class="preprocessor">#if defined(__LINUX_OSS__)</span> | |||
00555 <span class="preprocessor"></span> | |||
00556 <span class="keyword">class </span>RtApiOss: <span class="keyword">public</span> RtApi | |||
00557 { | |||
00558 <span class="keyword">public</span>: | |||
00559 | |||
00560 RtApiOss(); | |||
00561 ~RtApiOss(); | |||
00562 <span class="keywordtype">void</span> tickStream(); | |||
00563 <span class="keywordtype">void</span> closeStream(); | |||
00564 <span class="keywordtype">void</span> startStream(); | |||
00565 <span class="keywordtype">void</span> stopStream(); | |||
00566 <span class="keywordtype">void</span> abortStream(); | |||
00567 <span class="keywordtype">int</span> streamWillBlock(); | |||
00568 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ); | |||
00569 <span class="keywordtype">void</span> cancelStreamCallback(); | |||
00570 | |||
00571 <span class="keyword">private</span>: | |||
00572 | |||
00573 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>); | |||
00574 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info ); | |||
00575 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels, | |||
00576 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format, | |||
00577 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); | |||
00578 }; | |||
00579 | |||
00580 <span class="preprocessor">#endif</span> | |||
00581 <span class="preprocessor"></span> | |||
00582 <span class="preprocessor">#if defined(__MACOSX_CORE__)</span> | |||
00583 <span class="preprocessor"></span> | |||
00584 <span class="preprocessor">#include <CoreAudio/AudioHardware.h></span> | |||
00585 | |||
00586 <span class="keyword">class </span>RtApiCore: <span class="keyword">public</span> RtApi | |||
00587 { | |||
00588 <span class="keyword">public</span>: | |||
00589 | |||
00590 RtApiCore(); | |||
00591 ~RtApiCore(); | |||
00592 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>); | |||
00593 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>); | |||
00594 <span class="keywordtype">void</span> tickStream(); | |||
00595 <span class="keywordtype">void</span> closeStream(); | |||
00596 <span class="keywordtype">void</span> startStream(); | |||
00597 <span class="keywordtype">void</span> stopStream(); | |||
00598 <span class="keywordtype">void</span> abortStream(); | |||
00599 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ); | |||
00600 <span class="keywordtype">void</span> cancelStreamCallback(); | |||
00601 | |||
00602 <span class="comment">// This function is intended for internal use only. It must be</span> | |||
00603 <span class="comment">// public because it is called by the internal callback handler,</span> | |||
00604 <span class="comment">// which is not a member of RtAudio. External use of this function</span> | |||
00605 <span class="comment">// will most likely produce highly undesireable results!</span> | |||
00606 <span class="keywordtype">void</span> callbackEvent( AudioDeviceID deviceId, <span class="keywordtype">void</span> *inData, <span class="keywordtype">void</span> *outData ); | |||
00607 | |||
00608 <span class="keyword">private</span>: | |||
00609 | |||
00610 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>); | |||
00611 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info ); | |||
00612 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels, | |||
00613 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format, | |||
00614 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); | |||
00615 }; | |||
00616 | |||
00617 <span class="preprocessor">#endif</span> | |||
00618 <span class="preprocessor"></span> | |||
00619 <span class="preprocessor">#if defined(__WINDOWS_DS__)</span> | |||
00620 <span class="preprocessor"></span> | |||
00621 <span class="keyword">class </span>RtApiDs: <span class="keyword">public</span> RtApi | |||
00622 { | |||
00623 <span class="keyword">public</span>: | |||
00624 | |||
00625 RtApiDs(); | |||
00626 ~RtApiDs(); | |||
00627 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>); | |||
00628 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>); | |||
00629 <span class="keywordtype">void</span> tickStream(); | |||
00630 <span class="keywordtype">void</span> closeStream(); | |||
00631 <span class="keywordtype">void</span> startStream(); | |||
00632 <span class="keywordtype">void</span> stopStream(); | |||
00633 <span class="keywordtype">void</span> abortStream(); | |||
00634 <span class="keywordtype">int</span> streamWillBlock(); | |||
00635 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ); | |||
00636 <span class="keywordtype">void</span> cancelStreamCallback(); | |||
00637 | |||
00638 <span class="keyword">private</span>: | |||
00639 | |||
00640 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>); | |||
00641 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info ); | |||
00642 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels, | |||
00643 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format, | |||
00644 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); | |||
00645 }; | |||
00646 | |||
00647 <span class="preprocessor">#endif</span> | |||
00648 <span class="preprocessor"></span> | |||
00649 <span class="preprocessor">#if defined(__WINDOWS_ASIO__)</span> | |||
00650 <span class="preprocessor"></span> | |||
00651 <span class="keyword">class </span>RtApiAsio: <span class="keyword">public</span> RtApi | |||
00652 { | |||
00653 <span class="keyword">public</span>: | |||
00654 | |||
00655 RtApiAsio(); | |||
00656 ~RtApiAsio(); | |||
00657 <span class="keywordtype">void</span> tickStream(); | |||
00658 <span class="keywordtype">void</span> closeStream(); | |||
00659 <span class="keywordtype">void</span> startStream(); | |||
00660 <span class="keywordtype">void</span> stopStream(); | |||
00661 <span class="keywordtype">void</span> abortStream(); | |||
00662 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ); | |||
00663 <span class="keywordtype">void</span> cancelStreamCallback(); | |||
00664 | |||
00665 <span class="comment">// This function is intended for internal use only. It must be</span> | |||
00666 <span class="comment">// public because it is called by the internal callback handler,</span> | |||
00667 <span class="comment">// which is not a member of RtAudio. External use of this function</span> | |||
00668 <span class="comment">// will most likely produce highly undesireable results!</span> | |||
00669 <span class="keywordtype">void</span> callbackEvent( <span class="keywordtype">long</span> bufferIndex ); | |||
00670 | |||
00671 <span class="keyword">private</span>: | |||
00672 | |||
00673 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>); | |||
00674 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info ); | |||
00675 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels, | |||
00676 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format, | |||
00677 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); | |||
00678 }; | |||
00679 | |||
00680 <span class="preprocessor">#endif</span> | |||
00681 <span class="preprocessor"></span> | |||
00682 <span class="preprocessor">#if defined(__IRIX_AL__)</span> | |||
00683 <span class="preprocessor"></span> | |||
00684 <span class="keyword">class </span>RtApiAl: <span class="keyword">public</span> RtApi | |||
00685 { | |||
00686 <span class="keyword">public</span>: | |||
00687 | |||
00688 RtApiAl(); | |||
00689 ~RtApiAl(); | |||
00690 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>); | |||
00691 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>); | |||
00692 <span class="keywordtype">void</span> tickStream(); | |||
00693 <span class="keywordtype">void</span> closeStream(); | |||
00694 <span class="keywordtype">void</span> startStream(); | |||
00695 <span class="keywordtype">void</span> stopStream(); | |||
00696 <span class="keywordtype">void</span> abortStream(); | |||
00697 <span class="keywordtype">int</span> streamWillBlock(); | |||
00698 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ); | |||
00699 <span class="keywordtype">void</span> cancelStreamCallback(); | |||
00700 | |||
00701 <span class="keyword">private</span>: | |||
00702 | |||
00703 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>); | |||
00704 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info ); | |||
00705 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels, | |||
00706 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format, | |||
00707 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); | |||
00708 }; | |||
00709 | |||
00710 <span class="preprocessor">#endif</span> | |||
00711 <span class="preprocessor"></span> | |||
00712 <span class="comment">// Define the following flag to have extra information spewed to stderr.</span> | |||
00713 <span class="comment">//#define __RTAUDIO_DEBUG__</span> | |||
00714 | |||
00715 <span class="preprocessor">#endif</span> | |||
</pre></div><HR> | |||
<table><tr><td><img src="../images/ccrma.gif"> | |||
<td>©2001-2002 Gary P. Scavone, CCRMA, Stanford University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@ccrma.stanford.edu">gary@ccrma.stanford.edu</a><P> | |||
<table><tr><td><img src="../images/mcgill.gif" width=165></td> | |||
<td>©2001-2004 Gary P. Scavone, McGill University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@music.mcgill.ca">gary@music.mcgill.ca</a></td></tr> | |||
</table> | |||
</BODY> | |||
@@ -0,0 +1,64 @@ | |||
<HTML> | |||
<HEAD> | |||
<TITLE>The RtAudio Tutorial</TITLE> | |||
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css"> | |||
</HEAD> | |||
<BODY BGCOLOR="#FFFFFF"> | |||
<CENTER> | |||
<a class="qindex" href="index.html">Tutorial</a> <a class="qindex" href="annotated.html">Class/Enum List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </CENTER> | |||
<HR> | |||
<!-- Generated by Doxygen 1.3.4 --> | |||
<h1>RtError.h</h1><div class="fragment"><pre>00001 <span class="comment">/************************************************************************/</span> | |||
00010 <span class="comment">/************************************************************************/</span> | |||
00011 | |||
00012 <span class="preprocessor">#ifndef RTERROR_H</span> | |||
00013 <span class="preprocessor"></span><span class="preprocessor">#define RTERROR_H</span> | |||
00014 <span class="preprocessor"></span> | |||
00015 <span class="preprocessor">#include <iostream></span> | |||
00016 <span class="preprocessor">#include <string></span> | |||
00017 | |||
<a name="l00018"></a><a class="code" href="classRtError.html">00018</a> <span class="keyword">class </span><a class="code" href="classRtError.html">RtError</a> | |||
00019 { | |||
00020 <span class="keyword">public</span>: | |||
<a name="l00022"></a><a class="code" href="classRtError.html#w11">00022</a> <span class="keyword">enum</span> <a class="code" href="classRtError.html#w11">Type</a> { | |||
00023 <a class="code" href="classRtError.html#w11w0">WARNING</a>, | |||
00024 <a class="code" href="classRtError.html#w11w1">DEBUG_WARNING</a>, | |||
00025 <a class="code" href="classRtError.html#w11w2">UNSPECIFIED</a>, | |||
00026 <a class="code" href="classRtError.html#w11w3">NO_DEVICES_FOUND</a>, | |||
00027 <a class="code" href="classRtError.html#w11w4">INVALID_DEVICE</a>, | |||
00028 <a class="code" href="classRtError.html#w11w5">INVALID_STREAM</a>, | |||
00029 <a class="code" href="classRtError.html#w11w6">MEMORY_ERROR</a>, | |||
00030 <a class="code" href="classRtError.html#w11w7">INVALID_PARAMETER</a>, | |||
00031 <a class="code" href="classRtError.html#w11w8">DRIVER_ERROR</a>, | |||
00032 <a class="code" href="classRtError.html#w11w9">SYSTEM_ERROR</a>, | |||
00033 <a class="code" href="classRtError.html#w11w10">THREAD_ERROR</a> | |||
00034 }; | |||
00035 | |||
00036 <span class="keyword">protected</span>: | |||
00037 std::string message_; | |||
00038 <a class="code" href="classRtError.html#w11">Type</a> type_; | |||
00039 | |||
00040 <span class="keyword">public</span>: | |||
<a name="l00042"></a><a class="code" href="classRtError.html#a0">00042</a> <a class="code" href="classRtError.html#a0">RtError</a>(<span class="keyword">const</span> std::string& message, Type type = RtError::UNSPECIFIED) : message_(message), type_(type){} | |||
00043 | |||
<a name="l00045"></a><a class="code" href="classRtError.html#a1">00045</a> <span class="keyword">virtual</span> <a class="code" href="classRtError.html#a1">~RtError</a>(<span class="keywordtype">void</span>) {}; | |||
00046 | |||
<a name="l00048"></a><a class="code" href="classRtError.html#a2">00048</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRtError.html#a2">printMessage</a>(<span class="keywordtype">void</span>) { std::cerr << <span class="charliteral">'\n'</span> << message_ << <span class="stringliteral">"\n\n"</span>; } | |||
00049 | |||
<a name="l00051"></a><a class="code" href="classRtError.html#a3">00051</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classRtError.html#w11">Type</a>& <a class="code" href="classRtError.html#a3">getType</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> type_; } | |||
00052 | |||
<a name="l00054"></a><a class="code" href="classRtError.html#a4">00054</a> <span class="keyword">virtual</span> <span class="keyword">const</span> std::string& <a class="code" href="classRtError.html#a4">getMessage</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> message_; } | |||
00055 | |||
<a name="l00057"></a><a class="code" href="classRtError.html#a5">00057</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classRtError.html#a5">getMessageString</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> message_.c_str(); } | |||
00058 }; | |||
00059 | |||
00060 <span class="preprocessor">#endif</span> | |||
</pre></div><HR> | |||
<table><tr><td><img src="../images/mcgill.gif" width=165></td> | |||
<td>©2001-2004 Gary P. Scavone, McGill University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@music.mcgill.ca">gary@music.mcgill.ca</a></td></tr> | |||
</table> | |||
</BODY> | |||
</HTML> |
@@ -7,17 +7,17 @@ | |||
<CENTER> | |||
<a class="qindex" href="index.html">Tutorial</a> <a class="qindex" href="annotated.html">Class/Enum List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </CENTER> | |||
<HR> | |||
<!-- Generated by Doxygen 1.2.8.1 --> | |||
<h1>RtAudio Compound List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<ul> | |||
<li><a class="el" href="classRtAudio.html">RtAudio</a> (Realtime audio i/o C++ class) | |||
<li><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html">RtAudio::RTAUDIO_DEVICE</a> (The public device information structure for passing queried values) | |||
<li><a class="el" href="classRtError.html">RtError</a> (Exception handling class for <a class="el" href="classRtAudio.html">RtAudio</a>) | |||
</ul> | |||
<!-- Generated by Doxygen 1.3.4 --> | |||
<h1>RtAudio Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table> | |||
<tr><td class="indexkey"><a class="el" href="classRtAudio.html">RtAudio</a></td><td class="indexvalue">Realtime audio i/o C++ classes </td></tr> | |||
<tr><td class="indexkey"><a class="el" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a></td><td class="indexvalue">The public device information structure for returning queried values </td></tr> | |||
<tr><td class="indexkey"><a class="el" href="classRtError.html">RtError</a></td><td class="indexvalue">Exception handling class for <a class="el" href="classRtAudio.html">RtAudio</a> & RtMidi </td></tr> | |||
</table> | |||
<HR> | |||
<table><tr><td><img src="../images/ccrma.gif"> | |||
<td>©2001-2002 Gary P. Scavone, CCRMA, Stanford University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@ccrma.stanford.edu">gary@ccrma.stanford.edu</a><P> | |||
<table><tr><td><img src="../images/mcgill.gif" width=165></td> | |||
<td>©2001-2004 Gary P. Scavone, McGill University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@music.mcgill.ca">gary@music.mcgill.ca</a></td></tr> | |||
</table> | |||
</BODY> | |||
@@ -7,35 +7,36 @@ | |||
<CENTER> | |||
<a class="qindex" href="index.html">Tutorial</a> <a class="qindex" href="annotated.html">Class/Enum List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </CENTER> | |||
<HR> | |||
<!-- Generated by Doxygen 1.2.8.1 --> | |||
<h1>RtAudio Member List</h1>This is the complete list of members for <a class="el" href="classRtAudio.html">RtAudio</a>, including all inherited members.<ul> | |||
<li><a class="el" href="classRtAudio.html#a13">abortStream</a>(int streamId) | |||
<li><a class="el" href="classRtAudio.html#a5">cancelStreamCallback</a>(int streamId) | |||
<li><a class="el" href="classRtAudio.html#a10">closeStream</a>(int streamId) | |||
<li><a class="el" href="classRtAudio.html#a6">getDeviceCount</a>(void) | |||
<li><a class="el" href="classRtAudio.html#a7">getDeviceInfo</a>(int device, RTAUDIO_DEVICE *info) | |||
<li><a class="el" href="classRtAudio.html#a8">getStreamBuffer</a>(int streamId) | |||
<li><a class="el" href="classRtAudio.html#a3">openStream</a>(int outputDevice, int outputChannels, int inputDevice, int inputChannels, RTAUDIO_FORMAT format, int sampleRate, int *bufferSize, int numberOfBuffers) | |||
<li><a class="el" href="classRtAudio.html#a0">RtAudio</a>() | |||
<li><a class="el" href="classRtAudio.html#a1">RtAudio</a>(int *streamId, int outputDevice, int outputChannels, int inputDevice, int inputChannels, RTAUDIO_FORMAT format, int sampleRate, int *bufferSize, int numberOfBuffers) | |||
<li><a class="el" href="classRtAudio.html#p4">RTAUDIO_FLOAT32</a> | |||
<code> [static]</code><li><a class="el" href="classRtAudio.html#p5">RTAUDIO_FLOAT64</a> | |||
<code> [static]</code><li><a class="el" href="classRtAudio.html#p1">RTAUDIO_SINT16</a> | |||
<code> [static]</code><li><a class="el" href="classRtAudio.html#p2">RTAUDIO_SINT24</a> | |||
<code> [static]</code><li><a class="el" href="classRtAudio.html#p3">RTAUDIO_SINT32</a> | |||
<code> [static]</code><li><a class="el" href="classRtAudio.html#p0">RTAUDIO_SINT8</a> | |||
<code> [static]</code><li><a class="el" href="classRtAudio.html#a4">setStreamCallback</a>(int streamId, RTAUDIO_CALLBACK callback, void *userData) | |||
<li><a class="el" href="classRtAudio.html#a11">startStream</a>(int streamId) | |||
<li><a class="el" href="classRtAudio.html#a12">stopStream</a>(int streamId) | |||
<li><a class="el" href="classRtAudio.html#a14">streamWillBlock</a>(int streamId) | |||
<li><a class="el" href="classRtAudio.html#a9">tickStream</a>(int streamId) | |||
<li><a class="el" href="classRtAudio.html#a2">~RtAudio</a>() | |||
</ul> | |||
<HR> | |||
<!-- Generated by Doxygen 1.3.4 --> | |||
<h1>RtAudio Member List</h1>This is the complete list of members for <a class="el" href="classRtAudio.html">RtAudio</a>, including all inherited members.<table> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#a13">abortStream</a>()</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td><code> [inline]</code></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#a5">cancelStreamCallback</a>()</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td><code> [inline]</code></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#a10">closeStream</a>()</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td><code> [inline]</code></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#a6">getDeviceCount</a>(void)</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td><code> [inline]</code></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#a7">getDeviceInfo</a>(int device)</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td><code> [inline]</code></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#a8">getStreamBuffer</a>()</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td><code> [inline]</code></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#w8w5">IRIX_AL</a> enum value</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#w8w1">LINUX_ALSA</a> enum value</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#w8w3">LINUX_JACK</a> enum value</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#w8w2">LINUX_OSS</a> enum value</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#w8w4">MACOSX_CORE</a> enum value</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#a3">openStream</a>(int outputDevice, int outputChannels, int inputDevice, int inputChannels, RtAudioFormat format, int sampleRate, int *bufferSize, int numberOfBuffers)</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#a0">RtAudio</a>(RtAudioApi api=UNSPECIFIED)</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#a1">RtAudio</a>(int outputDevice, int outputChannels, int inputDevice, int inputChannels, RtAudioFormat format, int sampleRate, int *bufferSize, int numberOfBuffers, RtAudioApi api=UNSPECIFIED)</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#w8">RtAudioApi</a> enum name</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#a4">setStreamCallback</a>(RtAudioCallback callback, void *userData)</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td><code> [inline]</code></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#a11">startStream</a>()</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td><code> [inline]</code></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#a12">stopStream</a>()</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td><code> [inline]</code></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#a9">tickStream</a>()</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td><code> [inline]</code></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#w8w0">UNSPECIFIED</a> enum value</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#w8w6">WINDOWS_ASIO</a> enum value</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#w8w7">WINDOWS_DS</a> enum value</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtAudio.html#a2">~RtAudio</a>()</td><td><a class="el" href="classRtAudio.html">RtAudio</a></td><td></td></tr> | |||
</table><HR> | |||
<table><tr><td><img src="../images/ccrma.gif"> | |||
<td>©2001-2002 Gary P. Scavone, CCRMA, Stanford University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@ccrma.stanford.edu">gary@ccrma.stanford.edu</a><P> | |||
<table><tr><td><img src="../images/mcgill.gif" width=165></td> | |||
<td>©2001-2004 Gary P. Scavone, McGill University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@music.mcgill.ca">gary@music.mcgill.ca</a></td></tr> | |||
</table> | |||
</BODY> | |||
@@ -7,20 +7,31 @@ | |||
<CENTER> | |||
<a class="qindex" href="index.html">Tutorial</a> <a class="qindex" href="annotated.html">Class/Enum List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </CENTER> | |||
<HR> | |||
<!-- Generated by Doxygen 1.2.8.1 --> | |||
<h1>RtError Member List</h1>This is the complete list of members for <a class="el" href="classRtError.html">RtError</a>, including all inherited members.<ul> | |||
<li><a class="el" href="classRtError.html#a4">getMessage</a>(void) | |||
<code> [inline, virtual]</code><li><a class="el" href="classRtError.html#a3">getType</a>(void) | |||
<code> [inline, virtual]</code><li><a class="el" href="classRtError.html#a2">printMessage</a>(void) | |||
<code> [virtual]</code><li><a class="el" href="classRtError.html#a0">RtError</a>(const char *p, TYPE tipe=RtError::UNSPECIFIED) | |||
<li><a class="el" href="classRtError.html#s11">TYPE</a> enum name | |||
<li><a class="el" href="classRtError.html#a1">~RtError</a>(void) | |||
<code> [virtual]</code></ul> | |||
<HR> | |||
<!-- Generated by Doxygen 1.3.4 --> | |||
<h1>RtError Member List</h1>This is the complete list of members for <a class="el" href="classRtError.html">RtError</a>, including all inherited members.<table> | |||
<tr class="memlist"><td><a class="el" href="classRtError.html#w11w1">DEBUG_WARNING</a> enum value</td><td><a class="el" href="classRtError.html">RtError</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtError.html#w11w8">DRIVER_ERROR</a> enum value</td><td><a class="el" href="classRtError.html">RtError</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtError.html#a4">getMessage</a>(void)</td><td><a class="el" href="classRtError.html">RtError</a></td><td><code> [inline, virtual]</code></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtError.html#a5">getMessageString</a>(void)</td><td><a class="el" href="classRtError.html">RtError</a></td><td><code> [inline, virtual]</code></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtError.html#a3">getType</a>(void)</td><td><a class="el" href="classRtError.html">RtError</a></td><td><code> [inline, virtual]</code></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtError.html#w11w4">INVALID_DEVICE</a> enum value</td><td><a class="el" href="classRtError.html">RtError</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtError.html#w11w7">INVALID_PARAMETER</a> enum value</td><td><a class="el" href="classRtError.html">RtError</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtError.html#w11w5">INVALID_STREAM</a> enum value</td><td><a class="el" href="classRtError.html">RtError</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtError.html#w11w6">MEMORY_ERROR</a> enum value</td><td><a class="el" href="classRtError.html">RtError</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtError.html#w11w3">NO_DEVICES_FOUND</a> enum value</td><td><a class="el" href="classRtError.html">RtError</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtError.html#a2">printMessage</a>(void)</td><td><a class="el" href="classRtError.html">RtError</a></td><td><code> [inline, virtual]</code></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtError.html#a0">RtError</a>(const std::string &message, Type type=RtError::UNSPECIFIED)</td><td><a class="el" href="classRtError.html">RtError</a></td><td><code> [inline]</code></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtError.html#w11w9">SYSTEM_ERROR</a> enum value</td><td><a class="el" href="classRtError.html">RtError</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtError.html#w11w10">THREAD_ERROR</a> enum value</td><td><a class="el" href="classRtError.html">RtError</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtError.html#w11">Type</a> enum name</td><td><a class="el" href="classRtError.html">RtError</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtError.html#w11w2">UNSPECIFIED</a> enum value</td><td><a class="el" href="classRtError.html">RtError</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtError.html#w11w0">WARNING</a> enum value</td><td><a class="el" href="classRtError.html">RtError</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="classRtError.html#a1">~RtError</a>(void)</td><td><a class="el" href="classRtError.html">RtError</a></td><td><code> [inline, virtual]</code></td></tr> | |||
</table><HR> | |||
<table><tr><td><img src="../images/ccrma.gif"> | |||
<td>©2001-2002 Gary P. Scavone, CCRMA, Stanford University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@ccrma.stanford.edu">gary@ccrma.stanford.edu</a><P> | |||
<table><tr><td><img src="../images/mcgill.gif" width=165></td> | |||
<td>©2001-2004 Gary P. Scavone, McGill University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@music.mcgill.ca">gary@music.mcgill.ca</a></td></tr> | |||
</table> | |||
</BODY> | |||
@@ -7,60 +7,122 @@ | |||
<CENTER> | |||
<a class="qindex" href="index.html">Tutorial</a> <a class="qindex" href="annotated.html">Class/Enum List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </CENTER> | |||
<HR> | |||
<!-- Generated by Doxygen 1.2.8.1 --> | |||
<h1>RtError Class Reference</h1>Exception handling class for <a class="el" href="classRtAudio.html">RtAudio</a>. | |||
<!-- Generated by Doxygen 1.3.4 --> | |||
<h1>RtError Class Reference</h1>Exception handling class for <a class="el" href="classRtAudio.html">RtAudio</a> & RtMidi. | |||
<a href="#_details">More...</a> | |||
<p> | |||
<code>#include <<a class="el" href="RtAudio_8h-source.html">RtAudio.h</a>></code> | |||
<code>#include <<a class="el" href="RtError_8h-source.html">RtError.h</a>></code> | |||
<p> | |||
<a href="classRtError-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0> | |||
<tr><td></td></tr> | |||
<tr><td colspan=2><br><h2>Public Types</h2></td></tr> | |||
<tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="classRtError.html#s11">TYPE</a> { <br> | |||
<b>WARNING</b>, | |||
<b>DEBUG_WARNING</b>, | |||
<b>UNSPECIFIED</b>, | |||
<b>NO_DEVICES_FOUND</b>, | |||
<tr><td class="memItemLeft" nowrap align=right valign=top>enum </td><td class="memItemRight" valign=bottom><a class="el" href="classRtError.html#w11">Type</a> { <br> | |||
<a class="el" href="classRtError.html#w11w0">WARNING</a>, | |||
<a class="el" href="classRtError.html#w11w1">DEBUG_WARNING</a>, | |||
<a class="el" href="classRtError.html#w11w2">UNSPECIFIED</a>, | |||
<a class="el" href="classRtError.html#w11w3">NO_DEVICES_FOUND</a>, | |||
<br> | |||
<b>INVALID_DEVICE</b>, | |||
<b>INVALID_STREAM</b>, | |||
<b>MEMORY_ERROR</b>, | |||
<b>INVALID_PARAMETER</b>, | |||
<a class="el" href="classRtError.html#w11w4">INVALID_DEVICE</a>, | |||
<a class="el" href="classRtError.html#w11w5">INVALID_STREAM</a>, | |||
<a class="el" href="classRtError.html#w11w6">MEMORY_ERROR</a>, | |||
<a class="el" href="classRtError.html#w11w7">INVALID_PARAMETER</a>, | |||
<br> | |||
<b>DRIVER_ERROR</b>, | |||
<b>SYSTEM_ERROR</b>, | |||
<b>THREAD_ERROR</b> | |||
<a class="el" href="classRtError.html#w11w8">DRIVER_ERROR</a>, | |||
<a class="el" href="classRtError.html#w11w9">SYSTEM_ERROR</a>, | |||
<a class="el" href="classRtError.html#w11w10">THREAD_ERROR</a> | |||
<br> | |||
}</td></tr> | |||
<tr><td> </td><td><font size=-1><em>Defined RtError types.</em></font><br><br></td></tr> | |||
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr> | |||
<tr><td nowrap align=right valign=top><a name="a0" doxytag="RtError::RtError"></a> | |||
</td><td valign=bottom><a class="el" href="classRtError.html#a0">RtError</a> (const char *p, <a class="el" href="classRtError.html#s11">TYPE</a> tipe=RtError::UNSPECIFIED)</td></tr> | |||
<tr><td> </td><td><font size=-1><em>The constructor.</em></font><br><br></td></tr> | |||
<tr><td nowrap align=right valign=top><a name="a1" doxytag="RtError::~RtError"></a> | |||
virtual </td><td valign=bottom><a class="el" href="classRtError.html#a1">~RtError</a> (void)</td></tr> | |||
<tr><td> </td><td><font size=-1><em>The destructor.</em></font><br><br></td></tr> | |||
<tr><td nowrap align=right valign=top><a name="a2" doxytag="RtError::printMessage"></a> | |||
virtual void </td><td valign=bottom><a class="el" href="classRtError.html#a2">printMessage</a> (void)</td></tr> | |||
<tr><td> </td><td><font size=-1><em>Prints "thrown" error message to stdout.</em></font><br><br></td></tr> | |||
<tr><td nowrap align=right valign=top><a name="a3" doxytag="RtError::getType"></a> | |||
virtual const <a class="el" href="classRtError.html#s11">TYPE</a>& </td><td valign=bottom><a class="el" href="classRtError.html#a3">getType</a> (void)</td></tr> | |||
<tr><td> </td><td><font size=-1><em>Returns the "thrown" error message TYPE.</em></font><br><br></td></tr> | |||
<tr><td nowrap align=right valign=top><a name="a4" doxytag="RtError::getMessage"></a> | |||
virtual const char* </td><td valign=bottom><a class="el" href="classRtError.html#a4">getMessage</a> (void)</td></tr> | |||
<tr><td> </td><td><font size=-1><em>Returns the "thrown" error message string.</em></font><br><br></td></tr> | |||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Defined RtError types. </em> <a href="#w11">More...</a><em><br><br></td></tr> | |||
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> | |||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a0" doxytag="RtError::RtError" ></a> | |||
</td><td class="memItemRight" valign=bottom><a class="el" href="classRtError.html#a0">RtError</a> (const std::string &message, <a class="el" href="classRtError.html#w11">Type</a> type=RtError::UNSPECIFIED)</td></tr> | |||
<tr><td class="mdescLeft"> </td><td class="mdescRight">The constructor. <br><br></td></tr> | |||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a1" doxytag="RtError::~RtError" ></a> | |||
virtual </td><td class="memItemRight" valign=bottom><a class="el" href="classRtError.html#a1">~RtError</a> (void)</td></tr> | |||
<tr><td class="mdescLeft"> </td><td class="mdescRight">The destructor. <br><br></td></tr> | |||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a2" doxytag="RtError::printMessage" ></a> | |||
virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="classRtError.html#a2">printMessage</a> (void)</td></tr> | |||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Prints thrown error message to stderr. <br><br></td></tr> | |||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a3" doxytag="RtError::getType" ></a> | |||
virtual const <a class="el" href="classRtError.html#w11">Type</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="classRtError.html#a3">getType</a> (void)</td></tr> | |||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the thrown error message type. <br><br></td></tr> | |||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a4" doxytag="RtError::getMessage" ></a> | |||
virtual const std::string & </td><td class="memItemRight" valign=bottom><a class="el" href="classRtError.html#a4">getMessage</a> (void)</td></tr> | |||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the thrown error message string. <br><br></td></tr> | |||
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a5" doxytag="RtError::getMessageString" ></a> | |||
virtual const char * </td><td class="memItemRight" valign=bottom><a class="el" href="classRtError.html#a5">getMessageString</a> (void)</td></tr> | |||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the thrown error message as a C string. <br><br></td></tr> | |||
</table> | |||
<hr><a name="_details"></a><h2>Detailed Description</h2> | |||
Exception handling class for <a class="el" href="classRtAudio.html">RtAudio</a>. | |||
Exception handling class for <a class="el" href="classRtAudio.html">RtAudio</a> & RtMidi. | |||
<p> | |||
The RtError class is quite simple but it does allow errors to be "caught" by <a class="el" href="classRtError.html#s11">RtError::TYPE</a>. Almost all <a class="el" href="classRtAudio.html">RtAudio</a> methods can "throw" an RtError, most typically if an invalid stream identifier is supplied to a method or a driver error occurs. There are a number of cases within <a class="el" href="classRtAudio.html">RtAudio</a> where warning messages may be displayed but an exception is not thrown. There is a private <a class="el" href="classRtAudio.html">RtAudio</a> method, error(), which can be modified to globally control how these messages are handled and reported. | |||
The RtError class is quite simple but it does allow errors to be "caught" by <a class="el" href="classRtError.html#w11">RtError::Type</a>. See the <a class="el" href="classRtAudio.html">RtAudio</a> and RtMidi documentation to know which methods can throw an RtError. | |||
<p> | |||
<hr><h2>Member Enumeration Documentation</h2> | |||
<a class="anchor" name="w11" doxytag="RtError::Type" ></a><p> | |||
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> | |||
<tr> | |||
<td class="mdRow"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md" nowrap valign="top"> enum <a class="el" href="classRtError.html#w11">RtError::Type</a> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
Defined RtError types. | |||
<p> | |||
<dl compact><dt><b>Enumeration values: </b></dt><dd> | |||
<table border=0 cellspacing=2 cellpadding=0> | |||
<tr><td valign=top><em><a class="anchor" name="w11w0" doxytag="WARNING" ></a>WARNING</em> </td><td> | |||
A non-critical error. </td></tr> | |||
<tr><td valign=top><em><a class="anchor" name="w11w1" doxytag="DEBUG_WARNING" ></a>DEBUG_WARNING</em> </td><td> | |||
A non-critical error which might be useful for debugging. </td></tr> | |||
<tr><td valign=top><em><a class="anchor" name="w11w2" doxytag="UNSPECIFIED" ></a>UNSPECIFIED</em> </td><td> | |||
The default, unspecified error type. </td></tr> | |||
<tr><td valign=top><em><a class="anchor" name="w11w3" doxytag="NO_DEVICES_FOUND" ></a>NO_DEVICES_FOUND</em> </td><td> | |||
No devices found on system. </td></tr> | |||
<tr><td valign=top><em><a class="anchor" name="w11w4" doxytag="INVALID_DEVICE" ></a>INVALID_DEVICE</em> </td><td> | |||
An invalid device ID was specified. </td></tr> | |||
<tr><td valign=top><em><a class="anchor" name="w11w5" doxytag="INVALID_STREAM" ></a>INVALID_STREAM</em> </td><td> | |||
An invalid stream ID was specified. </td></tr> | |||
<tr><td valign=top><em><a class="anchor" name="w11w6" doxytag="MEMORY_ERROR" ></a>MEMORY_ERROR</em> </td><td> | |||
An error occured during memory allocation. </td></tr> | |||
<tr><td valign=top><em><a class="anchor" name="w11w7" doxytag="INVALID_PARAMETER" ></a>INVALID_PARAMETER</em> </td><td> | |||
An invalid parameter was specified to a function. </td></tr> | |||
<tr><td valign=top><em><a class="anchor" name="w11w8" doxytag="DRIVER_ERROR" ></a>DRIVER_ERROR</em> </td><td> | |||
A system driver error occured. </td></tr> | |||
<tr><td valign=top><em><a class="anchor" name="w11w9" doxytag="SYSTEM_ERROR" ></a>SYSTEM_ERROR</em> </td><td> | |||
A system error occured. </td></tr> | |||
<tr><td valign=top><em><a class="anchor" name="w11w10" doxytag="THREAD_ERROR" ></a>THREAD_ERROR</em> </td><td> | |||
A thread error occured. </td></tr> | |||
</table> | |||
</dl> | |||
</td> | |||
</tr> | |||
</table> | |||
<hr>The documentation for this class was generated from the following file:<ul> | |||
<li><a class="el" href="RtAudio_8h-source.html">RtAudio.h</a></ul> | |||
<li><a class="el" href="RtError_8h-source.html">RtError.h</a></ul> | |||
<HR> | |||
<table><tr><td><img src="../images/ccrma.gif"> | |||
<td>©2001-2002 Gary P. Scavone, CCRMA, Stanford University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@ccrma.stanford.edu">gary@ccrma.stanford.edu</a><P> | |||
<table><tr><td><img src="../images/mcgill.gif" width=165></td> | |||
<td>©2001-2004 Gary P. Scavone, McGill University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@music.mcgill.ca">gary@music.mcgill.ca</a></td></tr> | |||
</table> | |||
</BODY> | |||
@@ -1,20 +1,169 @@ | |||
H1 { text-align: center; } | |||
A.qindex {} | |||
A.qindexRef {} | |||
H1 { | |||
text-align: center; | |||
font-family: Arial, Helvetica, sans-serif; | |||
} | |||
H2 { | |||
font-family: Geneva, Arial, Helvetica, sans-serif; | |||
} | |||
CAPTION { font-weight: bold } | |||
DIV.qindex { width: 100%; | |||
background-color: #eeeeff; | |||
border: 4px solid #eeeeff; | |||
text-align: center; | |||
margin-bottom: 2px | |||
} | |||
A.qindex { text-decoration: none; font-weight: bold; color: #0000ee } | |||
A.qindex:visited { text-decoration: none; font-weight: bold; color: #0000ee } | |||
A.qindex:hover { text-decoration: none; background-color: #ddddff } | |||
A.qindexHL { text-decoration: none; font-weight: bold; | |||
background-color: #6666cc; | |||
color: #ffffff | |||
} | |||
A.qindexHL:hover { text-decoration: none; background-color: #6666cc; color: #ffffff } | |||
A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } | |||
A.el { text-decoration: none; font-weight: bold } | |||
A.elRef { font-weight: bold } | |||
A.code { text-decoration: none; font-weight: normal; color: #4444ee } | |||
A.codeRef { font-weight: normal; color: #4444ee } | |||
A:hover { text-decoration: none; background-color: #f2f2ff } | |||
DL.el { margin-left: -1cm } | |||
DIV.fragment { width: 100%; border: none; background-color: #eeeeee } | |||
DIV.ah { background-color: black; margin-bottom: 3; margin-top: 3 } | |||
TD.md { background-color: #f2f2ff } | |||
DIV.groupHeader { margin-left: 16; margin-top: 12; margin-bottom: 6; font-weight: bold } | |||
DIV.groupText { margin-left: 16; font-style: italic; font-size: smaller } | |||
FONT.keyword { color: #008000 } | |||
FONT.keywordtype { color: #604020 } | |||
FONT.keywordflow { color: #e08000 } | |||
FONT.comment { color: #800000 } | |||
FONT.preprocessor { color: #806020 } | |||
FONT.stringliteral { color: #002080 } | |||
FONT.charliteral { color: #008080 } | |||
DIV.fragment { | |||
width: 98%; | |||
border: 1px solid #CCCCCC; | |||
background-color: #f5f5f5; | |||
padding-left: 4px; | |||
margin: 4px; | |||
} | |||
DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } | |||
TD.md { background-color: #f2f2ff; font-weight: bold; } | |||
TD.mdname1 { background-color: #f2f2ff; font-weight: bold; color: #602020; } | |||
TD.mdname { background-color: #f2f2ff; font-weight: bold; color: #602020; width: 600px; } | |||
DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold } | |||
DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller } | |||
BODY { | |||
background: white; | |||
color: black; | |||
margin-right: 20px; | |||
margin-left: 20px; | |||
} | |||
TD.indexkey { | |||
background-color: #eeeeff; | |||
font-weight: bold; | |||
padding-right : 10px; | |||
padding-top : 2px; | |||
padding-left : 10px; | |||
padding-bottom : 2px; | |||
margin-left : 0px; | |||
margin-right : 0px; | |||
margin-top : 2px; | |||
margin-bottom : 2px | |||
} | |||
TD.indexvalue { | |||
background-color: #eeeeff; | |||
font-style: italic; | |||
padding-right : 10px; | |||
padding-top : 2px; | |||
padding-left : 10px; | |||
padding-bottom : 2px; | |||
margin-left : 0px; | |||
margin-right : 0px; | |||
margin-top : 2px; | |||
margin-bottom : 2px | |||
} | |||
TR.memlist { | |||
background-color: #f0f0f0; | |||
} | |||
P.formulaDsp { text-align: center; } | |||
IMG.formulaDsp { } | |||
IMG.formulaInl { vertical-align: middle; } | |||
SPAN.keyword { color: #008000 } | |||
SPAN.keywordtype { color: #604020 } | |||
SPAN.keywordflow { color: #e08000 } | |||
SPAN.comment { color: #800000 } | |||
SPAN.preprocessor { color: #806020 } | |||
SPAN.stringliteral { color: #002080 } | |||
SPAN.charliteral { color: #008080 } | |||
.mdTable { | |||
border: 1px solid #868686; | |||
background-color: #f2f2ff; | |||
} | |||
.mdRow { | |||
padding: 8px 20px; | |||
} | |||
.mdescLeft { | |||
font-size: smaller; | |||
font-family: Arial, Helvetica, sans-serif; | |||
background-color: #FAFAFA; | |||
padding-left: 8px; | |||
border-top: 1px none #E0E0E0; | |||
border-right: 1px none #E0E0E0; | |||
border-bottom: 1px none #E0E0E0; | |||
border-left: 1px none #E0E0E0; | |||
margin: 0px; | |||
} | |||
.mdescRight { | |||
font-size: smaller; | |||
font-family: Arial, Helvetica, sans-serif; | |||
font-style: italic; | |||
background-color: #FAFAFA; | |||
padding-left: 4px; | |||
border-top: 1px none #E0E0E0; | |||
border-right: 1px none #E0E0E0; | |||
border-bottom: 1px none #E0E0E0; | |||
border-left: 1px none #E0E0E0; | |||
margin: 0px; | |||
padding-bottom: 0px; | |||
padding-right: 8px; | |||
} | |||
.memItemLeft { | |||
padding: 1px 0px 0px 8px; | |||
margin: 4px; | |||
border-top-width: 1px; | |||
border-right-width: 1px; | |||
border-bottom-width: 1px; | |||
border-left-width: 1px; | |||
border-top-style: solid; | |||
border-top-color: #E0E0E0; | |||
border-right-color: #E0E0E0; | |||
border-bottom-color: #E0E0E0; | |||
border-left-color: #E0E0E0; | |||
border-right-style: none; | |||
border-bottom-style: none; | |||
border-left-style: none; | |||
background-color: #FAFAFA; | |||
font-family: Geneva, Arial, Helvetica, sans-serif; | |||
font-size: 12px; | |||
} | |||
.memItemRight { | |||
padding: 1px 0px 0px 8px; | |||
margin: 4px; | |||
border-top-width: 1px; | |||
border-right-width: 1px; | |||
border-bottom-width: 1px; | |||
border-left-width: 1px; | |||
border-top-style: solid; | |||
border-top-color: #E0E0E0; | |||
border-right-color: #E0E0E0; | |||
border-bottom-color: #E0E0E0; | |||
border-left-color: #E0E0E0; | |||
border-right-style: none; | |||
border-bottom-style: none; | |||
border-left-style: none; | |||
background-color: #FAFAFA; | |||
font-family: Geneva, Arial, Helvetica, sans-serif; | |||
font-size: 13px; | |||
} | |||
.search { color: #0000ee; | |||
font-weight: bold; | |||
} | |||
FORM.search { | |||
margin-bottom: 0px; | |||
margin-top: 0px; | |||
} | |||
INPUT.search { font-size: 75%; | |||
color: #000080; | |||
font-weight: normal; | |||
background-color: #eeeeff; | |||
} | |||
TD.tiny { font-size: 75%; | |||
} |
@@ -7,14 +7,16 @@ | |||
<CENTER> | |||
<a class="qindex" href="index.html">Tutorial</a> <a class="qindex" href="annotated.html">Class/Enum List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </CENTER> | |||
<HR> | |||
<!-- Generated by Doxygen 1.2.8.1 --> | |||
<h1>RtAudio File List</h1>Here is a list of all documented files with brief descriptions:<ul> | |||
<li><b>RtAudio.h</b> <a href="RtAudio_8h-source.html">[code]</a></ul> | |||
<!-- Generated by Doxygen 1.3.4 --> | |||
<h1>RtAudio File List</h1>Here is a list of all documented files with brief descriptions:<table> | |||
<tr><td class="indexkey"><b>RtAudio.h</b> <a href="RtAudio_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | |||
<tr><td class="indexkey"><b>RtError.h</b> <a href="RtError_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | |||
</table> | |||
<HR> | |||
<table><tr><td><img src="../images/ccrma.gif"> | |||
<td>©2001-2002 Gary P. Scavone, CCRMA, Stanford University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@ccrma.stanford.edu">gary@ccrma.stanford.edu</a><P> | |||
<table><tr><td><img src="../images/mcgill.gif" width=165></td> | |||
<td>©2001-2004 Gary P. Scavone, McGill University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@music.mcgill.ca">gary@music.mcgill.ca</a></td></tr> | |||
</table> | |||
</BODY> | |||
@@ -7,53 +7,97 @@ | |||
<CENTER> | |||
<a class="qindex" href="index.html">Tutorial</a> <a class="qindex" href="annotated.html">Class/Enum List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </CENTER> | |||
<HR> | |||
<!-- Generated by Doxygen 1.2.8.1 --> | |||
<h1>RtAudio Compound Members</h1>Here is a list of all documented class members with links to the classes they belong to:<ul> | |||
<!-- Generated by Doxygen 1.3.4 --> | |||
<div class="qindex"><a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_enum.html">Enumerations</a> | <a class="qindex" href="functions_eval.html">Enumeration values</a></div> | |||
<div class="qindex"><a class="qindex" href="#index_a">a</a> | <a class="qindex" href="#index_c">c</a> | <a class="qindex" href="#index_d">d</a> | <a class="qindex" href="#index_g">g</a> | <a class="qindex" href="#index_i">i</a> | <a class="qindex" href="#index_l">l</a> | <a class="qindex" href="#index_m">m</a> | <a class="qindex" href="#index_n">n</a> | <a class="qindex" href="#index_o">o</a> | <a class="qindex" href="#index_p">p</a> | <a class="qindex" href="#index_r">r</a> | <a class="qindex" href="#index_s">s</a> | <a class="qindex" href="#index_t">t</a> | <a class="qindex" href="#index_u">u</a> | <a class="qindex" href="#index_w">w</a> | <a class="qindex" href="#index_~">~</a></div> | |||
<p> | |||
<p> | |||
Here is a list of all documented class members with links to the class documentation for each member:<h3><a class="anchor" name="index_a">- a -</a></h3><ul> | |||
<li>abortStream() | |||
: <a class="el" href="classRtAudio.html#a13">RtAudio</a><li>cancelStreamCallback() | |||
: <a class="el" href="classRtAudio.html#a13">RtAudio</a></ul> | |||
<h3><a class="anchor" name="index_c">- c -</a></h3><ul> | |||
<li>cancelStreamCallback() | |||
: <a class="el" href="classRtAudio.html#a5">RtAudio</a><li>closeStream() | |||
: <a class="el" href="classRtAudio.html#a10">RtAudio</a><li>getDeviceCount() | |||
: <a class="el" href="classRtAudio.html#a10">RtAudio</a></ul> | |||
<h3><a class="anchor" name="index_d">- d -</a></h3><ul> | |||
<li>DEBUG_WARNING | |||
: <a class="el" href="classRtError.html#w11w1">RtError</a><li>DRIVER_ERROR | |||
: <a class="el" href="classRtError.html#w11w8">RtError</a><li>duplexChannels | |||
: <a class="el" href="structRtAudioDeviceInfo.html#o4">RtAudioDeviceInfo</a></ul> | |||
<h3><a class="anchor" name="index_g">- g -</a></h3><ul> | |||
<li>getDeviceCount() | |||
: <a class="el" href="classRtAudio.html#a6">RtAudio</a><li>getDeviceInfo() | |||
: <a class="el" href="classRtAudio.html#a7">RtAudio</a><li>getMessage() | |||
: <a class="el" href="classRtError.html#a4">RtError</a><li>getStreamBuffer() | |||
: <a class="el" href="classRtError.html#a4">RtError</a><li>getMessageString() | |||
: <a class="el" href="classRtError.html#a5">RtError</a><li>getStreamBuffer() | |||
: <a class="el" href="classRtAudio.html#a8">RtAudio</a><li>getType() | |||
: <a class="el" href="classRtError.html#a3">RtError</a><li>hasDuplexSupport | |||
: <a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m9">RtAudio::RTAUDIO_DEVICE</a><li>isDefault | |||
: <a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m10">RtAudio::RTAUDIO_DEVICE</a><li>maxDuplexChannels | |||
: <a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m5">RtAudio::RTAUDIO_DEVICE</a><li>maxInputChannels | |||
: <a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m4">RtAudio::RTAUDIO_DEVICE</a><li>maxOutputChannels | |||
: <a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m3">RtAudio::RTAUDIO_DEVICE</a><li>minDuplexChannels | |||
: <a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m8">RtAudio::RTAUDIO_DEVICE</a><li>minInputChannels | |||
: <a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m7">RtAudio::RTAUDIO_DEVICE</a><li>minOutputChannels | |||
: <a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m6">RtAudio::RTAUDIO_DEVICE</a><li>name | |||
: <a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m0">RtAudio::RTAUDIO_DEVICE</a><li>nativeFormats | |||
: <a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m13">RtAudio::RTAUDIO_DEVICE</a><li>nSampleRates | |||
: <a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m11">RtAudio::RTAUDIO_DEVICE</a><li>openStream() | |||
: <a class="el" href="classRtAudio.html#a3">RtAudio</a><li>printMessage() | |||
: <a class="el" href="classRtError.html#a3">RtError</a></ul> | |||
<h3><a class="anchor" name="index_i">- i -</a></h3><ul> | |||
<li>inputChannels | |||
: <a class="el" href="structRtAudioDeviceInfo.html#o3">RtAudioDeviceInfo</a><li>INVALID_DEVICE | |||
: <a class="el" href="classRtError.html#w11w4">RtError</a><li>INVALID_PARAMETER | |||
: <a class="el" href="classRtError.html#w11w7">RtError</a><li>INVALID_STREAM | |||
: <a class="el" href="classRtError.html#w11w5">RtError</a><li>IRIX_AL | |||
: <a class="el" href="classRtAudio.html#w8w5">RtAudio</a><li>isDefault | |||
: <a class="el" href="structRtAudioDeviceInfo.html#o5">RtAudioDeviceInfo</a></ul> | |||
<h3><a class="anchor" name="index_l">- l -</a></h3><ul> | |||
<li>LINUX_ALSA | |||
: <a class="el" href="classRtAudio.html#w8w1">RtAudio</a><li>LINUX_JACK | |||
: <a class="el" href="classRtAudio.html#w8w3">RtAudio</a><li>LINUX_OSS | |||
: <a class="el" href="classRtAudio.html#w8w2">RtAudio</a></ul> | |||
<h3><a class="anchor" name="index_m">- m -</a></h3><ul> | |||
<li>MACOSX_CORE | |||
: <a class="el" href="classRtAudio.html#w8w4">RtAudio</a><li>MEMORY_ERROR | |||
: <a class="el" href="classRtError.html#w11w6">RtError</a></ul> | |||
<h3><a class="anchor" name="index_n">- n -</a></h3><ul> | |||
<li>name | |||
: <a class="el" href="structRtAudioDeviceInfo.html#o0">RtAudioDeviceInfo</a><li>nativeFormats | |||
: <a class="el" href="structRtAudioDeviceInfo.html#o7">RtAudioDeviceInfo</a><li>NO_DEVICES_FOUND | |||
: <a class="el" href="classRtError.html#w11w3">RtError</a></ul> | |||
<h3><a class="anchor" name="index_o">- o -</a></h3><ul> | |||
<li>openStream() | |||
: <a class="el" href="classRtAudio.html#a3">RtAudio</a><li>outputChannels | |||
: <a class="el" href="structRtAudioDeviceInfo.html#o2">RtAudioDeviceInfo</a></ul> | |||
<h3><a class="anchor" name="index_p">- p -</a></h3><ul> | |||
<li>printMessage() | |||
: <a class="el" href="classRtError.html#a2">RtError</a><li>probed | |||
: <a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m2">RtAudio::RTAUDIO_DEVICE</a><li>RtAudio() | |||
: <a class="el" href="classRtAudio.html#a1">RtAudio</a><li>RTAUDIO_FLOAT32 | |||
: <a class="el" href="classRtAudio.html#p4">RtAudio</a><li>RTAUDIO_FLOAT64 | |||
: <a class="el" href="classRtAudio.html#p5">RtAudio</a><li>RTAUDIO_SINT16 | |||
: <a class="el" href="classRtAudio.html#p1">RtAudio</a><li>RTAUDIO_SINT24 | |||
: <a class="el" href="classRtAudio.html#p2">RtAudio</a><li>RTAUDIO_SINT32 | |||
: <a class="el" href="classRtAudio.html#p3">RtAudio</a><li>RTAUDIO_SINT8 | |||
: <a class="el" href="classRtAudio.html#p0">RtAudio</a><li>RtError() | |||
: <a class="el" href="classRtError.html#a0">RtError</a><li>sampleRates | |||
: <a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m12">RtAudio::RTAUDIO_DEVICE</a><li>setStreamCallback() | |||
: <a class="el" href="structRtAudioDeviceInfo.html#o1">RtAudioDeviceInfo</a></ul> | |||
<h3><a class="anchor" name="index_r">- r -</a></h3><ul> | |||
<li>RtAudio() | |||
: <a class="el" href="classRtAudio.html#a1">RtAudio</a><li>RtAudioApi | |||
: <a class="el" href="classRtAudio.html#w8">RtAudio</a><li>RtError() | |||
: <a class="el" href="classRtError.html#a0">RtError</a></ul> | |||
<h3><a class="anchor" name="index_s">- s -</a></h3><ul> | |||
<li>sampleRates | |||
: <a class="el" href="structRtAudioDeviceInfo.html#o6">RtAudioDeviceInfo</a><li>setStreamCallback() | |||
: <a class="el" href="classRtAudio.html#a4">RtAudio</a><li>startStream() | |||
: <a class="el" href="classRtAudio.html#a11">RtAudio</a><li>stopStream() | |||
: <a class="el" href="classRtAudio.html#a12">RtAudio</a><li>streamWillBlock() | |||
: <a class="el" href="classRtAudio.html#a14">RtAudio</a><li>tickStream() | |||
: <a class="el" href="classRtAudio.html#a9">RtAudio</a><li>TYPE | |||
: <a class="el" href="classRtError.html#s11">RtError</a><li>~RtAudio() | |||
: <a class="el" href="classRtAudio.html#a12">RtAudio</a><li>SYSTEM_ERROR | |||
: <a class="el" href="classRtError.html#w11w9">RtError</a></ul> | |||
<h3><a class="anchor" name="index_t">- t -</a></h3><ul> | |||
<li>THREAD_ERROR | |||
: <a class="el" href="classRtError.html#w11w10">RtError</a><li>tickStream() | |||
: <a class="el" href="classRtAudio.html#a9">RtAudio</a><li>Type | |||
: <a class="el" href="classRtError.html#w11">RtError</a></ul> | |||
<h3><a class="anchor" name="index_u">- u -</a></h3><ul> | |||
<li>UNSPECIFIED | |||
: <a class="el" href="classRtError.html#w11w2">RtError</a>, <a class="el" href="classRtAudio.html#w8w0">RtAudio</a></ul> | |||
<h3><a class="anchor" name="index_w">- w -</a></h3><ul> | |||
<li>WARNING | |||
: <a class="el" href="classRtError.html#w11w0">RtError</a><li>WINDOWS_ASIO | |||
: <a class="el" href="classRtAudio.html#w8w6">RtAudio</a><li>WINDOWS_DS | |||
: <a class="el" href="classRtAudio.html#w8w7">RtAudio</a></ul> | |||
<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul> | |||
<li>~RtAudio() | |||
: <a class="el" href="classRtAudio.html#a2">RtAudio</a><li>~RtError() | |||
: <a class="el" href="classRtError.html#a1">RtError</a></ul> | |||
<HR> | |||
<table><tr><td><img src="../images/ccrma.gif"> | |||
<td>©2001-2002 Gary P. Scavone, CCRMA, Stanford University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@ccrma.stanford.edu">gary@ccrma.stanford.edu</a><P> | |||
<table><tr><td><img src="../images/mcgill.gif" width=165></td> | |||
<td>©2001-2004 Gary P. Scavone, McGill University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@music.mcgill.ca">gary@music.mcgill.ca</a></td></tr> | |||
</table> | |||
</BODY> | |||
@@ -0,0 +1,26 @@ | |||
<HTML> | |||
<HEAD> | |||
<TITLE>The RtAudio Tutorial</TITLE> | |||
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css"> | |||
</HEAD> | |||
<BODY BGCOLOR="#FFFFFF"> | |||
<CENTER> | |||
<a class="qindex" href="index.html">Tutorial</a> <a class="qindex" href="annotated.html">Class/Enum List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </CENTER> | |||
<HR> | |||
<!-- Generated by Doxygen 1.3.4 --> | |||
<div class="qindex"><a class="qindex" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindexHL" href="functions_enum.html">Enumerations</a> | <a class="qindex" href="functions_eval.html">Enumeration values</a></div> | |||
<p> | |||
<ul> | |||
<li>RtAudioApi | |||
: <a class="el" href="classRtAudio.html#w8">RtAudio</a><li>Type | |||
: <a class="el" href="classRtError.html#w11">RtError</a></ul> | |||
<HR> | |||
<table><tr><td><img src="../images/mcgill.gif" width=165></td> | |||
<td>©2001-2004 Gary P. Scavone, McGill University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@music.mcgill.ca">gary@music.mcgill.ca</a></td></tr> | |||
</table> | |||
</BODY> | |||
</HTML> |
@@ -0,0 +1,42 @@ | |||
<HTML> | |||
<HEAD> | |||
<TITLE>The RtAudio Tutorial</TITLE> | |||
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css"> | |||
</HEAD> | |||
<BODY BGCOLOR="#FFFFFF"> | |||
<CENTER> | |||
<a class="qindex" href="index.html">Tutorial</a> <a class="qindex" href="annotated.html">Class/Enum List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </CENTER> | |||
<HR> | |||
<!-- Generated by Doxygen 1.3.4 --> | |||
<div class="qindex"><a class="qindex" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_enum.html">Enumerations</a> | <a class="qindexHL" href="functions_eval.html">Enumeration values</a></div> | |||
<p> | |||
<ul> | |||
<li>DEBUG_WARNING | |||
: <a class="el" href="classRtError.html#w11w1">RtError</a><li>DRIVER_ERROR | |||
: <a class="el" href="classRtError.html#w11w8">RtError</a><li>INVALID_DEVICE | |||
: <a class="el" href="classRtError.html#w11w4">RtError</a><li>INVALID_PARAMETER | |||
: <a class="el" href="classRtError.html#w11w7">RtError</a><li>INVALID_STREAM | |||
: <a class="el" href="classRtError.html#w11w5">RtError</a><li>IRIX_AL | |||
: <a class="el" href="classRtAudio.html#w8w5">RtAudio</a><li>LINUX_ALSA | |||
: <a class="el" href="classRtAudio.html#w8w1">RtAudio</a><li>LINUX_JACK | |||
: <a class="el" href="classRtAudio.html#w8w3">RtAudio</a><li>LINUX_OSS | |||
: <a class="el" href="classRtAudio.html#w8w2">RtAudio</a><li>MACOSX_CORE | |||
: <a class="el" href="classRtAudio.html#w8w4">RtAudio</a><li>MEMORY_ERROR | |||
: <a class="el" href="classRtError.html#w11w6">RtError</a><li>NO_DEVICES_FOUND | |||
: <a class="el" href="classRtError.html#w11w3">RtError</a><li>SYSTEM_ERROR | |||
: <a class="el" href="classRtError.html#w11w9">RtError</a><li>THREAD_ERROR | |||
: <a class="el" href="classRtError.html#w11w10">RtError</a><li>UNSPECIFIED | |||
: <a class="el" href="classRtError.html#w11w2">RtError</a>, <a class="el" href="classRtAudio.html#w8w0">RtAudio</a><li>WARNING | |||
: <a class="el" href="classRtError.html#w11w0">RtError</a><li>WINDOWS_ASIO | |||
: <a class="el" href="classRtAudio.html#w8w6">RtAudio</a><li>WINDOWS_DS | |||
: <a class="el" href="classRtAudio.html#w8w7">RtAudio</a></ul> | |||
<HR> | |||
<table><tr><td><img src="../images/mcgill.gif" width=165></td> | |||
<td>©2001-2004 Gary P. Scavone, McGill University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@music.mcgill.ca">gary@music.mcgill.ca</a></td></tr> | |||
</table> | |||
</BODY> | |||
</HTML> |
@@ -0,0 +1,43 @@ | |||
<HTML> | |||
<HEAD> | |||
<TITLE>The RtAudio Tutorial</TITLE> | |||
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css"> | |||
</HEAD> | |||
<BODY BGCOLOR="#FFFFFF"> | |||
<CENTER> | |||
<a class="qindex" href="index.html">Tutorial</a> <a class="qindex" href="annotated.html">Class/Enum List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </CENTER> | |||
<HR> | |||
<!-- Generated by Doxygen 1.3.4 --> | |||
<div class="qindex"><a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_enum.html">Enumerations</a> | <a class="qindex" href="functions_eval.html">Enumeration values</a></div> | |||
<p> | |||
<ul> | |||
<li>abortStream() | |||
: <a class="el" href="classRtAudio.html#a13">RtAudio</a><li>cancelStreamCallback() | |||
: <a class="el" href="classRtAudio.html#a5">RtAudio</a><li>closeStream() | |||
: <a class="el" href="classRtAudio.html#a10">RtAudio</a><li>getDeviceCount() | |||
: <a class="el" href="classRtAudio.html#a6">RtAudio</a><li>getDeviceInfo() | |||
: <a class="el" href="classRtAudio.html#a7">RtAudio</a><li>getMessage() | |||
: <a class="el" href="classRtError.html#a4">RtError</a><li>getMessageString() | |||
: <a class="el" href="classRtError.html#a5">RtError</a><li>getStreamBuffer() | |||
: <a class="el" href="classRtAudio.html#a8">RtAudio</a><li>getType() | |||
: <a class="el" href="classRtError.html#a3">RtError</a><li>openStream() | |||
: <a class="el" href="classRtAudio.html#a3">RtAudio</a><li>printMessage() | |||
: <a class="el" href="classRtError.html#a2">RtError</a><li>RtAudio() | |||
: <a class="el" href="classRtAudio.html#a1">RtAudio</a><li>RtError() | |||
: <a class="el" href="classRtError.html#a0">RtError</a><li>setStreamCallback() | |||
: <a class="el" href="classRtAudio.html#a4">RtAudio</a><li>startStream() | |||
: <a class="el" href="classRtAudio.html#a11">RtAudio</a><li>stopStream() | |||
: <a class="el" href="classRtAudio.html#a12">RtAudio</a><li>tickStream() | |||
: <a class="el" href="classRtAudio.html#a9">RtAudio</a><li>~RtAudio() | |||
: <a class="el" href="classRtAudio.html#a2">RtAudio</a><li>~RtError() | |||
: <a class="el" href="classRtError.html#a1">RtError</a></ul> | |||
<HR> | |||
<table><tr><td><img src="../images/mcgill.gif" width=165></td> | |||
<td>©2001-2004 Gary P. Scavone, McGill University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@music.mcgill.ca">gary@music.mcgill.ca</a></td></tr> | |||
</table> | |||
</BODY> | |||
</HTML> |
@@ -0,0 +1,32 @@ | |||
<HTML> | |||
<HEAD> | |||
<TITLE>The RtAudio Tutorial</TITLE> | |||
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css"> | |||
</HEAD> | |||
<BODY BGCOLOR="#FFFFFF"> | |||
<CENTER> | |||
<a class="qindex" href="index.html">Tutorial</a> <a class="qindex" href="annotated.html">Class/Enum List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </CENTER> | |||
<HR> | |||
<!-- Generated by Doxygen 1.3.4 --> | |||
<div class="qindex"><a class="qindex" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindexHL" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_enum.html">Enumerations</a> | <a class="qindex" href="functions_eval.html">Enumeration values</a></div> | |||
<p> | |||
<ul> | |||
<li>duplexChannels | |||
: <a class="el" href="structRtAudioDeviceInfo.html#o4">RtAudioDeviceInfo</a><li>inputChannels | |||
: <a class="el" href="structRtAudioDeviceInfo.html#o3">RtAudioDeviceInfo</a><li>isDefault | |||
: <a class="el" href="structRtAudioDeviceInfo.html#o5">RtAudioDeviceInfo</a><li>name | |||
: <a class="el" href="structRtAudioDeviceInfo.html#o0">RtAudioDeviceInfo</a><li>nativeFormats | |||
: <a class="el" href="structRtAudioDeviceInfo.html#o7">RtAudioDeviceInfo</a><li>outputChannels | |||
: <a class="el" href="structRtAudioDeviceInfo.html#o2">RtAudioDeviceInfo</a><li>probed | |||
: <a class="el" href="structRtAudioDeviceInfo.html#o1">RtAudioDeviceInfo</a><li>sampleRates | |||
: <a class="el" href="structRtAudioDeviceInfo.html#o6">RtAudioDeviceInfo</a></ul> | |||
<HR> | |||
<table><tr><td><img src="../images/mcgill.gif" width=165></td> | |||
<td>©2001-2004 Gary P. Scavone, McGill University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@music.mcgill.ca">gary@music.mcgill.ca</a></td></tr> | |||
</table> | |||
</BODY> | |||
</HTML> |
@@ -0,0 +1,28 @@ | |||
<HTML> | |||
<HEAD> | |||
<TITLE>The RtAudio Tutorial</TITLE> | |||
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css"> | |||
</HEAD> | |||
<BODY BGCOLOR="#FFFFFF"> | |||
<CENTER> | |||
<a class="qindex" href="index.html">Tutorial</a> <a class="qindex" href="annotated.html">Class/Enum List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </CENTER> | |||
<HR> | |||
<!-- Generated by Doxygen 1.3.4 --> | |||
<h1>RtAudioDeviceInfo Member List</h1>This is the complete list of members for <a class="el" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a>, including all inherited members.<table> | |||
<tr class="memlist"><td><a class="el" href="structRtAudioDeviceInfo.html#o4">duplexChannels</a></td><td><a class="el" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="structRtAudioDeviceInfo.html#o3">inputChannels</a></td><td><a class="el" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="structRtAudioDeviceInfo.html#o5">isDefault</a></td><td><a class="el" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="structRtAudioDeviceInfo.html#o0">name</a></td><td><a class="el" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="structRtAudioDeviceInfo.html#o7">nativeFormats</a></td><td><a class="el" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="structRtAudioDeviceInfo.html#o2">outputChannels</a></td><td><a class="el" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="structRtAudioDeviceInfo.html#o1">probed</a></td><td><a class="el" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a></td><td></td></tr> | |||
<tr class="memlist"><td><a class="el" href="structRtAudioDeviceInfo.html#o6">sampleRates</a></td><td><a class="el" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a></td><td></td></tr> | |||
</table><HR> | |||
<table><tr><td><img src="../images/mcgill.gif" width=165></td> | |||
<td>©2001-2004 Gary P. Scavone, McGill University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@music.mcgill.ca">gary@music.mcgill.ca</a></td></tr> | |||
</table> | |||
</BODY> | |||
</HTML> |
@@ -0,0 +1,226 @@ | |||
<HTML> | |||
<HEAD> | |||
<TITLE>The RtAudio Tutorial</TITLE> | |||
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css"> | |||
</HEAD> | |||
<BODY BGCOLOR="#FFFFFF"> | |||
<CENTER> | |||
<a class="qindex" href="index.html">Tutorial</a> <a class="qindex" href="annotated.html">Class/Enum List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </CENTER> | |||
<HR> | |||
<!-- Generated by Doxygen 1.3.4 --> | |||
<h1>RtAudioDeviceInfo Struct Reference</h1>The public device information structure for returning queried values. | |||
<a href="#_details">More...</a> | |||
<p> | |||
<code>#include <<a class="el" href="RtAudio_8h-source.html">RtAudio.h</a>></code> | |||
<p> | |||
<a href="structRtAudioDeviceInfo-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0> | |||
<tr><td></td></tr> | |||
<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr> | |||
<tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="structRtAudioDeviceInfo.html#o0">name</a></td></tr> | |||
<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="structRtAudioDeviceInfo.html#o1">probed</a></td></tr> | |||
<tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="structRtAudioDeviceInfo.html#o2">outputChannels</a></td></tr> | |||
<tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="structRtAudioDeviceInfo.html#o3">inputChannels</a></td></tr> | |||
<tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="structRtAudioDeviceInfo.html#o4">duplexChannels</a></td></tr> | |||
<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="structRtAudioDeviceInfo.html#o5">isDefault</a></td></tr> | |||
<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector< int > </td><td class="memItemRight" valign=bottom><a class="el" href="structRtAudioDeviceInfo.html#o6">sampleRates</a></td></tr> | |||
<tr><td class="memItemLeft" nowrap align=right valign=top>RtAudioFormat </td><td class="memItemRight" valign=bottom><a class="el" href="structRtAudioDeviceInfo.html#o7">nativeFormats</a></td></tr> | |||
</table> | |||
<hr><a name="_details"></a><h2>Detailed Description</h2> | |||
The public device information structure for returning queried values. | |||
<p> | |||
<hr><h2>Member Data Documentation</h2> | |||
<a class="anchor" name="o0" doxytag="RtAudioDeviceInfo::name" ></a><p> | |||
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> | |||
<tr> | |||
<td class="mdRow"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md" nowrap valign="top"> std::string <a class="el" href="structRtAudioDeviceInfo.html#o0">RtAudioDeviceInfo::name</a> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
Character string device identifier. </td> | |||
</tr> | |||
</table> | |||
<a class="anchor" name="o1" doxytag="RtAudioDeviceInfo::probed" ></a><p> | |||
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> | |||
<tr> | |||
<td class="mdRow"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md" nowrap valign="top"> bool <a class="el" href="structRtAudioDeviceInfo.html#o1">RtAudioDeviceInfo::probed</a> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
true if the device capabilities were successfully probed. </td> | |||
</tr> | |||
</table> | |||
<a class="anchor" name="o2" doxytag="RtAudioDeviceInfo::outputChannels" ></a><p> | |||
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> | |||
<tr> | |||
<td class="mdRow"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md" nowrap valign="top"> int <a class="el" href="structRtAudioDeviceInfo.html#o2">RtAudioDeviceInfo::outputChannels</a> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
Maximum output channels supported by device. </td> | |||
</tr> | |||
</table> | |||
<a class="anchor" name="o3" doxytag="RtAudioDeviceInfo::inputChannels" ></a><p> | |||
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> | |||
<tr> | |||
<td class="mdRow"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md" nowrap valign="top"> int <a class="el" href="structRtAudioDeviceInfo.html#o3">RtAudioDeviceInfo::inputChannels</a> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
Maximum input channels supported by device. </td> | |||
</tr> | |||
</table> | |||
<a class="anchor" name="o4" doxytag="RtAudioDeviceInfo::duplexChannels" ></a><p> | |||
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> | |||
<tr> | |||
<td class="mdRow"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md" nowrap valign="top"> int <a class="el" href="structRtAudioDeviceInfo.html#o4">RtAudioDeviceInfo::duplexChannels</a> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
Maximum simultaneous input/output channels supported by device. </td> | |||
</tr> | |||
</table> | |||
<a class="anchor" name="o5" doxytag="RtAudioDeviceInfo::isDefault" ></a><p> | |||
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> | |||
<tr> | |||
<td class="mdRow"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md" nowrap valign="top"> bool <a class="el" href="structRtAudioDeviceInfo.html#o5">RtAudioDeviceInfo::isDefault</a> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
true if this is the default output or input device. </td> | |||
</tr> | |||
</table> | |||
<a class="anchor" name="o6" doxytag="RtAudioDeviceInfo::sampleRates" ></a><p> | |||
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> | |||
<tr> | |||
<td class="mdRow"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md" nowrap valign="top"> std::vector<int> <a class="el" href="structRtAudioDeviceInfo.html#o6">RtAudioDeviceInfo::sampleRates</a> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
Supported sample rates (queried from list of standard rates). </td> | |||
</tr> | |||
</table> | |||
<a class="anchor" name="o7" doxytag="RtAudioDeviceInfo::nativeFormats" ></a><p> | |||
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> | |||
<tr> | |||
<td class="mdRow"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md" nowrap valign="top"> RtAudioFormat <a class="el" href="structRtAudioDeviceInfo.html#o7">RtAudioDeviceInfo::nativeFormats</a> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
Bit mask of supported data formats. </td> | |||
</tr> | |||
</table> | |||
<hr>The documentation for this struct was generated from the following file:<ul> | |||
<li><a class="el" href="RtAudio_8h-source.html">RtAudio.h</a></ul> | |||
<HR> | |||
<table><tr><td><img src="../images/mcgill.gif" width=165></td> | |||
<td>©2001-2004 Gary P. Scavone, McGill University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@music.mcgill.ca">gary@music.mcgill.ca</a></td></tr> | |||
</table> | |||
</BODY> | |||
</HTML> |
@@ -1,34 +0,0 @@ | |||
<HTML> | |||
<HEAD> | |||
<TITLE>The RtAudio Tutorial</TITLE> | |||
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css"> | |||
</HEAD> | |||
<BODY BGCOLOR="#FFFFFF"> | |||
<CENTER> | |||
<a class="qindex" href="index.html">Tutorial</a> <a class="qindex" href="annotated.html">Class/Enum List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </CENTER> | |||
<HR> | |||
<!-- Generated by Doxygen 1.2.8.1 --> | |||
<h1>RtAudio::RTAUDIO_DEVICE Member List</h1>This is the complete list of members for <a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html">RtAudio::RTAUDIO_DEVICE</a>, including all inherited members.<ul> | |||
<li><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m9">hasDuplexSupport</a> | |||
<li><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m10">isDefault</a> | |||
<li><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m5">maxDuplexChannels</a> | |||
<li><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m4">maxInputChannels</a> | |||
<li><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m3">maxOutputChannels</a> | |||
<li><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m8">minDuplexChannels</a> | |||
<li><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m7">minInputChannels</a> | |||
<li><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m6">minOutputChannels</a> | |||
<li><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m0">name</a> | |||
<li><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m13">nativeFormats</a> | |||
<li><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m11">nSampleRates</a> | |||
<li><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m2">probed</a> | |||
<li><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m12">sampleRates</a> | |||
</ul> | |||
<HR> | |||
<table><tr><td><img src="../images/ccrma.gif"> | |||
<td>©2001-2002 Gary P. Scavone, CCRMA, Stanford University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@ccrma.stanford.edu">gary@ccrma.stanford.edu</a><P> | |||
</table> | |||
</BODY> | |||
</HTML> |
@@ -1,384 +0,0 @@ | |||
<HTML> | |||
<HEAD> | |||
<TITLE>The RtAudio Tutorial</TITLE> | |||
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css"> | |||
</HEAD> | |||
<BODY BGCOLOR="#FFFFFF"> | |||
<CENTER> | |||
<a class="qindex" href="index.html">Tutorial</a> <a class="qindex" href="annotated.html">Class/Enum List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </CENTER> | |||
<HR> | |||
<!-- Generated by Doxygen 1.2.8.1 --> | |||
<h1>RtAudio::RTAUDIO_DEVICE Struct Reference</h1>The public device information structure for passing queried values. | |||
<a href="#_details">More...</a> | |||
<p> | |||
<code>#include <<a class="el" href="RtAudio_8h-source.html">RtAudio.h</a>></code> | |||
<p> | |||
<a href="structRtAudio_1_1RTAUDIO__DEVICE-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0> | |||
<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr> | |||
<tr><td nowrap align=right valign=top>char </td><td valign=bottom><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m0">name</a> [128]</td></tr> | |||
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m2">probed</a></td></tr> | |||
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m3">maxOutputChannels</a></td></tr> | |||
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m4">maxInputChannels</a></td></tr> | |||
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m5">maxDuplexChannels</a></td></tr> | |||
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m6">minOutputChannels</a></td></tr> | |||
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m7">minInputChannels</a></td></tr> | |||
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m8">minDuplexChannels</a></td></tr> | |||
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m9">hasDuplexSupport</a></td></tr> | |||
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m10">isDefault</a></td></tr> | |||
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m11">nSampleRates</a></td></tr> | |||
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m12">sampleRates</a> [MAX_SAMPLE_RATES]</td></tr> | |||
<tr><td nowrap align=right valign=top>RTAUDIO_FORMAT </td><td valign=bottom><a class="el" href="structRtAudio_1_1RTAUDIO__DEVICE.html#m13">nativeFormats</a></td></tr> | |||
</table> | |||
<hr><a name="_details"></a><h2>Detailed Description</h2> | |||
The public device information structure for passing queried values. | |||
<p> | |||
<hr><h2>Member Data Documentation</h2> | |||
<a name="m0" doxytag="RtAudio::RTAUDIO_DEVICE::name"></a><p> | |||
<table width="100%" cellpadding="2" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td nowrap valign="top"><b> | |||
char RtAudio::RTAUDIO_DEVICE::name | |||
</b></td> | |||
</tr> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
Character string device identifier. </td> | |||
</tr> | |||
</table> | |||
<a name="m2" doxytag="RtAudio::RTAUDIO_DEVICE::probed"></a><p> | |||
<table width="100%" cellpadding="2" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td nowrap valign="top"><b> | |||
bool RtAudio::RTAUDIO_DEVICE::probed | |||
</b></td> | |||
</tr> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
true if the device capabilities were successfully probed. </td> | |||
</tr> | |||
</table> | |||
<a name="m3" doxytag="RtAudio::RTAUDIO_DEVICE::maxOutputChannels"></a><p> | |||
<table width="100%" cellpadding="2" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td nowrap valign="top"><b> | |||
int RtAudio::RTAUDIO_DEVICE::maxOutputChannels | |||
</b></td> | |||
</tr> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
Maximum output channels supported by device. </td> | |||
</tr> | |||
</table> | |||
<a name="m4" doxytag="RtAudio::RTAUDIO_DEVICE::maxInputChannels"></a><p> | |||
<table width="100%" cellpadding="2" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td nowrap valign="top"><b> | |||
int RtAudio::RTAUDIO_DEVICE::maxInputChannels | |||
</b></td> | |||
</tr> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
Maximum input channels supported by device. </td> | |||
</tr> | |||
</table> | |||
<a name="m5" doxytag="RtAudio::RTAUDIO_DEVICE::maxDuplexChannels"></a><p> | |||
<table width="100%" cellpadding="2" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td nowrap valign="top"><b> | |||
int RtAudio::RTAUDIO_DEVICE::maxDuplexChannels | |||
</b></td> | |||
</tr> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
Maximum simultaneous input/output channels supported by device. </td> | |||
</tr> | |||
</table> | |||
<a name="m6" doxytag="RtAudio::RTAUDIO_DEVICE::minOutputChannels"></a><p> | |||
<table width="100%" cellpadding="2" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td nowrap valign="top"><b> | |||
int RtAudio::RTAUDIO_DEVICE::minOutputChannels | |||
</b></td> | |||
</tr> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
Minimum output channels supported by device. </td> | |||
</tr> | |||
</table> | |||
<a name="m7" doxytag="RtAudio::RTAUDIO_DEVICE::minInputChannels"></a><p> | |||
<table width="100%" cellpadding="2" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td nowrap valign="top"><b> | |||
int RtAudio::RTAUDIO_DEVICE::minInputChannels | |||
</b></td> | |||
</tr> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
Minimum input channels supported by device. </td> | |||
</tr> | |||
</table> | |||
<a name="m8" doxytag="RtAudio::RTAUDIO_DEVICE::minDuplexChannels"></a><p> | |||
<table width="100%" cellpadding="2" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td nowrap valign="top"><b> | |||
int RtAudio::RTAUDIO_DEVICE::minDuplexChannels | |||
</b></td> | |||
</tr> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
Minimum simultaneous input/output channels supported by device. </td> | |||
</tr> | |||
</table> | |||
<a name="m9" doxytag="RtAudio::RTAUDIO_DEVICE::hasDuplexSupport"></a><p> | |||
<table width="100%" cellpadding="2" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td nowrap valign="top"><b> | |||
bool RtAudio::RTAUDIO_DEVICE::hasDuplexSupport | |||
</b></td> | |||
</tr> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
true if device supports duplex mode. </td> | |||
</tr> | |||
</table> | |||
<a name="m10" doxytag="RtAudio::RTAUDIO_DEVICE::isDefault"></a><p> | |||
<table width="100%" cellpadding="2" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td nowrap valign="top"><b> | |||
bool RtAudio::RTAUDIO_DEVICE::isDefault | |||
</b></td> | |||
</tr> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
true if this is the default output or input device. </td> | |||
</tr> | |||
</table> | |||
<a name="m11" doxytag="RtAudio::RTAUDIO_DEVICE::nSampleRates"></a><p> | |||
<table width="100%" cellpadding="2" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td nowrap valign="top"><b> | |||
int RtAudio::RTAUDIO_DEVICE::nSampleRates | |||
</b></td> | |||
</tr> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
Number of discrete rates or -1 if range supported. </td> | |||
</tr> | |||
</table> | |||
<a name="m12" doxytag="RtAudio::RTAUDIO_DEVICE::sampleRates"></a><p> | |||
<table width="100%" cellpadding="2" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td nowrap valign="top"><b> | |||
int RtAudio::RTAUDIO_DEVICE::sampleRates | |||
</b></td> | |||
</tr> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
Supported rates or (min, max) if range. </td> | |||
</tr> | |||
</table> | |||
<a name="m13" doxytag="RtAudio::RTAUDIO_DEVICE::nativeFormats"></a><p> | |||
<table width="100%" cellpadding="2" cellspacing="0" border="0"> | |||
<tr> | |||
<td class="md"> | |||
<table cellpadding="0" cellspacing="0" border="0"> | |||
<tr> | |||
<td nowrap valign="top"><b> | |||
RTAUDIO_FORMAT RtAudio::RTAUDIO_DEVICE::nativeFormats | |||
</b></td> | |||
</tr> | |||
</table> | |||
</td> | |||
</tr> | |||
</table> | |||
<table cellspacing=5 cellpadding=0 border=0> | |||
<tr> | |||
<td> | |||
| |||
</td> | |||
<td> | |||
<p> | |||
Bit mask of supported data formats. </td> | |||
</tr> | |||
</table> | |||
<hr>The documentation for this struct was generated from the following file:<ul> | |||
<li><a class="el" href="RtAudio_8h-source.html">RtAudio.h</a></ul> | |||
<HR> | |||
<table><tr><td><img src="../images/ccrma.gif"> | |||
<td>©2001-2002 Gary P. Scavone, CCRMA, Stanford University. All Rights Reserved.<br> | |||
Maintained by Gary P. Scavone, <a href="mailto:gary@ccrma.stanford.edu">gary@ccrma.stanford.edu</a><P> | |||
</table> | |||
</BODY> | |||
</HTML> |