Release 4.0.4 tarball 4.0.4
authorGary Scavone <gary@music.mcgill.ca>
Thu, 10 Oct 2013 23:52:55 +0000 (01:52 +0200)
committerStephen Sinclair <sinclair@music.mcgill.ca>
Thu, 10 Oct 2013 23:52:55 +0000 (01:52 +0200)
36 files changed:
configure
doc/html/RtAudio_8h-source.html
doc/html/RtAudio_8h.html
doc/html/RtError_8h-source.html
doc/html/acknowledge.html
doc/html/annotated.html
doc/html/apinotes.html
doc/html/classRtAudio-members.html
doc/html/classRtAudio.html
doc/html/classRtError-members.html
doc/html/classRtError.html
doc/html/compiling.html
doc/html/duplex.html
doc/html/errors.html
doc/html/files.html
doc/html/functions.html
doc/html/functions_enum.html
doc/html/functions_eval.html
doc/html/functions_func.html
doc/html/functions_vars.html
doc/html/globals.html
doc/html/globals_type.html
doc/html/index.html
doc/html/license.html
doc/html/multi.html
doc/html/pages.html
doc/html/playback.html
doc/html/probe.html
doc/html/recording.html
doc/html/settings.html
doc/html/structRtAudio_1_1DeviceInfo-members.html
doc/html/structRtAudio_1_1DeviceInfo.html
doc/html/structRtAudio_1_1StreamOptions-members.html
doc/html/structRtAudio_1_1StreamOptions.html
doc/html/structRtAudio_1_1StreamParameters-members.html
doc/html/structRtAudio_1_1StreamParameters.html

index 936dc9045d7d66f0bfce91fbe3715c1d15ab27e9..ddff2b017f7afebb6fa8107a4cefc3a5bf5f0418 100755 (executable)
--- a/configure
+++ b/configure
@@ -3611,7 +3611,7 @@ fi
 echo "$as_me:$LINENO: result: $ac_cv_func_gettimeofday" >&5
 echo "${ECHO_T}$ac_cv_func_gettimeofday" >&6
 if test $ac_cv_func_gettimeofday = yes; then
-  cflags=$cflags" -DHAVE_GETTIMEOFDAY"
+  CFLAGS=$CFLAGS" -DHAVE_GETTIMEOFDAY"
 fi
 
 
@@ -3621,6 +3621,8 @@ if test $GXX = "yes" ; then
 
 fi
 
+CFLAGS="$CFLAGS $cflags"
+
 # Checks for package options and external software
 ac_aux_dir=
 for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
@@ -3711,7 +3713,7 @@ case $host in
 echo "${ECHO_T}using OSS" >&6
     audio_apis=-D__LINUX_OSS__
 
-    cflags=$cflags" -lossaudio"
+    CFLAGS=$CFLAGS" -lossaudio"
 
 echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5
 echo $ECHO_N "checking for pthread_create in -lpthread... $ECHO_C" >&6
@@ -3961,7 +3963,7 @@ echo "$as_me: error: Jack support also requires the asound library!" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
-    LIBS="`pkg-config --cflags --libs jack` $TEMP_LIBS -lasound"
+    LIBS="`pkg-config --CFLAGS --libs jack` $TEMP_LIBS -lasound"
     audio_apis="-D__UNIX_JACK__"
   fi
 
index 081a6e9d0745f5f687a25e3052e4efd3aa1f8d2d..956812cc6bc85b6d6e060b4850c252938aca2048 100644 (file)
@@ -12,7 +12,7 @@
 <h1>RtAudio.h</h1><a href="RtAudio_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/************************************************************************/</span>
 <a name="l00039"></a>00039 <span class="comment">/************************************************************************/</span>
 <a name="l00040"></a>00040 
-<a name="l00045"></a>00045 <span class="comment">// RtAudio: Version 4.0.3</span>
+<a name="l00045"></a>00045 <span class="comment">// RtAudio: Version 4.0.4</span>
 <a name="l00046"></a>00046 
 <a name="l00047"></a>00047 <span class="preprocessor">#ifndef __RTAUDIO_H</span>
 <a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#define __RTAUDIO_H</span>
 <a name="l00617"></a>00617 <span class="preprocessor">#endif</span>
 <a name="l00618"></a>00618 <span class="preprocessor"></span>
 <a name="l00619"></a>00619     RtApiStream()
-<a name="l00620"></a>00620       :apiHandle(0), deviceBuffer(0) {}
+<a name="l00620"></a>00620       :apiHandle(0), deviceBuffer(0) { device[0] = 11111; device[1] = 11111; }
 <a name="l00621"></a>00621   };
 <a name="l00622"></a>00622 
 <a name="l00623"></a>00623   <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> Int16;
 <a name="l00867"></a>00867 
 <a name="l00868"></a>00868   <span class="keyword">private</span>:
 <a name="l00869"></a>00869 
