<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.3.1"/> <title>PortAudio: portaudio.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">PortAudio  <span id="projectnumber">2.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.3.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">portaudio.h</div> </div> </div><!--header--> <div class="contents"> <a href="portaudio_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef PORTAUDIO_H</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define PORTAUDIO_H</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span><span class="comment">/*</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * $Id: portaudio.h 1859 2012-09-01 00:10:13Z philburk $</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * PortAudio Portable Real-Time Audio Library</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * PortAudio API Header File</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * Latest version available at: http://www.portaudio.com/</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> *</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * Copyright (c) 1999-2002 Ross Bencina and Phil Burk</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * a copy of this software and associated documentation files</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * (the "Software"), to deal in the Software without restriction,</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * including without limitation the rights to use, copy, modify, merge,</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * publish, distribute, sublicense, and/or sell copies of the Software,</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * and to permit persons to whom the Software is furnished to do so,</span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * subject to the following conditions:</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> *</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * The above copyright notice and this permission notice shall be</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * included in all copies or substantial portions of the Software.</span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> *</span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.</span></div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR</span></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span></div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span></div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span></div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> */</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/*</span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * The text above constitutes the entire PortAudio license; however, </span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * the PortAudio community also makes the following non-binding requests:</span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> *</span></div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * Any person wishing to distribute modifications to the Software is</span></div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * requested to send the modifications to the original developer so that</span></div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> * they can be incorporated into the canonical version. It is also </span></div> <div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * requested that these non-binding requests be included along with the </span></div> <div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * license above.</span></div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> */</span></div> <div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div> <div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#ifdef __cplusplus</span></div> <div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span></div> <div class="line"><a name="l00050"></a><span class="lineno"> 50</span> {</div> <div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#endif </span><span class="comment">/* __cplusplus */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  </div> <div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">int</span> <a class="code" href="portaudio_8h.html#a66da08bcf908e0849c62a6b47f50d7b4">Pa_GetVersion</a>( <span class="keywordtype">void</span> );</div> <div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div> <div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div> <div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="portaudio_8h.html#a28f3fd9e6d9f933cc695abea71c4b445">Pa_GetVersionText</a>( <span class="keywordtype">void</span> );</div> <div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div> <div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div> <div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="portaudio_8h.html#a4949e4a8ef9f9dbe8cbee414ce69841d"> 70</a></span> <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="portaudio_8h.html#a4949e4a8ef9f9dbe8cbee414ce69841d">PaError</a>;</div> <div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">typedef</span> <span class="keyword">enum</span> PaErrorCode</div> <div class="line"><a name="l00072"></a><span class="lineno"> 72</span> {</div> <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  paNoError = 0,</div> <div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div> <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  paNotInitialized = -10000,</div> <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  paUnanticipatedHostError,</div> <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  paInvalidChannelCount,</div> <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  paInvalidSampleRate,</div> <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  paInvalidDevice,</div> <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  paInvalidFlag,</div> <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  paSampleFormatNotSupported,</div> <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  paBadIODeviceCombination,</div> <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  paInsufficientMemory,</div> <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  paBufferTooBig,</div> <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  paBufferTooSmall,</div> <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  paNullCallback,</div> <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  paBadStreamPtr,</div> <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  paTimedOut,</div> <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  paInternalError,</div> <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  paDeviceUnavailable,</div> <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  paIncompatibleHostApiSpecificStreamInfo,</div> <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  paStreamIsStopped,</div> <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  paStreamIsNotStopped,</div> <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  paInputOverflowed,</div> <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  paOutputUnderflowed,</div> <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  paHostApiNotFound,</div> <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  paInvalidHostApi,</div> <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  paCanNotReadFromACallbackStream,</div> <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  paCanNotWriteToACallbackStream,</div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  paCanNotReadFromAnOutputOnlyStream,</div> <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  paCanNotWriteToAnInputOnlyStream,</div> <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  paIncompatibleStreamHostApi,</div> <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  paBadBufferPtr</div> <div class="line"><a name="l00104"></a><span class="lineno"> 104</span> } PaErrorCode;</div> <div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div> <div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div> <div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="portaudio_8h.html#ae606855a611cf29c7d2d7421df5e3b5d">Pa_GetErrorText</a>( PaError errorCode );</div> <div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div> <div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div> <div class="line"><a name="l00132"></a><span class="lineno"> 132</span> PaError <a class="code" href="portaudio_8h.html#abed859482d156622d9332dff9b2d89da">Pa_Initialize</a>( <span class="keywordtype">void</span> );</div> <div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div> <div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div> <div class="line"><a name="l00151"></a><span class="lineno"> 151</span> PaError <a class="code" href="portaudio_8h.html#a0db317604e916e8bd6098e60e6237221">Pa_Terminate</a>( <span class="keywordtype">void</span> );</div> <div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div> <div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div> <div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div> <div class="line"><a name="l00161"></a><span class="lineno"><a class="code" href="portaudio_8h.html#ad79317e65bde63d76c4b8e711ac5a361"> 161</a></span> <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="portaudio_8h.html#ad79317e65bde63d76c4b8e711ac5a361">PaDeviceIndex</a>;</div> <div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div> <div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div> <div class="line"><a name="l00169"></a><span class="lineno"><a class="code" href="portaudio_8h.html#a8c26dd5e6f28bb4cda7a1f5460282297"> 169</a></span> <span class="preprocessor">#define paNoDevice ((PaDeviceIndex)-1)</span></div> <div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div> <div class="line"><a name="l00177"></a><span class="lineno"><a class="code" href="portaudio_8h.html#a14795fe3377c3b037025a61e550d44b5"> 177</a></span> <span class="preprocessor">#define paUseHostApiSpecificDeviceSpecification ((PaDeviceIndex)-2)</span></div> <div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div> <div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment">/* Host API enumeration mechanism */</span></div> <div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div> <div class="line"><a name="l00187"></a><span class="lineno"><a class="code" href="portaudio_8h.html#aeef6da084c57c70aa94be97411e19930"> 187</a></span> <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="portaudio_8h.html#aeef6da084c57c70aa94be97411e19930">PaHostApiIndex</a>;</div> <div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div> <div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div> <div class="line"><a name="l00199"></a><span class="lineno"> 199</span> PaHostApiIndex <a class="code" href="portaudio_8h.html#a19dbdb7c8702e3f4bfc0cdb99dac3dd9">Pa_GetHostApiCount</a>( <span class="keywordtype">void</span> );</div> <div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div> <div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div> <div class="line"><a name="l00210"></a><span class="lineno"> 210</span> PaHostApiIndex <a class="code" href="portaudio_8h.html#ae55c77f9b7e3f8eb301a6f1c0e2347ac">Pa_GetDefaultHostApi</a>( <span class="keywordtype">void</span> );</div> <div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div> <div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div> <div class="line"><a name="l00224"></a><span class="lineno"><a class="code" href="portaudio_8h.html#a8eaebe3d39c5ea45598da8f86dc2e5ae"> 224</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="portaudio_8h.html#a8eaebe3d39c5ea45598da8f86dc2e5ae">PaHostApiTypeId</a></div> <div class="line"><a name="l00225"></a><span class="lineno"> 225</span> {</div> <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  paInDevelopment=0, <span class="comment">/* use while developing support for a new host API */</span></div> <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  paDirectSound=1,</div> <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  paMME=2,</div> <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  paASIO=3,</div> <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  paSoundManager=4,</div> <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  paCoreAudio=5,</div> <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  paOSS=7,</div> <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  paALSA=8,</div> <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  paAL=9,</div> <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  paBeOS=10,</div> <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  paWDMKS=11,</div> <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  paJACK=12,</div> <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  paWASAPI=13,</div> <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  paAudioScienceHPI=14</div> <div class="line"><a name="l00240"></a><span class="lineno"> 240</span> } <a class="code" href="portaudio_8h.html#a8eaebe3d39c5ea45598da8f86dc2e5ae">PaHostApiTypeId</a>;</div> <div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div> <div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div> <div class="line"><a name="l00245"></a><span class="lineno"><a class="code" href="structPaHostApiInfo.html"> 245</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structPaHostApiInfo.html">PaHostApiInfo</a></div> <div class="line"><a name="l00246"></a><span class="lineno"> 246</span> {</div> <div class="line"><a name="l00248"></a><span class="lineno"><a class="code" href="structPaHostApiInfo.html#a1f3a8c465488e7af8024237256d80c14"> 248</a></span>  <span class="keywordtype">int</span> <a class="code" href="structPaHostApiInfo.html#a1f3a8c465488e7af8024237256d80c14">structVersion</a>;</div> <div class="line"><a name="l00250"></a><span class="lineno"><a class="code" href="structPaHostApiInfo.html#a5424bfcdf9f73b17cddc89e827a45d3f"> 250</a></span>  <a class="code" href="portaudio_8h.html#a8eaebe3d39c5ea45598da8f86dc2e5ae">PaHostApiTypeId</a> <a class="code" href="structPaHostApiInfo.html#a5424bfcdf9f73b17cddc89e827a45d3f">type</a>;</div> <div class="line"><a name="l00252"></a><span class="lineno"><a class="code" href="structPaHostApiInfo.html#a78afe5d557543c82cd9773229e25a8ec"> 252</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structPaHostApiInfo.html#a78afe5d557543c82cd9773229e25a8ec">name</a>;</div> <div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div> <div class="line"><a name="l00259"></a><span class="lineno"><a class="code" href="structPaHostApiInfo.html#a44e3adfaba0117a6780e2493468c96b1"> 259</a></span>  <span class="keywordtype">int</span> <a class="code" href="structPaHostApiInfo.html#a44e3adfaba0117a6780e2493468c96b1">deviceCount</a>;</div> <div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div> <div class="line"><a name="l00265"></a><span class="lineno"><a class="code" href="structPaHostApiInfo.html#a85a62057c3479d3efaa477d8562cf21d"> 265</a></span>  PaDeviceIndex <a class="code" href="structPaHostApiInfo.html#a85a62057c3479d3efaa477d8562cf21d">defaultInputDevice</a>;</div> <div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div> <div class="line"><a name="l00271"></a><span class="lineno"><a class="code" href="structPaHostApiInfo.html#a62632690b5f7906d3c9bfdab91e7f4b2"> 271</a></span>  PaDeviceIndex <a class="code" href="structPaHostApiInfo.html#a62632690b5f7906d3c9bfdab91e7f4b2">defaultOutputDevice</a>;</div> <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  </div> <div class="line"><a name="l00273"></a><span class="lineno"> 273</span> } <a class="code" href="portaudio_8h.html#a59bc8800f4c058add2e9a4de6f263352">PaHostApiInfo</a>;</div> <div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div> <div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div> <div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keyword">const</span> <a class="code" href="structPaHostApiInfo.html">PaHostApiInfo</a> * <a class="code" href="portaudio_8h.html#a7c650aede88ea553066bab9bbe97ea90">Pa_GetHostApiInfo</a>( PaHostApiIndex hostApi );</div> <div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div> <div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div> <div class="line"><a name="l00307"></a><span class="lineno"> 307</span> PaHostApiIndex <a class="code" href="portaudio_8h.html#a081c3975126d20b4226facfb7ba0620f">Pa_HostApiTypeIdToHostApiIndex</a>( <a class="code" href="portaudio_8h.html#a8eaebe3d39c5ea45598da8f86dc2e5ae">PaHostApiTypeId</a> type );</div> <div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div> <div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div> <div class="line"><a name="l00331"></a><span class="lineno"> 331</span> PaDeviceIndex <a class="code" href="portaudio_8h.html#a54f306b5e5258323c95a27c5722258cd">Pa_HostApiDeviceIndexToDeviceIndex</a>( PaHostApiIndex hostApi,</div> <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordtype">int</span> hostApiDeviceIndex );</div> <div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div> <div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div> <div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div> <div class="line"><a name="l00338"></a><span class="lineno"><a class="code" href="structPaHostErrorInfo.html"> 338</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structPaHostErrorInfo.html">PaHostErrorInfo</a>{</div> <div class="line"><a name="l00339"></a><span class="lineno"><a class="code" href="structPaHostErrorInfo.html#aeadfc0e22fee75e94541876d6d7a91f7"> 339</a></span>  <a class="code" href="portaudio_8h.html#a8eaebe3d39c5ea45598da8f86dc2e5ae">PaHostApiTypeId</a> <a class="code" href="structPaHostErrorInfo.html#aeadfc0e22fee75e94541876d6d7a91f7">hostApiType</a>; </div> <div class="line"><a name="l00340"></a><span class="lineno"><a class="code" href="structPaHostErrorInfo.html#a2ab15f358cd7f0a5e8f3d54e161a2fec"> 340</a></span>  <span class="keywordtype">long</span> <a class="code" href="structPaHostErrorInfo.html#a2ab15f358cd7f0a5e8f3d54e161a2fec">errorCode</a>; </div> <div class="line"><a name="l00341"></a><span class="lineno"><a class="code" href="structPaHostErrorInfo.html#aa40a7ed0c73b85b39563d80f7877876c"> 341</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structPaHostErrorInfo.html#aa40a7ed0c73b85b39563d80f7877876c">errorText</a>; </div> <div class="line"><a name="l00342"></a><span class="lineno"> 342</span> }<a class="code" href="portaudio_8h.html#aae5f7523aa88f6e1ab05230103bd3560">PaHostErrorInfo</a>;</div> <div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div> <div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div> <div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keyword">const</span> <a class="code" href="structPaHostErrorInfo.html">PaHostErrorInfo</a>* <a class="code" href="portaudio_8h.html#aad573f208b60577f21d2777a7c5054e0">Pa_GetLastHostErrorInfo</a>( <span class="keywordtype">void</span> );</div> <div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div> <div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div> <div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div> <div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment">/* Device enumeration and capabilities */</span></div> <div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div> <div class="line"><a name="l00371"></a><span class="lineno"> 371</span> PaDeviceIndex <a class="code" href="portaudio_8h.html#acfe4d3c5ec1a343f459981bfa2057f8d">Pa_GetDeviceCount</a>( <span class="keywordtype">void</span> );</div> <div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div> <div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div> <div class="line"><a name="l00380"></a><span class="lineno"> 380</span> PaDeviceIndex <a class="code" href="portaudio_8h.html#abf9f2f82da95553d5adb929af670f74b">Pa_GetDefaultInputDevice</a>( <span class="keywordtype">void</span> );</div> <div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div> <div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div> <div class="line"><a name="l00398"></a><span class="lineno"> 398</span> PaDeviceIndex <a class="code" href="portaudio_8h.html#adc955dfab007624000695c48d4f876dc">Pa_GetDefaultOutputDevice</a>( <span class="keywordtype">void</span> );</div> <div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div> <div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div> <div class="line"><a name="l00409"></a><span class="lineno"><a class="code" href="portaudio_8h.html#af17a7e6d0471a23071acf8dbd7bbe4bd"> 409</a></span> <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="portaudio_8h.html#af17a7e6d0471a23071acf8dbd7bbe4bd">PaTime</a>;</div> <div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div> <div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div> <div class="line"><a name="l00433"></a><span class="lineno"><a class="code" href="portaudio_8h.html#a4582d93c2c2e60e12be3d74c5fe00b96"> 433</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="portaudio_8h.html#a4582d93c2c2e60e12be3d74c5fe00b96">PaSampleFormat</a>;</div> <div class="line"><a name="l00434"></a><span class="lineno"> 434</span> </div> <div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div> <div class="line"><a name="l00436"></a><span class="lineno"><a class="code" href="portaudio_8h.html#a2f16d29916725b8791eae60ab9e0b081"> 436</a></span> <span class="preprocessor">#define paFloat32 ((PaSampleFormat) 0x00000001) </span></div> <div class="line"><a name="l00437"></a><span class="lineno"><a class="code" href="portaudio_8h.html#a6fea69f3d81b628288325c06310b2fcf"> 437</a></span> <span class="preprocessor">#define paInt32 ((PaSampleFormat) 0x00000002) </span></div> <div class="line"><a name="l00438"></a><span class="lineno"><a class="code" href="portaudio_8h.html#a7f891a0bd9e94a94a8f446c176b749e7"> 438</a></span> <span class="preprocessor">#define paInt24 ((PaSampleFormat) 0x00000004) </span></div> <div class="line"><a name="l00439"></a><span class="lineno"><a class="code" href="portaudio_8h.html#ab284f8e0a161d78ede863aec45461dbd"> 439</a></span> <span class="preprocessor">#define paInt16 ((PaSampleFormat) 0x00000008) </span></div> <div class="line"><a name="l00440"></a><span class="lineno"><a class="code" href="portaudio_8h.html#a058ecfb48ac9f0efad7a7b0d446efe3e"> 440</a></span> <span class="preprocessor">#define paInt8 ((PaSampleFormat) 0x00000010) </span></div> <div class="line"><a name="l00441"></a><span class="lineno"><a class="code" href="portaudio_8h.html#ad826044e4ffe7b16bf990803ab77df37"> 441</a></span> <span class="preprocessor">#define paUInt8 ((PaSampleFormat) 0x00000020) </span></div> <div class="line"><a name="l00442"></a><span class="lineno"><a class="code" href="portaudio_8h.html#aba595f6b645c8134a8ac3004957b9ff7"> 442</a></span> <span class="preprocessor">#define paCustomFormat ((PaSampleFormat) 0x00010000) </span></div> <div class="line"><a name="l00444"></a><span class="lineno"><a class="code" href="portaudio_8h.html#a1d79f0b88812cef5364b276dbbc898b5"> 444</a></span> <span class="preprocessor">#define paNonInterleaved ((PaSampleFormat) 0x80000000) </span></div> <div class="line"><a name="l00449"></a><span class="lineno"><a class="code" href="structPaDeviceInfo.html"> 449</a></span> <span class="preprocessor">typedef struct PaDeviceInfo</span></div> <div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="preprocessor"></span>{</div> <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordtype">int</span> structVersion; <span class="comment">/* this is struct version 2 */</span></div> <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *name;</div> <div class="line"><a name="l00453"></a><span class="lineno"><a class="code" href="structPaDeviceInfo.html#afe741e4d185069577f7e74b78fdef5a4"> 453</a></span>  PaHostApiIndex <a class="code" href="structPaDeviceInfo.html#afe741e4d185069577f7e74b78fdef5a4">hostApi</a>; </div> <div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordtype">int</span> maxInputChannels;</div> <div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <span class="keywordtype">int</span> maxOutputChannels;</div> <div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div> <div class="line"><a name="l00459"></a><span class="lineno"><a class="code" href="structPaDeviceInfo.html#aad6629064b8c7cf043d237ea0a5cc534"> 459</a></span>  PaTime <a class="code" href="structPaDeviceInfo.html#aad6629064b8c7cf043d237ea0a5cc534">defaultLowInputLatency</a>;</div> <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  PaTime defaultLowOutputLatency;</div> <div class="line"><a name="l00462"></a><span class="lineno"><a class="code" href="structPaDeviceInfo.html#a4214826038fcaf374beb9816024e6c9f"> 462</a></span>  PaTime <a class="code" href="structPaDeviceInfo.html#a4214826038fcaf374beb9816024e6c9f">defaultHighInputLatency</a>;</div> <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  PaTime defaultHighOutputLatency;</div> <div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div> <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keywordtype">double</span> defaultSampleRate;</div> <div class="line"><a name="l00466"></a><span class="lineno"> 466</span> } <a class="code" href="portaudio_8h.html#a84166d5f748e192341b71cf1b05d28b3">PaDeviceInfo</a>;</div> <div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div> <div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div> <div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keyword">const</span> <a class="code" href="structPaDeviceInfo.html">PaDeviceInfo</a>* <a class="code" href="portaudio_8h.html#ac7d8e091ffc1d1d4a035704660e117eb">Pa_GetDeviceInfo</a>( PaDeviceIndex device );</div> <div class="line"><a name="l00483"></a><span class="lineno"> 483</span> </div> <div class="line"><a name="l00484"></a><span class="lineno"> 484</span> </div> <div class="line"><a name="l00487"></a><span class="lineno"><a class="code" href="structPaStreamParameters.html"> 487</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structPaStreamParameters.html">PaStreamParameters</a></div> <div class="line"><a name="l00488"></a><span class="lineno"> 488</span> {</div> <div class="line"><a name="l00495"></a><span class="lineno"><a class="code" href="structPaStreamParameters.html#aebaf648b4d11dd1252a747b76b8da084"> 495</a></span>  PaDeviceIndex <a class="code" href="structPaStreamParameters.html#aebaf648b4d11dd1252a747b76b8da084">device</a>;</div> <div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  </div> <div class="line"><a name="l00502"></a><span class="lineno"><a class="code" href="structPaStreamParameters.html#a861ff361da71fc2572dd356c9c9878ca"> 502</a></span>  <span class="keywordtype">int</span> <a class="code" href="structPaStreamParameters.html#a861ff361da71fc2572dd356c9c9878ca">channelCount</a>;</div> <div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div> <div class="line"><a name="l00508"></a><span class="lineno"><a class="code" href="structPaStreamParameters.html#ad8d2d3063757b812f9e5f8709f41052b"> 508</a></span>  PaSampleFormat <a class="code" href="structPaStreamParameters.html#ad8d2d3063757b812f9e5f8709f41052b">sampleFormat</a>;</div> <div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div> <div class="line"><a name="l00521"></a><span class="lineno"><a class="code" href="structPaStreamParameters.html#aa1e80ac0551162fd091db8936ccbe9a0"> 521</a></span>  PaTime <a class="code" href="structPaStreamParameters.html#aa1e80ac0551162fd091db8936ccbe9a0">suggestedLatency</a>;</div> <div class="line"><a name="l00522"></a><span class="lineno"> 522</span> </div> <div class="line"><a name="l00528"></a><span class="lineno"><a class="code" href="structPaStreamParameters.html#aff01b9fa0710ad1654471e97665c06a9"> 528</a></span>  <span class="keywordtype">void</span> *<a class="code" href="structPaStreamParameters.html#aff01b9fa0710ad1654471e97665c06a9">hostApiSpecificStreamInfo</a>;</div> <div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div> <div class="line"><a name="l00530"></a><span class="lineno"> 530</span> } <a class="code" href="portaudio_8h.html#aaedb633e6f41d592bf999c18bdb8bb12">PaStreamParameters</a>;</div> <div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div> <div class="line"><a name="l00532"></a><span class="lineno"> 532</span> </div> <div class="line"><a name="l00534"></a><span class="lineno"><a class="code" href="portaudio_8h.html#a400df642339bf4112333060af6a43c0f"> 534</a></span> <span class="preprocessor">#define paFormatIsSupported (0)</span></div> <div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00558"></a><span class="lineno"> 558</span> PaError <a class="code" href="portaudio_8h.html#abdb313743d6efef26cecdae787a2bd3d">Pa_IsFormatSupported</a>( <span class="keyword">const</span> <a class="code" href="structPaStreamParameters.html">PaStreamParameters</a> *inputParameters,</div> <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <span class="keyword">const</span> <a class="code" href="structPaStreamParameters.html">PaStreamParameters</a> *outputParameters,</div> <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  <span class="keywordtype">double</span> sampleRate );</div> <div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div> <div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div> <div class="line"><a name="l00563"></a><span class="lineno"> 563</span> </div> <div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="comment">/* Streaming types and functions */</span></div> <div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div> <div class="line"><a name="l00566"></a><span class="lineno"> 566</span> </div> <div class="line"><a name="l00584"></a><span class="lineno"><a class="code" href="portaudio_8h.html#a19874734f89958fccf86785490d53b4c"> 584</a></span> <span class="keyword">typedef</span> <span class="keywordtype">void</span> <a class="code" href="portaudio_8h.html#a19874734f89958fccf86785490d53b4c">PaStream</a>;</div> <div class="line"><a name="l00585"></a><span class="lineno"> 585</span> </div> <div class="line"><a name="l00586"></a><span class="lineno"> 586</span> </div> <div class="line"><a name="l00591"></a><span class="lineno"><a class="code" href="portaudio_8h.html#ac1e20b97c1858a59bc62823573c59f0b"> 591</a></span> <span class="preprocessor">#define paFramesPerBufferUnspecified (0)</span></div> <div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div> <div class="line"><a name="l00602"></a><span class="lineno"><a class="code" href="portaudio_8h.html#a37c7ac3ace7d2dd1430f40ecdee4ebb6"> 602</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="portaudio_8h.html#a37c7ac3ace7d2dd1430f40ecdee4ebb6">PaStreamFlags</a>;</div> <div class="line"><a name="l00603"></a><span class="lineno"> 603</span> </div> <div class="line"><a name="l00605"></a><span class="lineno"><a class="code" href="portaudio_8h.html#ad33384abe3754a39f4773f2561773595"> 605</a></span> <span class="preprocessor">#define paNoFlag ((PaStreamFlags) 0)</span></div> <div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00610"></a><span class="lineno"><a class="code" href="portaudio_8h.html#a837b8a81be3f7e36c96003e0d8dcec12"> 610</a></span> <span class="preprocessor">#define paClipOff ((PaStreamFlags) 0x00000001)</span></div> <div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00615"></a><span class="lineno"><a class="code" href="portaudio_8h.html#add037e93aec78fa8d67f7a59ed500707"> 615</a></span> <span class="preprocessor">#define paDitherOff ((PaStreamFlags) 0x00000002)</span></div> <div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00626"></a><span class="lineno"><a class="code" href="portaudio_8h.html#ad89be5ed5279fc4c4a8495c775e1d5d5"> 626</a></span> <span class="preprocessor">#define paNeverDropInput ((PaStreamFlags) 0x00000004)</span></div> <div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00634"></a><span class="lineno"><a class="code" href="portaudio_8h.html#ad7b862a223edd680d7985c33c847e31d"> 634</a></span> <span class="preprocessor">#define paPrimeOutputBuffersUsingStreamCallback ((PaStreamFlags) 0x00000008)</span></div> <div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00639"></a><span class="lineno"><a class="code" href="portaudio_8h.html#a8522957e1bf814b9782d3a0e314c8b51"> 639</a></span> <span class="preprocessor">#define paPlatformSpecificFlags ((PaStreamFlags)0xFFFF0000)</span></div> <div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00648"></a><span class="lineno"><a class="code" href="structPaStreamCallbackTimeInfo.html"> 648</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structPaStreamCallbackTimeInfo.html">PaStreamCallbackTimeInfo</a>{</div> <div class="line"><a name="l00649"></a><span class="lineno"><a class="code" href="structPaStreamCallbackTimeInfo.html#ad114a6d5e1cf2cdd75837c33c1c8bb4c"> 649</a></span>  PaTime <a class="code" href="structPaStreamCallbackTimeInfo.html#ad114a6d5e1cf2cdd75837c33c1c8bb4c">inputBufferAdcTime</a>; </div> <div class="line"><a name="l00650"></a><span class="lineno"><a class="code" href="structPaStreamCallbackTimeInfo.html#af21eb5482cadb212dae38fdbbd9bebfb"> 650</a></span>  PaTime <a class="code" href="structPaStreamCallbackTimeInfo.html#af21eb5482cadb212dae38fdbbd9bebfb">currentTime</a>; </div> <div class="line"><a name="l00651"></a><span class="lineno"><a class="code" href="structPaStreamCallbackTimeInfo.html#aa2052c42394fca748e83517fc8942609"> 651</a></span>  PaTime <a class="code" href="structPaStreamCallbackTimeInfo.html#aa2052c42394fca748e83517fc8942609">outputBufferDacTime</a>; </div> <div class="line"><a name="l00652"></a><span class="lineno"> 652</span> } <a class="code" href="portaudio_8h.html#ac81b1065de3722c62eae395281451a73">PaStreamCallbackTimeInfo</a>;</div> <div class="line"><a name="l00653"></a><span class="lineno"> 653</span> </div> <div class="line"><a name="l00654"></a><span class="lineno"> 654</span> </div> <div class="line"><a name="l00661"></a><span class="lineno"><a class="code" href="portaudio_8h.html#a55a005924bcfa0424594f4f65cd4ae82"> 661</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="portaudio_8h.html#a55a005924bcfa0424594f4f65cd4ae82">PaStreamCallbackFlags</a>;</div> <div class="line"><a name="l00662"></a><span class="lineno"> 662</span> </div> <div class="line"><a name="l00670"></a><span class="lineno"><a class="code" href="portaudio_8h.html#a57d1879f52406bdedfdda8f79f458e15"> 670</a></span> <span class="preprocessor">#define paInputUnderflow ((PaStreamCallbackFlags) 0x00000001)</span></div> <div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00679"></a><span class="lineno"><a class="code" href="portaudio_8h.html#aea144f0edaf02d0ac8b113f41fb95c47"> 679</a></span> <span class="preprocessor">#define paInputOverflow ((PaStreamCallbackFlags) 0x00000002)</span></div> <div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00685"></a><span class="lineno"><a class="code" href="portaudio_8h.html#aa17c91c859b12ebbf53a1440def53c89"> 685</a></span> <span class="preprocessor">#define paOutputUnderflow ((PaStreamCallbackFlags) 0x00000004)</span></div> <div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00690"></a><span class="lineno"><a class="code" href="portaudio_8h.html#ac22bb260d47b348bd3aab8813fd45462"> 690</a></span> <span class="preprocessor">#define paOutputOverflow ((PaStreamCallbackFlags) 0x00000008)</span></div> <div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00696"></a><span class="lineno"><a class="code" href="portaudio_8h.html#ad6616980c2259866a39eb2b76fa4697d"> 696</a></span> <span class="preprocessor">#define paPrimingOutput ((PaStreamCallbackFlags) 0x00000010)</span></div> <div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00702"></a><span class="lineno"><a class="code" href="portaudio_8h.html#ae9bfb9c4e1895326f30f80d415c66c32"> 702</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="portaudio_8h.html#ae9bfb9c4e1895326f30f80d415c66c32">PaStreamCallbackResult</a></div> <div class="line"><a name="l00703"></a><span class="lineno"> 703</span> {</div> <div class="line"><a name="l00704"></a><span class="lineno"><a class="code" href="portaudio_8h.html#ae9bfb9c4e1895326f30f80d415c66c32acba49cbf0e3bf605bb3deecef3b4fce3"> 704</a></span>  <a class="code" href="portaudio_8h.html#ae9bfb9c4e1895326f30f80d415c66c32acba49cbf0e3bf605bb3deecef3b4fce3">paContinue</a>=0, </div> <div class="line"><a name="l00705"></a><span class="lineno"><a class="code" href="portaudio_8h.html#ae9bfb9c4e1895326f30f80d415c66c32aa01800db52ead393d8b0016f63d76650"> 705</a></span>  <a class="code" href="portaudio_8h.html#ae9bfb9c4e1895326f30f80d415c66c32aa01800db52ead393d8b0016f63d76650">paComplete</a>=1, </div> <div class="line"><a name="l00706"></a><span class="lineno"><a class="code" href="portaudio_8h.html#ae9bfb9c4e1895326f30f80d415c66c32acaf141eb5d71420ffb4474da1dbd8de2"> 706</a></span>  <a class="code" href="portaudio_8h.html#ae9bfb9c4e1895326f30f80d415c66c32acaf141eb5d71420ffb4474da1dbd8de2">paAbort</a>=2 </div> <div class="line"><a name="l00707"></a><span class="lineno"> 707</span> } <a class="code" href="portaudio_8h.html#ae9bfb9c4e1895326f30f80d415c66c32">PaStreamCallbackResult</a>;</div> <div class="line"><a name="l00708"></a><span class="lineno"> 708</span> </div> <div class="line"><a name="l00709"></a><span class="lineno"> 709</span> </div> <div class="line"><a name="l00779"></a><span class="lineno"><a class="code" href="portaudio_8h.html#a8a60fb2a5ec9cbade3f54a9c978e2710"> 779</a></span> <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="portaudio_8h.html#a8a60fb2a5ec9cbade3f54a9c978e2710">PaStreamCallback</a>(</div> <div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  <span class="keyword">const</span> <span class="keywordtype">void</span> *input, <span class="keywordtype">void</span> *output,</div> <div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> frameCount,</div> <div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  <span class="keyword">const</span> <a class="code" href="structPaStreamCallbackTimeInfo.html">PaStreamCallbackTimeInfo</a>* timeInfo,</div> <div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  PaStreamCallbackFlags statusFlags,</div> <div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  <span class="keywordtype">void</span> *userData );</div> <div class="line"><a name="l00785"></a><span class="lineno"> 785</span> </div> <div class="line"><a name="l00786"></a><span class="lineno"> 786</span> </div> <div class="line"><a name="l00841"></a><span class="lineno"> 841</span> PaError <a class="code" href="portaudio_8h.html#a443ad16338191af364e3be988014cbbe">Pa_OpenStream</a>( PaStream** stream,</div> <div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  <span class="keyword">const</span> <a class="code" href="structPaStreamParameters.html">PaStreamParameters</a> *inputParameters,</div> <div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  <span class="keyword">const</span> <a class="code" href="structPaStreamParameters.html">PaStreamParameters</a> *outputParameters,</div> <div class="line"><a name="l00844"></a><span class="lineno"> 844</span>  <span class="keywordtype">double</span> sampleRate,</div> <div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> framesPerBuffer,</div> <div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  PaStreamFlags streamFlags,</div> <div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  <a class="code" href="portaudio_8h.html#a8a60fb2a5ec9cbade3f54a9c978e2710">PaStreamCallback</a> *streamCallback,</div> <div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  <span class="keywordtype">void</span> *userData );</div> <div class="line"><a name="l00849"></a><span class="lineno"> 849</span> </div> <div class="line"><a name="l00850"></a><span class="lineno"> 850</span> </div> <div class="line"><a name="l00881"></a><span class="lineno"> 881</span> PaError <a class="code" href="portaudio_8h.html#a0a12735ac191200f696a43b87667b714">Pa_OpenDefaultStream</a>( PaStream** stream,</div> <div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  <span class="keywordtype">int</span> numInputChannels,</div> <div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  <span class="keywordtype">int</span> numOutputChannels,</div> <div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  PaSampleFormat sampleFormat,</div> <div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  <span class="keywordtype">double</span> sampleRate,</div> <div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> framesPerBuffer,</div> <div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <a class="code" href="portaudio_8h.html#a8a60fb2a5ec9cbade3f54a9c978e2710">PaStreamCallback</a> *streamCallback,</div> <div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  <span class="keywordtype">void</span> *userData );</div> <div class="line"><a name="l00889"></a><span class="lineno"> 889</span> </div> <div class="line"><a name="l00890"></a><span class="lineno"> 890</span> </div> <div class="line"><a name="l00894"></a><span class="lineno"> 894</span> PaError <a class="code" href="portaudio_8h.html#a92f56f88cbd14da0e8e03077e835d104">Pa_CloseStream</a>( PaStream *stream );</div> <div class="line"><a name="l00895"></a><span class="lineno"> 895</span> </div> <div class="line"><a name="l00896"></a><span class="lineno"> 896</span> </div> <div class="line"><a name="l00911"></a><span class="lineno"><a class="code" href="portaudio_8h.html#ab2530ee0cb756c67726f9074d3482ef2"> 911</a></span> <span class="keyword">typedef</span> <span class="keywordtype">void</span> <a class="code" href="portaudio_8h.html#ab2530ee0cb756c67726f9074d3482ef2">PaStreamFinishedCallback</a>( <span class="keywordtype">void</span> *userData );</div> <div class="line"><a name="l00912"></a><span class="lineno"> 912</span> </div> <div class="line"><a name="l00913"></a><span class="lineno"> 913</span> </div> <div class="line"><a name="l00932"></a><span class="lineno"> 932</span> PaError <a class="code" href="portaudio_8h.html#aa11e7b06b2cde8621551f5d527965838">Pa_SetStreamFinishedCallback</a>( PaStream *stream, <a class="code" href="portaudio_8h.html#ab2530ee0cb756c67726f9074d3482ef2">PaStreamFinishedCallback</a>* streamFinishedCallback ); </div> <div class="line"><a name="l00933"></a><span class="lineno"> 933</span> </div> <div class="line"><a name="l00934"></a><span class="lineno"> 934</span> </div> <div class="line"><a name="l00937"></a><span class="lineno"> 937</span> PaError <a class="code" href="portaudio_8h.html#a7432aadd26c40452da12fa99fc1a047b">Pa_StartStream</a>( PaStream *stream );</div> <div class="line"><a name="l00938"></a><span class="lineno"> 938</span> </div> <div class="line"><a name="l00939"></a><span class="lineno"> 939</span> </div> <div class="line"><a name="l00943"></a><span class="lineno"> 943</span> PaError <a class="code" href="portaudio_8h.html#af18dd60220251286c337631a855e38a0">Pa_StopStream</a>( PaStream *stream );</div> <div class="line"><a name="l00944"></a><span class="lineno"> 944</span> </div> <div class="line"><a name="l00945"></a><span class="lineno"> 945</span> </div> <div class="line"><a name="l00949"></a><span class="lineno"> 949</span> PaError <a class="code" href="portaudio_8h.html#a138e57abde4e833c457b64895f638a25">Pa_AbortStream</a>( PaStream *stream );</div> <div class="line"><a name="l00950"></a><span class="lineno"> 950</span> </div> <div class="line"><a name="l00951"></a><span class="lineno"> 951</span> </div> <div class="line"><a name="l00964"></a><span class="lineno"> 964</span> PaError <a class="code" href="portaudio_8h.html#a52d778c985ae9d566de7e13529cc771f">Pa_IsStreamStopped</a>( PaStream *stream );</div> <div class="line"><a name="l00965"></a><span class="lineno"> 965</span> </div> <div class="line"><a name="l00966"></a><span class="lineno"> 966</span> </div> <div class="line"><a name="l00980"></a><span class="lineno"> 980</span> PaError <a class="code" href="portaudio_8h.html#a1f8709c4971932643681a6f374c4bb5a">Pa_IsStreamActive</a>( PaStream *stream );</div> <div class="line"><a name="l00981"></a><span class="lineno"> 981</span> </div> <div class="line"><a name="l00982"></a><span class="lineno"> 982</span> </div> <div class="line"><a name="l00983"></a><span class="lineno"> 983</span> </div> <div class="line"><a name="l00988"></a><span class="lineno"><a class="code" href="structPaStreamInfo.html"> 988</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structPaStreamInfo.html">PaStreamInfo</a></div> <div class="line"><a name="l00989"></a><span class="lineno"> 989</span> {</div> <div class="line"><a name="l00991"></a><span class="lineno"><a class="code" href="structPaStreamInfo.html#a5e053a3f0f6232a5d1ec0dee0f9a943b"> 991</a></span>  <span class="keywordtype">int</span> <a class="code" href="structPaStreamInfo.html#a5e053a3f0f6232a5d1ec0dee0f9a943b">structVersion</a>;</div> <div class="line"><a name="l00992"></a><span class="lineno"> 992</span> </div> <div class="line"><a name="l00999"></a><span class="lineno"><a class="code" href="structPaStreamInfo.html#a1f5339e0fef75cea66d9153235698399"> 999</a></span>  PaTime <a class="code" href="structPaStreamInfo.html#a1f5339e0fef75cea66d9153235698399">inputLatency</a>;</div> <div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> </div> <div class="line"><a name="l01007"></a><span class="lineno"><a class="code" href="structPaStreamInfo.html#a372a81f39d90a85ae62225e9f57a7840"> 1007</a></span>  PaTime <a class="code" href="structPaStreamInfo.html#a372a81f39d90a85ae62225e9f57a7840">outputLatency</a>;</div> <div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> </div> <div class="line"><a name="l01016"></a><span class="lineno"><a class="code" href="structPaStreamInfo.html#a9200fdee790d9155bc35d03be51ee2dd"> 1016</a></span>  <span class="keywordtype">double</span> <a class="code" href="structPaStreamInfo.html#a9200fdee790d9155bc35d03be51ee2dd">sampleRate</a>;</div> <div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>  </div> <div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> } <a class="code" href="portaudio_8h.html#a5efc2a97ba96a3e06849c1a857127acc">PaStreamInfo</a>;</div> <div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> </div> <div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> </div> <div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> <span class="keyword">const</span> <a class="code" href="structPaStreamInfo.html">PaStreamInfo</a>* <a class="code" href="portaudio_8h.html#a3d9c4cbda4e9f381b76f287c3de8a758">Pa_GetStreamInfo</a>( PaStream *stream );</div> <div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> </div> <div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> </div> <div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> PaTime <a class="code" href="portaudio_8h.html#a2b3fb60e6949f37f7f134105ff425749">Pa_GetStreamTime</a>( PaStream *stream );</div> <div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> </div> <div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> </div> <div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> <span class="keywordtype">double</span> <a class="code" href="portaudio_8h.html#a83b8c624464dd7bb6a01b06ab596c115">Pa_GetStreamCpuLoad</a>( PaStream* stream );</div> <div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> </div> <div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> </div> <div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> PaError <a class="code" href="portaudio_8h.html#a0b62d4b74b5d3d88368e9e4c0b8b2dc7">Pa_ReadStream</a>( PaStream* stream,</div> <div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>  <span class="keywordtype">void</span> *buffer,</div> <div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> frames );</div> <div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> </div> <div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> </div> <div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> PaError <a class="code" href="portaudio_8h.html#a075a6efb503a728213bdae24347ed27d">Pa_WriteStream</a>( PaStream* stream,</div> <div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>  <span class="keyword">const</span> <span class="keywordtype">void</span> *buffer,</div> <div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> frames );</div> <div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> </div> <div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> </div> <div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> <a class="code" href="portaudio_8h.html#ad04c33f045fa58d7b705b56b1fd3e816">Pa_GetStreamReadAvailable</a>( PaStream* stream );</div> <div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> </div> <div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> </div> <div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> <a class="code" href="portaudio_8h.html#a25595acf48733ec32045aa189c3caa61">Pa_GetStreamWriteAvailable</a>( PaStream* stream );</div> <div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> </div> <div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> </div> <div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> <a class="code" href="portaudio_8h.html#a8eaebe3d39c5ea45598da8f86dc2e5ae">PaHostApiTypeId</a> <a class="code" href="portaudio_8h.html#a290c1596fb9c8bab22a28d3ca75ea321">Pa_GetStreamHostApiType</a>( PaStream* stream );</div> <div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> </div> <div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> </div> <div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> <span class="comment">/* Miscellaneous utilities */</span></div> <div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> </div> <div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> </div> <div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> PaError <a class="code" href="portaudio_8h.html#a541ed0b734df2631bc4c229acf92abc1">Pa_GetSampleSize</a>( PaSampleFormat format );</div> <div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> </div> <div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> </div> <div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> <span class="keywordtype">void</span> <a class="code" href="portaudio_8h.html#a1b3c20044c9401c42add29475636e83d">Pa_Sleep</a>( <span class="keywordtype">long</span> msec );</div> <div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> </div> <div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> </div> <div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> </div> <div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> <span class="preprocessor">#ifdef __cplusplus</span></div> <div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> <span class="preprocessor"></span>}</div> <div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> <span class="preprocessor">#endif </span><span class="comment">/* __cplusplus */</span><span class="preprocessor"></span></div> <div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* PORTAUDIO_H */</span><span class="preprocessor"></span></div> </div><!-- fragment --></div><!-- contents --> <hr size="1"><address style="text-align: right;"><small>Generated for PortAudio by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a>1.8.3.1</small></address> </body> </html>