summaryrefslogtreecommitdiff
path: root/doc/html
diff options
context:
space:
mode:
authorGary Scavone <gary@music.mcgill.ca>2013-10-11 00:03:27 +0200
committerStephen Sinclair <sinclair@music.mcgill.ca>2013-10-11 00:03:27 +0200
commit424e5aef32dae9c3fa92f2e5f9e86c104242bf13 (patch)
treedd8f5f6b0580d2751812b9f2e711379abdeaf10e /doc/html
parent629897daa5bfc106ca2c09ebef96fdc7b8d5e6b1 (diff)
Release 3.0.1 tarball3.0.1
Diffstat (limited to 'doc/html')
-rw-r--r--doc/html/RtAudio_8h-source.html739
-rw-r--r--doc/html/index.html2
2 files changed, 370 insertions, 371 deletions
diff --git a/doc/html/RtAudio_8h-source.html b/doc/html/RtAudio_8h-source.html
index 7c78353..0e91b8d 100644
--- a/doc/html/RtAudio_8h-source.html
+++ b/doc/html/RtAudio_8h-source.html
@@ -11,7 +11,7 @@
<h1>RtAudio.h</h1><div class="fragment"><pre>00001 <span class="comment">/************************************************************************/</span>
00038 <span class="comment">/************************************************************************/</span>
00039
-00040 <span class="comment">// RtAudio: Version 3.0, 11 March 2004</span>
+00040 <span class="comment">// RtAudio: Version 3.0.1, 22 March 2004</span>
00041
00042 <span class="preprocessor">#ifndef __RTAUDIO_H</span>
00043 <span class="preprocessor"></span><span class="preprocessor">#define __RTAUDIO_H</span>
@@ -157,378 +157,377 @@
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&lt;int&gt; 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&lt;RtApiDevice&gt; devices_;
-00224 RtApiStream stream_;
-00225
-00230 <span class="keyword">virtual</span> <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>) = 0;
-00231
-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 <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 };
+00189 <span class="comment">// mode(UNINITIALIZED), state(STREAM_STOPPED),</span>
+00190 };
+00191
+00192 <span class="comment">// A protected device structure for audio devices.</span>
+00193 <span class="keyword">struct </span>RtApiDevice {
+00194 std::string name;
+00195 <span class="keywordtype">bool</span> probed;
+00196 <span class="keywordtype">void</span> *apiDeviceId; <span class="comment">// void pointer for API specific device information</span>
+00197 <span class="keywordtype">int</span> maxOutputChannels;
+00198 <span class="keywordtype">int</span> maxInputChannels;
+00199 <span class="keywordtype">int</span> maxDuplexChannels;
+00200 <span class="keywordtype">int</span> minOutputChannels;
+00201 <span class="keywordtype">int</span> minInputChannels;
+00202 <span class="keywordtype">int</span> minDuplexChannels;
+00203 <span class="keywordtype">bool</span> hasDuplexSupport;
+00204 <span class="keywordtype">bool</span> isDefault;
+00205 std::vector&lt;int&gt; sampleRates;
+00206 RtAudioFormat nativeFormats;
+00208 <span class="comment">// Default constructor.</span>
+00209 RtApiDevice()
+00210 :probed(false), apiDeviceId(0), maxOutputChannels(0), maxInputChannels(0),
+00211 maxDuplexChannels(0), minOutputChannels(0), minInputChannels(0),
+00212 minDuplexChannels(0), isDefault(false), nativeFormats(0) {}
+00213 };
+00214
+00215 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> Int16;
+00216 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> Int32;
+00217 <span class="keyword">typedef</span> <span class="keywordtype">float</span> Float32;
+00218 <span class="keyword">typedef</span> <span class="keywordtype">double</span> Float64;
+00219
+00220 <span class="keywordtype">char</span> message_[256];
+00221 <span class="keywordtype">int</span> nDevices_;
+00222 std::vector&lt;RtApiDevice&gt; devices_;
+00223 RtApiStream stream_;
+00224
+00229 <span class="keyword">virtual</span> <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>) = 0;
+00230
+00239 <span class="keyword">virtual</span> <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
+00240
+00249 <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,
+00250 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
+00251 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
+00252
+00257 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
+00258
+00263 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
+00264
+00266 <span class="keywordtype">void</span> clearDeviceInfo( RtApiDevice *info );
+00267
+00269 <span class="keywordtype">void</span> clearStreamInfo();
+00270
+00272 <span class="keywordtype">void</span> error( RtError::Type type );
+00273
+00278 <span class="keywordtype">void</span> verifyStream();
+00279
+00284 <span class="keywordtype">void</span> convertStreamBuffer( StreamMode mode );
+00285
+00287 <span class="keywordtype">void</span> byteSwapBuffer( <span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> samples, RtAudioFormat format );
+00288
+00290 <span class="keywordtype">int</span> formatBytes( RtAudioFormat format );
+00291 };
+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
-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_-&gt;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_-&gt;cancelStreamCallback(); };
-00424
-<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_-&gt;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_-&gt;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_-&gt;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_-&gt;tickStream(); };
-00454
-00456
-<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_-&gt;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_-&gt;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_-&gt;stopStream(); };
-00475
-00477
-<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_-&gt;abortStream(); };
+00294 <span class="comment">// **************************************************************** //</span>
+00295 <span class="comment">//</span>
+00296 <span class="comment">// RtAudio class declaration.</span>
+00297 <span class="comment">//</span>
+00298 <span class="comment">// RtAudio is a "controller" used to select an available audio i/o</span>
+00299 <span class="comment">// interface. It presents a common API for the user to call but all</span>
+00300 <span class="comment">// functionality is implemented by the class RtAudioApi and its</span>
+00301 <span class="comment">// subclasses. RtAudio creates an instance of an RtAudioApi subclass</span>
+00302 <span class="comment">// based on the user's API choice. If no choice is made, RtAudio</span>
+00303 <span class="comment">// attempts to make a "logical" API selection.</span>
+00304 <span class="comment">//</span>
+00305 <span class="comment">// **************************************************************** //</span>
+00306
+<a name="l00307"></a><a class="code" href="classRtAudio.html">00307</a> <span class="keyword">class </span><a class="code" href="classRtAudio.html">RtAudio</a>
+00308 {
+00309 <span class="keyword">public</span>:
+00310
+<a name="l00312"></a><a class="code" href="classRtAudio.html#w8">00312</a> <span class="keyword">enum</span> <a class="code" href="classRtAudio.html#w8">RtAudioApi</a> {
+00313 <a class="code" href="classRtAudio.html#w8w0">UNSPECIFIED</a>,
+00314 <a class="code" href="classRtAudio.html#w8w1">LINUX_ALSA</a>,
+00315 <a class="code" href="classRtAudio.html#w8w2">LINUX_OSS</a>,
+00316 <a class="code" href="classRtAudio.html#w8w3">LINUX_JACK</a>,
+00317 <a class="code" href="classRtAudio.html#w8w4">MACOSX_CORE</a>,
+00318 <a class="code" href="classRtAudio.html#w8w5">IRIX_AL</a>,
+00319 <a class="code" href="classRtAudio.html#w8w6">WINDOWS_ASIO</a>,
+00320 <a class="code" href="classRtAudio.html#w8w7">WINDOWS_DS</a>
+00321 };
+00322
+00324
+00334 <a class="code" href="classRtAudio.html#a0">RtAudio</a>( RtAudioApi api=UNSPECIFIED );
+00335
+00337
+00348 <a class="code" href="classRtAudio.html#a0">RtAudio</a>( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
+00349 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
+00350 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
+00351 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers, RtAudioApi api=UNSPECIFIED );
+00352
+00354
+00358 <a class="code" href="classRtAudio.html#a2">~RtAudio</a>();
+00359
+00361
+00387 <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,
+00388 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
+00389 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
+00390 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
+00391
+00393
+<a name="l00412"></a><a class="code" href="classRtAudio.html#a4">00412</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a4">setStreamCallback</a>(RtAudioCallback callback, <span class="keywordtype">void</span> *userData) { rtapi_-&gt;setStreamCallback( callback, userData ); };
+00413
+00415
+<a name="l00422"></a><a class="code" href="classRtAudio.html#a5">00422</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a5">cancelStreamCallback</a>() { rtapi_-&gt;cancelStreamCallback(); };
+00423
+<a name="l00425"></a><a class="code" href="classRtAudio.html#a6">00425</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_-&gt;getDeviceCount(); };
+00426
+00428
+<a name="l00436"></a><a class="code" href="classRtAudio.html#a7">00436</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_-&gt;getDeviceInfo( device ); };
+00437
+00439
+<a name="l00444"></a><a class="code" href="classRtAudio.html#a8">00444</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_-&gt;getStreamBuffer(); };
+00445
+00447
+<a name="l00452"></a><a class="code" href="classRtAudio.html#a9">00452</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a9">tickStream</a>() { rtapi_-&gt;tickStream(); };
+00453
+00455
+<a name="l00459"></a><a class="code" href="classRtAudio.html#a10">00459</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a10">closeStream</a>() { rtapi_-&gt;closeStream(); };
+00460
+00462
+<a name="l00466"></a><a class="code" href="classRtAudio.html#a11">00466</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a11">startStream</a>() { rtapi_-&gt;startStream(); };
+00467
+00469
+<a name="l00473"></a><a class="code" href="classRtAudio.html#a12">00473</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a12">stopStream</a>() { rtapi_-&gt;stopStream(); };
+00474
+00476
+<a name="l00480"></a><a class="code" href="classRtAudio.html#a13">00480</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a13">abortStream</a>() { rtapi_-&gt;abortStream(); };
+00481
00482
-00483
-00484 <span class="keyword">protected</span>:
-00485
-00486 <span class="keywordtype">void</span> initialize( RtAudioApi api );
-00487
-00488 RtApi *rtapi_;
-00489 };
+00483 <span class="keyword">protected</span>:
+00484
+00485 <span class="keywordtype">void</span> initialize( RtAudioApi api );
+00486
+00487 RtApi *rtapi_;
+00488 };
+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 &lt;CoreAudio/AudioHardware.h&gt;</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>
+00491 <span class="comment">// RtApi Subclass prototypes.</span>
+00492
+00493 <span class="preprocessor">#if defined(__LINUX_ALSA__)</span>
+00494 <span class="preprocessor"></span>
+00495 <span class="keyword">class </span>RtApiAlsa: <span class="keyword">public</span> RtApi
+00496 {
+00497 <span class="keyword">public</span>:
+00498
+00499 RtApiAlsa();
+00500 ~RtApiAlsa();
+00501 <span class="keywordtype">void</span> tickStream();
+00502 <span class="keywordtype">void</span> closeStream();
+00503 <span class="keywordtype">void</span> startStream();
+00504 <span class="keywordtype">void</span> stopStream();
+00505 <span class="keywordtype">void</span> abortStream();
+00506 <span class="keywordtype">int</span> streamWillBlock();
+00507 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
+00508 <span class="keywordtype">void</span> cancelStreamCallback();
+00509
+00510 <span class="keyword">private</span>:
+00511
+00512 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
+00513 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
+00514 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
+00515 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
+00516 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
+00517 };
+00518
+00519 <span class="preprocessor">#endif</span>
+00520 <span class="preprocessor"></span>
+00521 <span class="preprocessor">#if defined(__LINUX_JACK__)</span>
+00522 <span class="preprocessor"></span>
+00523 <span class="keyword">class </span>RtApiJack: <span class="keyword">public</span> RtApi
+00524 {
+00525 <span class="keyword">public</span>:
+00526
+00527 RtApiJack();
+00528 ~RtApiJack();
+00529 <span class="keywordtype">void</span> tickStream();
+00530 <span class="keywordtype">void</span> closeStream();
+00531 <span class="keywordtype">void</span> startStream();
+00532 <span class="keywordtype">void</span> stopStream();
+00533 <span class="keywordtype">void</span> abortStream();
+00534 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
+00535 <span class="keywordtype">void</span> cancelStreamCallback();
+00536 <span class="comment">// This function is intended for internal use only. It must be</span>
+00537 <span class="comment">// public because it is called by the internal callback handler,</span>
+00538 <span class="comment">// which is not a member of RtAudio. External use of this function</span>
+00539 <span class="comment">// will most likely produce highly undesireable results!</span>
+00540 <span class="keywordtype">void</span> callbackEvent( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> nframes );
+00541
+00542 <span class="keyword">private</span>:
+00543
+00544 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
+00545 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
+00546 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
+00547 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
+00548 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
+00549 };
+00550
+00551 <span class="preprocessor">#endif</span>
+00552 <span class="preprocessor"></span>
+00553 <span class="preprocessor">#if defined(__LINUX_OSS__)</span>
+00554 <span class="preprocessor"></span>
+00555 <span class="keyword">class </span>RtApiOss: <span class="keyword">public</span> RtApi
+00556 {
+00557 <span class="keyword">public</span>:
+00558
+00559 RtApiOss();
+00560 ~RtApiOss();
+00561 <span class="keywordtype">void</span> tickStream();
+00562 <span class="keywordtype">void</span> closeStream();
+00563 <span class="keywordtype">void</span> startStream();
+00564 <span class="keywordtype">void</span> stopStream();
+00565 <span class="keywordtype">void</span> abortStream();
+00566 <span class="keywordtype">int</span> streamWillBlock();
+00567 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
+00568 <span class="keywordtype">void</span> cancelStreamCallback();
+00569
+00570 <span class="keyword">private</span>:
+00571
+00572 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
+00573 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
+00574 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
+00575 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
+00576 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
+00577 };
+00578
+00579 <span class="preprocessor">#endif</span>
+00580 <span class="preprocessor"></span>
+00581 <span class="preprocessor">#if defined(__MACOSX_CORE__)</span>
+00582 <span class="preprocessor"></span>
+00583 <span class="preprocessor">#include &lt;CoreAudio/AudioHardware.h&gt;</span>
+00584
+00585 <span class="keyword">class </span>RtApiCore: <span class="keyword">public</span> RtApi
+00586 {
+00587 <span class="keyword">public</span>:
+00588
+00589 RtApiCore();
+00590 ~RtApiCore();
+00591 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
+00592 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
+00593 <span class="keywordtype">void</span> tickStream();
+00594 <span class="keywordtype">void</span> closeStream();
+00595 <span class="keywordtype">void</span> startStream();
+00596 <span class="keywordtype">void</span> stopStream();
+00597 <span class="keywordtype">void</span> abortStream();
+00598 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
+00599 <span class="keywordtype">void</span> cancelStreamCallback();
+00600
+00601 <span class="comment">// This function is intended for internal use only. It must be</span>
+00602 <span class="comment">// public because it is called by the internal callback handler,</span>
+00603 <span class="comment">// which is not a member of RtAudio. External use of this function</span>
+00604 <span class="comment">// will most likely produce highly undesireable results!</span>
+00605 <span class="keywordtype">void</span> callbackEvent( AudioDeviceID deviceId, <span class="keywordtype">void</span> *inData, <span class="keywordtype">void</span> *outData );
+00606
+00607 <span class="keyword">private</span>:
+00608
+00609 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
+00610 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
+00611 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
+00612 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
+00613 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
+00614 };
+00615
+00616 <span class="preprocessor">#endif</span>
+00617 <span class="preprocessor"></span>
+00618 <span class="preprocessor">#if defined(__WINDOWS_DS__)</span>
+00619 <span class="preprocessor"></span>
+00620 <span class="keyword">class </span>RtApiDs: <span class="keyword">public</span> RtApi
+00621 {
+00622 <span class="keyword">public</span>:
+00623
+00624 RtApiDs();
+00625 ~RtApiDs();
+00626 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
+00627 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
+00628 <span class="keywordtype">void</span> tickStream();
+00629 <span class="keywordtype">void</span> closeStream();
+00630 <span class="keywordtype">void</span> startStream();
+00631 <span class="keywordtype">void</span> stopStream();
+00632 <span class="keywordtype">void</span> abortStream();
+00633 <span class="keywordtype">int</span> streamWillBlock();
+00634 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
+00635 <span class="keywordtype">void</span> cancelStreamCallback();
+00636
+00637 <span class="keyword">private</span>:
+00638
+00639 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
+00640 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
+00641 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
+00642 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
+00643 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
+00644 };
+00645
+00646 <span class="preprocessor">#endif</span>
+00647 <span class="preprocessor"></span>
+00648 <span class="preprocessor">#if defined(__WINDOWS_ASIO__)</span>
+00649 <span class="preprocessor"></span>
+00650 <span class="keyword">class </span>RtApiAsio: <span class="keyword">public</span> RtApi
+00651 {
+00652 <span class="keyword">public</span>:
+00653
+00654 RtApiAsio();
+00655 ~RtApiAsio();
+00656 <span class="keywordtype">void</span> tickStream();
+00657 <span class="keywordtype">void</span> closeStream();
+00658 <span class="keywordtype">void</span> startStream();
+00659 <span class="keywordtype">void</span> stopStream();
+00660 <span class="keywordtype">void</span> abortStream();
+00661 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
+00662 <span class="keywordtype">void</span> cancelStreamCallback();
+00663
+00664 <span class="comment">// This function is intended for internal use only. It must be</span>
+00665 <span class="comment">// public because it is called by the internal callback handler,</span>
+00666 <span class="comment">// which is not a member of RtAudio. External use of this function</span>
+00667 <span class="comment">// will most likely produce highly undesireable results!</span>
+00668 <span class="keywordtype">void</span> callbackEvent( <span class="keywordtype">long</span> bufferIndex );
+00669
+00670 <span class="keyword">private</span>:
+00671
+00672 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
+00673 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
+00674 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
+00675 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
+00676 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
+00677 };
+00678
+00679 <span class="preprocessor">#endif</span>
+00680 <span class="preprocessor"></span>
+00681 <span class="preprocessor">#if defined(__IRIX_AL__)</span>
+00682 <span class="preprocessor"></span>
+00683 <span class="keyword">class </span>RtApiAl: <span class="keyword">public</span> RtApi
+00684 {
+00685 <span class="keyword">public</span>:
+00686
+00687 RtApiAl();
+00688 ~RtApiAl();
+00689 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
+00690 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
+00691 <span class="keywordtype">void</span> tickStream();
+00692 <span class="keywordtype">void</span> closeStream();
+00693 <span class="keywordtype">void</span> startStream();
+00694 <span class="keywordtype">void</span> stopStream();
+00695 <span class="keywordtype">void</span> abortStream();
+00696 <span class="keywordtype">int</span> streamWillBlock();
+00697 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
+00698 <span class="keywordtype">void</span> cancelStreamCallback();
+00699
+00700 <span class="keyword">private</span>:
+00701
+00702 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
+00703 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
+00704 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
+00705 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
+00706 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
+00707 };
+00708
+00709 <span class="preprocessor">#endif</span>
+00710 <span class="preprocessor"></span>
+00711 <span class="comment">// Define the following flag to have extra information spewed to stderr.</span>
+00712 <span class="comment">//#define __RTAUDIO_DEBUG__</span>
+00713
+00714 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table><tr><td><img src="../images/mcgill.gif" width=165></td>
diff --git a/doc/html/index.html b/doc/html/index.html
index 7de36f6..dd2ce52 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -43,7 +43,7 @@ Several API changes have been made in version 3.0 of <a class="el" href="classRt
The <a class="el" href="classRtAudio.html#a7">RtAudio::getDeviceInfo()</a> function was modified to return a globally defined <a class="el" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a> structure. This structure is a simplified version of the previous RTAUDIO_DEVICE structure. In addition, the RTAUDIO_FORMAT structure was renamed RtAudioFormat and defined globally within <a class="el" href="RtAudio_8h.html">RtAudio.h</a>. These changes were made for clarity and to better conform with standard C++ programming practices.<p>
The <a class="el" href="classRtError.html">RtError</a> class declaration and definition have been extracted to a separate file (<a class="el" href="RtError_8h.html">RtError.h</a>). This was done in preparation for a new release of the RtMidi class (planned for Summer 2004).<h2><a class="anchor" name="download">
Download</a></h2>
-Latest Release (11 March 2004): <a href="http://music.mcgill.ca/~gary/rtaudio/release/rtaudio-3.0.tar.gz">Version 3.0 (200 kB tar/gzipped)</a><h2><a class="anchor" name="start">
+Latest Release (22 March 2004): <a href="http://music.mcgill.ca/~gary/rtaudio/release/rtaudio-3.0.1.tar.gz">Version 3.0.1 (200 kB tar/gzipped)</a><h2><a class="anchor" name="start">
Getting Started</a></h2>
With version 3.0, it is now possible to compile multiple API support on a given platform and to specify an API choice during class instantiation. In the examples that follow, no API will be specified (in which case, <a class="el" href="classRtAudio.html">RtAudio</a> attempts to select the most "logical" available API).<p>
The first thing that must be done when using <a class="el" href="classRtAudio.html">RtAudio</a> is to create an instance of the class. The default constructor scans the underlying audio system to verify that at least one device is available. <a class="el" href="classRtAudio.html">RtAudio</a> often uses C++ exceptions to report errors, necessitating try/catch blocks around most member functions. The following code example demonstrates default object construction and destruction:<p>