-<a name="l00870"></a>00870   <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels, 
-<a name="l00871"></a>00871                         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> firstChannel, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sampleRate,
-<a name="l00872"></a>00872                         <a class="code" href="RtAudio_8h.html#a1">RtAudioFormat</a> format, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *bufferSize,
-<a name="l00873"></a>00873                         <a class="code" href="structRtAudio_1_1StreamOptions.html">RtAudio::StreamOptions</a> *options );
-<a name="l00874"></a>00874 };
-<a name="l00875"></a>00875 
-<a name="l00876"></a>00876 <span class="preprocessor">#endif</span>
-<a name="l00877"></a>00877 <span class="preprocessor"></span>
-<a name="l00878"></a>00878 <span class="preprocessor">#if defined(__LINUX_OSS__)</span>
+<a name="l00870"></a>00870   std::vector&lt;RtAudio::DeviceInfo&gt; devices_;
+<a name="l00871"></a>00871   <span class="keywordtype">void</span> saveDeviceInfo( <span class="keywordtype">void</span> );
+<a name="l00872"></a>00872   <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels, 
+<a name="l00873"></a>00873                         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> firstChannel, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sampleRate,
+<a name="l00874"></a>00874                         <a class="code" href="RtAudio_8h.html#a1">RtAudioFormat</a> format, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *bufferSize,
+<a name="l00875"></a>00875                         <a class="code" href="structRtAudio_1_1StreamOptions.html">RtAudio::StreamOptions</a> *options );
+<a name="l00876"></a>00876 };
+<a name="l00877"></a>00877 
+<a name="l00878"></a>00878 <span class="preprocessor">#endif</span>
 <a name="l00879"></a>00879 <span class="preprocessor"></span>
-<a name="l00880"></a>00880 <span class="keyword">class </span>RtApiOss: <span class="keyword">public</span> RtApi
-<a name="l00881"></a>00881 {
-<a name="l00882"></a>00882 <span class="keyword">public</span>:
-<a name="l00883"></a>00883 
-<a name="l00884"></a>00884   RtApiOss();
-<a name="l00885"></a>00885   ~RtApiOss();
-<a name="l00886"></a>00886   <a class="code" href="classRtAudio.html#w8">RtAudio::Api</a> getCurrentApi() { <span class="keywordflow">return</span> <a class="code" href="classRtAudio.html#w8w2">RtAudio::LINUX_OSS</a>; };
-<a name="l00887"></a>00887   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> getDeviceCount( <span class="keywordtype">void</span> );
-<a name="l00888"></a>00888   <a class="code" href="structRtAudio_1_1DeviceInfo.html">RtAudio::DeviceInfo</a> getDeviceInfo( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> device );
-<a name="l00889"></a>00889   <span class="keywordtype">void</span> closeStream( <span class="keywordtype">void</span> );
-<a name="l00890"></a>00890   <span class="keywordtype">void</span> startStream( <span class="keywordtype">void</span> );
-<a name="l00891"></a>00891   <span class="keywordtype">void</span> stopStream( <span class="keywordtype">void</span> );
-<a name="l00892"></a>00892   <span class="keywordtype">void</span> abortStream( <span class="keywordtype">void</span> );
-<a name="l00893"></a>00893 
-<a name="l00894"></a>00894   <span class="comment">// This function is intended for internal use only.  It must be</span>
-<a name="l00895"></a>00895   <span class="comment">// public because it is called by the internal callback handler,</span>
-<a name="l00896"></a>00896   <span class="comment">// which is not a member of RtAudio.  External use of this function</span>
-<a name="l00897"></a>00897   <span class="comment">// will most likely produce highly undesireable results!</span>
-<a name="l00898"></a>00898   <span class="keywordtype">void</span> callbackEvent( <span class="keywordtype">void</span> );
-<a name="l00899"></a>00899 
-<a name="l00900"></a>00900   <span class="keyword">private</span>:
+<a name="l00880"></a>00880 <span class="preprocessor">#if defined(__LINUX_OSS__)</span>
+<a name="l00881"></a>00881 <span class="preprocessor"></span>
+<a name="l00882"></a>00882 <span class="keyword">class </span>RtApiOss: <span class="keyword">public</span> RtApi
+<a name="l00883"></a>00883 {
+<a name="l00884"></a>00884 <span class="keyword">public</span>:
+<a name="l00885"></a>00885 
+<a name="l00886"></a>00886   RtApiOss();
+<a name="l00887"></a>00887   ~RtApiOss();
+<a name="l00888"></a>00888   <a class="code" href="classRtAudio.html#w8">RtAudio::Api</a> getCurrentApi() { <span class="keywordflow">return</span> <a class="code" href="classRtAudio.html#w8w2">RtAudio::LINUX_OSS</a>; };
+<a name="l00889"></a>00889   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> getDeviceCount( <span class="keywordtype">void</span> );
+<a name="l00890"></a>00890   <a class="code" href="structRtAudio_1_1DeviceInfo.html">RtAudio::DeviceInfo</a> getDeviceInfo( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> device );
+<a name="l00891"></a>00891   <span class="keywordtype">void</span> closeStream( <span class="keywordtype">void</span> );
+<a name="l00892"></a>00892   <span class="keywordtype">void</span> startStream( <span class="keywordtype">void</span> );
+<a name="l00893"></a>00893   <span class="keywordtype">void</span> stopStream( <span class="keywordtype">void</span> );
+<a name="l00894"></a>00894   <span class="keywordtype">void</span> abortStream( <span class="keywordtype">void</span> );
+<a name="l00895"></a>00895 
+<a name="l00896"></a>00896   <span class="comment">// This function is intended for internal use only.  It must be</span>
+<a name="l00897"></a>00897   <span class="comment">// public because it is called by the internal callback handler,</span>
+<a name="l00898"></a>00898   <span class="comment">// which is not a member of RtAudio.  External use of this function</span>
+<a name="l00899"></a>00899   <span class="comment">// will most likely produce highly undesireable results!</span>
+<a name="l00900"></a>00900   <span class="keywordtype">void</span> callbackEvent( <span class="keywordtype">void</span> );
 <a name="l00901"></a>00901 
-<a name="l00902"></a>00902   <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels, 
-<a name="l00903"></a>00903                         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> firstChannel, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sampleRate,
-<a name="l00904"></a>00904                         <a class="code" href="RtAudio_8h.html#a1">RtAudioFormat</a> format, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *bufferSize,
-<a name="l00905"></a>00905                         <a class="code" href="structRtAudio_1_1StreamOptions.html">RtAudio::StreamOptions</a> *options );
-<a name="l00906"></a>00906 };
-<a name="l00907"></a>00907 
-<a name="l00908"></a>00908 <span class="preprocessor">#endif</span>
-<a name="l00909"></a>00909 <span class="preprocessor"></span>
-<a name="l00910"></a>00910 <span class="preprocessor">#if defined(__RTAUDIO_DUMMY__)</span>
+<a name="l00902"></a>00902   <span class="keyword">private</span>:
+<a name="l00903"></a>00903 
+<a name="l00904"></a>00904   <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels, 
+<a name="l00905"></a>00905                         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> firstChannel, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sampleRate,
+<a name="l00906"></a>00906                         <a class="code" href="RtAudio_8h.html#a1">RtAudioFormat</a> format, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *bufferSize,
+<a name="l00907"></a>00907                         <a class="code" href="structRtAudio_1_1StreamOptions.html">RtAudio::StreamOptions</a> *options );
+<a name="l00908"></a>00908 };
+<a name="l00909"></a>00909 
+<a name="l00910"></a>00910 <span class="preprocessor">#endif</span>
 <a name="l00911"></a>00911 <span class="preprocessor"></span>
-<a name="l00912"></a>00912 <span class="keyword">class </span>RtApiDummy: <span class="keyword">public</span> RtApi
-<a name="l00913"></a>00913 {
-<a name="l00914"></a>00914 <span class="keyword">public</span>:
-<a name="l00915"></a>00915 
-<a name="l00916"></a>00916   RtApiDummy() { errorText_ = <span class="stringliteral">"RtApiDummy: This class provides no functionality."</span>; error( <a class="code" href="classRtError.html#w11w0">RtError::WARNING</a> ); };
-<a name="l00917"></a>00917   <a class="code" href="classRtAudio.html#w8">RtAudio::Api</a> getCurrentApi( <span class="keywordtype">void</span> ) { <span class="keywordflow">return</span> <a class="code" href="classRtAudio.html#w8w7">RtAudio::RTAUDIO_DUMMY</a>; };
-<a name="l00918"></a>00918   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> getDeviceCount( <span class="keywordtype">void</span> ) { <span class="keywordflow">return</span> 0; };
-<a name="l00919"></a>00919   <a class="code" href="structRtAudio_1_1DeviceInfo.html">RtAudio::DeviceInfo</a> getDeviceInfo( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> device ) { <a class="code" href="structRtAudio_1_1DeviceInfo.html">RtAudio::DeviceInfo</a> info; <span class="keywordflow">return</span> info; };
-<a name="l00920"></a>00920   <span class="keywordtype">void</span> closeStream( <span class="keywordtype">void</span> ) {};
-<a name="l00921"></a>00921   <span class="keywordtype">void</span> startStream( <span class="keywordtype">void</span> ) {};
-<a name="l00922"></a>00922   <span class="keywordtype">void</span> stopStream( <span class="keywordtype">void</span> ) {};
-<a name="l00923"></a>00923   <span class="keywordtype">void</span> abortStream( <span class="keywordtype">void</span> ) {};
-<a name="l00924"></a>00924 
-<a name="l00925"></a>00925   <span class="keyword">private</span>:
+<a name="l00912"></a>00912 <span class="preprocessor">#if defined(__RTAUDIO_DUMMY__)</span>
+<a name="l00913"></a>00913 <span class="preprocessor"></span>
+<a name="l00914"></a>00914 <span class="keyword">class </span>RtApiDummy: <span class="keyword">public</span> RtApi
+<a name="l00915"></a>00915 {
+<a name="l00916"></a>00916 <span class="keyword">public</span>:
+<a name="l00917"></a>00917 
+<a name="l00918"></a>00918   RtApiDummy() { errorText_ = <span class="stringliteral">"RtApiDummy: This class provides no functionality."</span>; error( <a class="code" href="classRtError.html#w11w0">RtError::WARNING</a> ); };
+<a name="l00919"></a>00919   <a class="code" href="classRtAudio.html#w8">RtAudio::Api</a> getCurrentApi( <span class="keywordtype">void</span> ) { <span class="keywordflow">return</span> <a class="code" href="classRtAudio.html#w8w7">RtAudio::RTAUDIO_DUMMY</a>; };
+<a name="l00920"></a>00920   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> getDeviceCount( <span class="keywordtype">void</span> ) { <span class="keywordflow">return</span> 0; };
+<a name="l00921"></a>00921   <a class="code" href="structRtAudio_1_1DeviceInfo.html">RtAudio::DeviceInfo</a> getDeviceInfo( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> device ) { <a class="code" href="structRtAudio_1_1DeviceInfo.html">RtAudio::DeviceInfo</a> info; <span class="keywordflow">return</span> info; };
+<a name="l00922"></a>00922   <span class="keywordtype">void</span> closeStream( <span class="keywordtype">void</span> ) {};
+<a name="l00923"></a>00923   <span class="keywordtype">void</span> startStream( <span class="keywordtype">void</span> ) {};
+<a name="l00924"></a>00924   <span class="keywordtype">void</span> stopStream( <span class="keywordtype">void</span> ) {};
+<a name="l00925"></a>00925   <span class="keywordtype">void</span> abortStream( <span class="keywordtype">void</span> ) {};
 <a name="l00926"></a>00926 
-<a name="l00927"></a>00927   <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels, 
-<a name="l00928"></a>00928                         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> firstChannel, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sampleRate,
-<a name="l00929"></a>00929                         <a class="code" href="RtAudio_8h.html#a1">RtAudioFormat</a> format, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *bufferSize,
-<a name="l00930"></a>00930                         <a class="code" href="structRtAudio_1_1StreamOptions.html">RtAudio::StreamOptions</a> *options ) { <span class="keywordflow">return</span> <span class="keyword">false</span>; };
-<a name="l00931"></a>00931 };
-<a name="l00932"></a>00932 
-<a name="l00933"></a>00933 <span class="preprocessor">#endif</span>
-<a name="l00934"></a>00934 <span class="preprocessor"></span>
+<a name="l00927"></a>00927   <span class="keyword">private</span>:
+<a name="l00928"></a>00928 
+<a name="l00929"></a>00929   <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels, 
+<a name="l00930"></a>00930                         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> firstChannel, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sampleRate,
+<a name="l00931"></a>00931                         <a class="code" href="RtAudio_8h.html#a1">RtAudioFormat</a> format, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *bufferSize,
+<a name="l00932"></a>00932                         <a class="code" href="structRtAudio_1_1StreamOptions.html">RtAudio::StreamOptions</a> *options ) { <span class="keywordflow">return</span> <span class="keyword">false</span>; };
+<a name="l00933"></a>00933 };
+<a name="l00934"></a>00934 
 <a name="l00935"></a>00935 <span class="preprocessor">#endif</span>
 <a name="l00936"></a>00936 <span class="preprocessor"></span>
-<a name="l00937"></a>00937 <span class="comment">// Indentation settings for Vim and Emacs</span>
-<a name="l00938"></a>00938 <span class="comment">//</span>
-<a name="l00939"></a>00939 <span class="comment">// Local Variables:</span>
-<a name="l00940"></a>00940 <span class="comment">// c-basic-offset: 2</span>
-<a name="l00941"></a>00941 <span class="comment">// indent-tabs-mode: nil</span>
-<a name="l00942"></a>00942 <span class="comment">// End:</span>
-<a name="l00943"></a>00943 <span class="comment">//</span>
-<a name="l00944"></a>00944 <span class="comment">// vim: et sts=2 sw=2</span>
+<a name="l00937"></a>00937 <span class="preprocessor">#endif</span>
+<a name="l00938"></a>00938 <span class="preprocessor"></span>
+<a name="l00939"></a>00939 <span class="comment">// Indentation settings for Vim and Emacs</span>
+<a name="l00940"></a>00940 <span class="comment">//</span>
+<a name="l00941"></a>00941 <span class="comment">// Local Variables:</span>
+<a name="l00942"></a>00942 <span class="comment">// c-basic-offset: 2</span>
+<a name="l00943"></a>00943 <span class="comment">// indent-tabs-mode: nil</span>
+<a name="l00944"></a>00944 <span class="comment">// End:</span>
+<a name="l00945"></a>00945 <span class="comment">//</span>
+<a name="l00946"></a>00946 <span class="comment">// vim: et sts=2 sw=2</span>
 </pre></div><HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 8e35aee17350a01b867dd01de65109c8183fdc57..73f55846387a29647356f6a6d9cbcb492be5440f 100644 (file)
@@ -172,7 +172,7 @@ To continue normal stream operation, the RtAudioCallback function should return
 <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index aa1856922df1c0ad602ad2dcaade4fe16d6fa1d0..0c736c120852e4e8b5629d571d36334514a01351 100644 (file)
@@ -57,7 +57,7 @@
 </pre></div><HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 82ed11e66280488dde8168118da8e1831d3213df..395227a0e776705f8573e3e37d1dc07ef093e75c 100644 (file)
@@ -11,6 +11,8 @@
 <!-- Generated by Doxygen 1.4.4 -->
 <h1><a class="anchor" name="acknowledge">Acknowledgements</a></h1>Many thanks to the following people for providing bug fixes and improvements: <ul>
 <li>
+Anders Ervik </li>
+<li>
 Robin Davies (Windows DS and ASIO) </li>
 <li>
 Ryan Williams (Windows non-MS compiler ASIO support) </li>
@@ -24,7 +26,7 @@ The <a class="el" href="classRtAudio.html">RtAudio</a> API incorporates many of
 The early 2.0 version of <a class="el" href="classRtAudio.html">RtAudio</a> was slowly developed over the course of many months while in residence at the <a href="http://www.iua.upf.es/">Institut Universitari de L'Audiovisual (IUA)</a> in Barcelona, Spain and the <a href="http://www.acoustics.hut.fi/">Laboratory of Acoustics and Audio Signal Processing</a> at the Helsinki University of Technology, Finland. Much subsequent development happened while working at the <a href="http://www-ccrma.stanford.edu/">Center for Computer Research in Music and Acoustics (CCRMA)</a> at <a href="http://www.stanford.edu/">Stanford University</a>. All recent versions of <a class="el" href="classRtAudio.html">RtAudio</a> have been completed while working as an assistant professor of <a href="http://www.music.mcgill.ca/musictech/">Music Technology</a> at <a href="http://www.mcgill.ca/">McGill University</a>. This work was supported in part by the United States Air Force Office of Scientific Research (grant #F49620-99-1-0293). <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 5dc72ffbaa32198eb36d2215797e1bc39ff0433b..fe3b1e1b402a5a36d58ed2d5af405515aff6574a 100644 (file)
@@ -19,7 +19,7 @@
 <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 5692bfe8d82a1a435e7934b81a273740e0b705bf..2fb36d76fa95ed85be55e061a2197daaed1547cc 100644 (file)
@@ -30,7 +30,7 @@ A number of ASIO source and header files are required for use with <a class="el"
 The Steinberg provided <code>asiolist</code> class does not compile when the preprocessor definition UNICODE is defined. Note that this could be an issue when using <a class="el" href="classRtAudio.html">RtAudio</a> with Qt, though Qt programs appear to compile without the UNICODE definition (try <code>DEFINES -= UNICODE</code> in your .pro file). <a class="el" href="classRtAudio.html">RtAudio</a> with ASIO support has been tested using the MinGW compiler under Windows XP, as well as in the Visual Studio environment. <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 338a7811bd8f7b5c38351ab8efb879d7a68500b3..8e619b01684ce1248010e0f49360bdc918465652 100644 (file)
@@ -40,7 +40,7 @@
 </table><HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 4b2b2cd5379f89960be59cec7d7af75df8ab4357..eb09c52e4fd066169f510b2963104ebb85dfd155 100644 (file)
@@ -107,7 +107,7 @@ Realtime audio i/o C++ classes.
 <p>
 RtAudio provides a common API (Application Programming Interface) for realtime audio input/output across Linux (native ALSA, Jack, and OSS), SGI, Macintosh OS X (CoreAudio and Jack), and Windows (DirectSound and ASIO) operating systems.<p>
 RtAudio WWW site: <a href="http://www.music.mcgill.ca/~gary/rtaudio/">http://www.music.mcgill.ca/~gary/rtaudio/</a><p>
-RtAudio: realtime audio i/o C++ classes Copyright (c) 2001-2007 Gary P. Scavone<p>
+RtAudio: realtime audio i/o C++ classes Copyright (c) 2001-2008 Gary P. Scavone<p>
 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:<p>
 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.<p>
 Any person wishing to distribute modifications to the Software is asked to send the modifications to the original developer so that they can be incorporated into the canonical version. This is, however, not a binding provision of this license.<p>
@@ -644,7 +644,7 @@ The stream latency refers to delay in audio input and/or output caused by intern
 <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index a6ddae241456293561c389593f4bfd2b99f8fb72..08d6609d1505d4492970bd09b84b91dcea79d776 100644 (file)
@@ -31,7 +31,7 @@
 </table><HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index c68fa0a3a509fbff6ee6100cfa5b37b6de4e68e9..a542f908f907a2d7defaf7d3b4f27aedd71e2a01 100644 (file)
@@ -123,7 +123,7 @@ A thread error occured. </td></tr>
 <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index b83348fa67e8ad90a47bb0e854874bb825104dcf..8097f7b8629667debc0c403508161c5c094ecdf0 100644 (file)
@@ -35,7 +35,7 @@ In order to compile <a class="el" href="classRtAudio.html">RtAudio</a> for a spe
 The example compiler statements above could be used to compile the <code>audioprobe.cpp</code> example file, assuming that <code>audioprobe.cpp</code>, <code><a class="el" href="RtAudio_8h.html">RtAudio.h</a></code>, <code><a class="el" href="RtError_8h-source.html">RtError.h</a></code>, and <code>RtAudio.cpp</code> all exist in the same directory. <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 5ea8165a99ba2ccbe817d9206a0f3a4c12141731..8d377349cc521253cfb9956ae79c3f5bd4284eac 100644 (file)
@@ -77,7 +77,7 @@ In this example, audio recorded by the stream input will be played out during th
 Note that a duplex stream can make use of two different devices (except when using the Linux Jack and Windows ASIO APIs). However, this may cause timing problems due to possible device clock variations, unless a common external "sync" is provided. <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index d0f776a6c4792b9f26b227dc0254688c10fdc446..98c5fcca8f6e5e627fe8e63a069f879c73d8bab8 100644 (file)
@@ -12,7 +12,7 @@
 <h1><a class="anchor" name="errors">Error Handling</a></h1><a class="el" href="classRtAudio.html">RtAudio</a> makes restrained use of C++ exceptions. That is, exceptions are thrown only when system errors occur that prevent further class operation or when the user makes invalid function calls. In other cases, a warning message may be displayed and an appropriate value is returned. For example, if a system error occurs when processing the <a class="el" href="classRtAudio.html#a3">RtAudio::getDeviceCount()</a> function, the return value is zero. In such a case, the user cannot expect to make use of most other <a class="el" href="classRtAudio.html">RtAudio</a> functions because no devices are available (and thus a stream cannot be opened). A client can call the function <a class="el" href="classRtAudio.html#a16">RtAudio::showWarnings()</a> with a boolean argument to enable or disable the printing of warning messages to <code>stderr</code>. By default, warning messages are displayed. There is a protected <a class="el" href="classRtAudio.html">RtAudio</a> method, error(), that can be modified to globally control how these messages are handled and reported. <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index c00be9f52d5edfe84dc666a4756c2c00c9ed744e..988b8849f94a846fbe4e52c1aba727a2a91525b0 100644 (file)
@@ -16,7 +16,7 @@
 <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 67a62faa9995fb68dd40923e7892f214de9f63a7..b1196a09ecaa551be9bc9d26a51e65bc5ab732ac 100644 (file)
@@ -111,7 +111,7 @@ Here is a list of all documented class members with links to the class documenta
 <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 39b0cbfbbbc69b7e0fb09cc63aa0c2d491e09cfa..a70132cfd26db269c9e9f28672e1e58a841f26f8 100644 (file)
@@ -19,7 +19,7 @@
 <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 6830de5fc05a487c651c5616435bca225bfaa46d..d0ffb4e545636ca2c69a6bc16894f8f61490a626 100644 (file)
@@ -35,7 +35,7 @@
 <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 23922913175e9468fdc5554f048d7826dde353d4..1fdd9be89457d2ac183df1e6ad635d9436234ebc 100644 (file)
@@ -41,7 +41,7 @@
 <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 2a1821967a9d5182b9e800bfe95dbaa7c5fa4060..e0ab54f6cc004d65507e32b1f0048cb121e4ec45 100644 (file)
@@ -32,7 +32,7 @@
 <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index a63f84df8c051503019606468f3146a373e97e93..f07105056e8a28bd624652d0c243c1312bcce0f3 100644 (file)
@@ -21,7 +21,7 @@ Here is a list of all documented file members with links to the documentation:
 <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index c2595f93b0df9671fcf029d3fd9f19994ba70af3..f97bf9dd38d24ab18fcc0c965a5cab44d264d42e 100644 (file)
@@ -21,7 +21,7 @@
 <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index b8207650b86ce73e73372be5f8c8920644d7e6ce..36ae05d78eca5aab490f9ff4e7c23ab4f366f1e0 100644 (file)
@@ -11,7 +11,7 @@
 <!-- Generated by Doxygen 1.4.4 -->
 <h1>The <a class="el" href="classRtAudio.html">RtAudio</a> Home Page </h1>
 <p>
-<h3 align="center">4.0.3 </h3><a class="el" href="classRtAudio.html">RtAudio</a> is a set of C++ classes that provide a common API (Application Programming Interface) for realtime audio input/output across Linux, Macintosh OS-X and Windows (DirectSound and ASIO) operating systems. <a class="el" href="classRtAudio.html">RtAudio</a> significantly simplifies the process of interacting with computer audio hardware. It was designed with the following objectives:<p>
+<h3 align="center">4.0.4 </h3><a class="el" href="classRtAudio.html">RtAudio</a> is a set of C++ classes that provide a common API (Application Programming Interface) for realtime audio input/output across Linux, Macintosh OS-X and Windows (DirectSound and ASIO) operating systems. <a class="el" href="classRtAudio.html">RtAudio</a> significantly simplifies the process of interacting with computer audio hardware. It was designed with the following objectives:<p>
 <ul>
 <li>
 object-oriented C++ design </li>
@@ -38,14 +38,14 @@ What's New (Version 4.0)</a></h2>
 <p>
 Devices are now re-enumerated every time the <a class="el" href="classRtAudio.html#a3">RtAudio::getDeviceCount()</a>, <a class="el" href="classRtAudio.html#a4">RtAudio::getDeviceInfo()</a>, and <a class="el" href="classRtAudio.html#a7">RtAudio::openStream()</a> functions are called. This allows for the proper identification of hot-pluggable (USB, Firewire, ...) devices that are connected after an <a class="el" href="classRtAudio.html">RtAudio</a> instance is created.<h2><a class="anchor" name="download">
 Download</a></h2>
-Latest Release (7 December 2007): <a href="http://music.mcgill.ca/~gary/rtaudio/release/rtaudio-4.0.3.tar.gz">Version 4.0.3</a><h2><a class="anchor" name="documentation">
+Latest Release (24 January 2008): <a href="http://music.mcgill.ca/~gary/rtaudio/release/rtaudio-4.0.4.tar.gz">Version 4.0.4</a><h2><a class="anchor" name="documentation">
 Documentation Links</a></h2>
 <ol type=1>
 <li><a class="el" href="errors.html">Error Handling</a></li><li><a class="el" href="probe.html">Probing Device Capabilities</a></li><li><a class="el" href="settings.html">Device Settings</a></li><li><a class="el" href="playback.html">Playback</a></li><li><a class="el" href="recording.html">Recording</a></li><li><a class="el" href="duplex.html">Duplex Mode</a></li><li><a class="el" href="multi.html">Using Simultaneous Multiple APIs</a></li><li><a class="el" href="compiling.html">Debugging &amp; Compiling</a></li><li><a class="el" href="apinotes.html">API Notes</a></li><li><a class="el" href="acknowledge.html">Acknowledgements</a></li><li><a class="el" href="license.html">License</a></li><li><a href="bugs.html">Bug Tracker</a></li><li><a href="updates.html">Possible Updates</a></li><li><a href="http://sourceforge.net/projects/rtaudio">RtAudio at SourceForge</a> </li></ol>
 <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 82bc787b7dfcbcb786cc88242ae160abcad50790..177bcbef944b984d87fe2c53d1c7f524b34dc994 100644 (file)
@@ -17,7 +17,7 @@ Any person wishing to distribute modifications to the Software is asked to send
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 371aa8ad6e51bd3845d7d52d41d2fd4672a0c273..2d88b64284d0080e84aeafef25893529dda915c1 100644 (file)
@@ -13,7 +13,7 @@
 The static function <a class="el" href="classRtAudio.html#e0">RtAudio::getCompiledApi()</a> is provided to determine the available compiled API support. The function <a class="el" href="classRtAudio.html#a2">RtAudio::getCurrentApi()</a> indicates the API selected for a given <a class="el" href="classRtAudio.html">RtAudio</a> instance. <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 3f9ce29537837f971b3dee99fe7a7e108a9e577f..2d2f35f5e41cc0d559fb9b58082b2e3d5c1d6e8c 100644 (file)
@@ -36,7 +36,7 @@
 <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 9a7e918755809cdb3d22654e35afece5cbe3d05a..0d6f2a0ec3b38687cb5cd3858127bdc28009ab9d 100644 (file)
@@ -84,7 +84,7 @@ We open the stream in exactly the same way as the previous example (except with
 In this example, we stop the stream with an explicit call to <a class="el" href="classRtAudio.html#a10">RtAudio::stopStream()</a>. It is also possible to stop a stream by returning a non-zero value from the callback function. A return value of 1 will cause the stream to finish draining its internal buffers and then halt (equivalent to calling the <a class="el" href="classRtAudio.html#a10">RtAudio::stopStream()</a> function). A return value of 2 will cause the stream to stop immediately (equivalent to calling the <a class="el" href="classRtAudio.html#a11">RtAudio::abortStream()</a> function). <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index a8d6befb09abbb46a8556e52f1088acc38f4fab9..52ba57092646fca2fb56090562d9b9e761878582 100644 (file)
 </pre></div><p>
 The <a class="el" href="structRtAudio_1_1DeviceInfo.html">RtAudio::DeviceInfo</a> structure is defined in <a class="el" href="RtAudio_8h.html">RtAudio.h</a> and provides a variety of information useful in assessing the capabilities of a device:<p>
 <div class="fragment"><pre class="fragment">  <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structRtAudio_1_1DeviceInfo.html">RtAudio::DeviceInfo</a> {
-    <span class="keywordtype">bool</span> probed;                  <span class="comment">// true if the device capabilities were successfully probed.</span>
-    std::string name;             <span class="comment">// Character string device identifier.</span>
-    <span class="keywordtype">int</span> outputChannels;           <span class="comment">// Maximum output channels supported by device.</span>
-    <span class="keywordtype">int</span> inputChannels;            <span class="comment">// Maximum input channels supported by device.</span>
-    <span class="keywordtype">int</span> duplexChannels;           <span class="comment">// Maximum simultaneous input/output channels supported by device.</span>
-    <span class="keywordtype">bool</span> isDefaultOutput;         <span class="comment">// true if this is the default output device.</span>
-    <span class="keywordtype">bool</span> isDefaultInput;          <span class="comment">// true if this is the default input device.</span>
-    std::vector&lt;int&gt; sampleRates; <span class="comment">// Supported sample rates.</span>
-    <a class="code" href="RtAudio_8h.html#a1">RtAudioFormat</a> nativeFormats;  <span class="comment">// Bit mask of supported data formats.</span>
+    <span class="keywordtype">bool</span> probed;                           <span class="comment">// true if the device capabilities were successfully probed.</span>
+    std::string name;                      <span class="comment">// Character string device identifier.</span>
+    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> outputChannels;           <span class="comment">// Maximum output channels supported by device.</span>
+    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> inputChannels;            <span class="comment">// Maximum input channels supported by device.</span>
+    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> duplexChannels;           <span class="comment">// Maximum simultaneous input/output channels supported by device.</span>
+    <span class="keywordtype">bool</span> isDefaultOutput;                  <span class="comment">// true if this is the default output device.</span>
+    <span class="keywordtype">bool</span> isDefaultInput;                   <span class="comment">// true if this is the default input device.</span>
+    std::vector&lt;unsigned int&gt; sampleRates; <span class="comment">// Supported sample rates.</span>
+    <a class="code" href="RtAudio_8h.html#a1">RtAudioFormat</a> nativeFormats;           <span class="comment">// Bit mask of supported data formats.</span>
   };
 </pre></div><p>
 The following data formats are defined and fully supported by <a class="el" href="classRtAudio.html">RtAudio</a>:<p>
@@ -65,7 +65,7 @@ Some audio devices may require a minimum channel value greater than one. <a clas
 It should be noted that the capabilities reported by a device driver or underlying audio API are not always accurate and/or may be dependent on a combination of device settings. For this reason, <a class="el" href="classRtAudio.html">RtAudio</a> does not rely on the queried values when attempting to open a stream. <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 47c01786f578bedac76820774b147c383afa694e..f462aa523c4284b02f27937e4db62a1d169bc61b 100644 (file)
@@ -69,7 +69,7 @@
 In this example, we pass the address of the stream parameter structure as the second argument of the <a class="el" href="classRtAudio.html#a7">RtAudio::openStream()</a> function and pass a NULL value for the output stream parameters. In this example, the <em>record()</em> callback function performs no specific operations. <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index a95ad8d9d78e70212635e58901d858cfb43b2e7e..958363bdc6416acdc60f776ebb65e822daba08f7 100644 (file)
@@ -46,7 +46,7 @@ The RtAudioCallback parameter above is a pointer to a user-defined function that
 Several stream options are available to fine-tune the behavior of an audio stream. In the example above, we specify that data will be written by the user in a <em>non-interleaved</em> format via the <a class="el" href="structRtAudio_1_1StreamOptions.html">RtAudio::StreamOptions</a> member <code>flags</code>. That is, all <code>bufferFrames</code> of the first channel should be written consecutively, followed by all <code>bufferFrames</code> of the second channel. By default (when no option is specified), <a class="el" href="classRtAudio.html">RtAudio</a> expects data to be written in an <em>interleaved</em> format. <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index a8651f253bd60109a7b217643d2183b4bb36a3e5..c4ee109ccf4a07b0d445ea6b5cc192d97f1c31ab 100644 (file)
@@ -22,7 +22,7 @@
 </table><HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 9b795f1c44c48a938ae08f8e407d347b4d7c91ce..c1f0796c88a5070797880769fd90e1d6e942c6d9 100644 (file)
@@ -254,7 +254,7 @@ Bit mask of supported data formats.     </td>
 <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 109162ae62ba660b255402032a1cea1448c2d3b1..c71774dfc4184c9186d4718fc07cd7a776b64bff 100644 (file)
@@ -16,7 +16,7 @@
 </table><HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 244cc66f8fe56186ebf22d5aab5d2207d689509b..6d3577a29af41503da1f54e6899b9959ae87c5c5 100644 (file)
@@ -114,7 +114,7 @@ A stream name (currently used only in Jack).     </td>
 <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 638b8badab94ea9e5efde6edd13b868d681aa802..3dd3ca70234f5d8f4e5783a08aceb4e2267447fc 100644 (file)
@@ -16,7 +16,7 @@
 </table><HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>
index 05ebd0e182429f19135babf35cd5f8af8efc5c6a..b147fc6b78f1182758fb4beb08c12dda668b58da 100644 (file)
@@ -104,7 +104,7 @@ First channel index on device (default = 0).     </td>
 <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2007 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
 
 </BODY>