Sophie

Sophie

distrib > Fedora > 18 > x86_64 > media > updates > by-pkgid > 866ae5f99ebc53131e4da7c8445c0009 > files > 140

portaudio-devel-19-16.fc18.i686.rpm

<!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: pa_mac_core.h File Reference</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
   &#160;<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&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;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&#160;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="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">pa_mac_core.h File Reference<div class="ingroups"><a class="el" href="group__public__header.html">Public API definitions for users of PortAudio</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>CoreAudio-specific PortAudio API extension header file.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="portaudio_8h_source.html">portaudio.h</a>&quot;</code><br/>
<code>#include &lt;AudioUnit/AudioUnit.h&gt;</code><br/>
<code>#include &lt;AudioToolbox/AudioToolbox.h&gt;</code><br/>
</div>
<p><a href="pa__mac__core_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPaMacCoreStreamInfo.html">PaMacCoreStreamInfo</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a0a803427bdba498922276075677d0ebe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pa__mac__core_8h.html#a0a803427bdba498922276075677d0ebe">paMacCoreChangeDeviceParameters</a>&#160;&#160;&#160;(0x01)</td></tr>
<tr class="separator:a0a803427bdba498922276075677d0ebe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a481969bad982aec7ba2b8503557533c7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pa__mac__core_8h.html#a481969bad982aec7ba2b8503557533c7">paMacCoreFailIfConversionRequired</a>&#160;&#160;&#160;(0x02)</td></tr>
<tr class="separator:a481969bad982aec7ba2b8503557533c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65d6a0307a5b231ef673a52e72e0d680"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pa__mac__core_8h.html#a65d6a0307a5b231ef673a52e72e0d680">paMacCoreConversionQualityMin</a>&#160;&#160;&#160;(0x0100)</td></tr>
<tr class="separator:a65d6a0307a5b231ef673a52e72e0d680"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9143937b271beb0b171a1eaec6c415cd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9143937b271beb0b171a1eaec6c415cd"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>paMacCoreConversionQualityMedium</b>&#160;&#160;&#160;(0x0200)</td></tr>
<tr class="separator:a9143937b271beb0b171a1eaec6c415cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5693eb74b0a2c2f3121f18f09c2dc632"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5693eb74b0a2c2f3121f18f09c2dc632"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>paMacCoreConversionQualityLow</b>&#160;&#160;&#160;(0x0300)</td></tr>
<tr class="separator:a5693eb74b0a2c2f3121f18f09c2dc632"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64146a265a9bb8426884caa1db31d004"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a64146a265a9bb8426884caa1db31d004"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>paMacCoreConversionQualityHigh</b>&#160;&#160;&#160;(0x0400)</td></tr>
<tr class="separator:a64146a265a9bb8426884caa1db31d004"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a00067c7f90d4802b855728cefd6002"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a00067c7f90d4802b855728cefd6002"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>paMacCoreConversionQualityMax</b>&#160;&#160;&#160;(0x0000)</td></tr>
<tr class="separator:a0a00067c7f90d4802b855728cefd6002"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a223d2f56bd0a5964e4122c80b23e6f62"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pa__mac__core_8h.html#a223d2f56bd0a5964e4122c80b23e6f62">paMacCorePlayNice</a>&#160;&#160;&#160;(0x00)</td></tr>
<tr class="separator:a223d2f56bd0a5964e4122c80b23e6f62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abec61ce0294900be890928cd0907bcf6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pa__mac__core_8h.html#abec61ce0294900be890928cd0907bcf6">paMacCorePro</a>&#160;&#160;&#160;(0x01)</td></tr>
<tr class="separator:abec61ce0294900be890928cd0907bcf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac589bfdf9e35134552737b4b97253729"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pa__mac__core_8h.html#ac589bfdf9e35134552737b4b97253729">paMacCoreMinimizeCPUButPlayNice</a>&#160;&#160;&#160;(0x0100)</td></tr>
<tr class="separator:ac589bfdf9e35134552737b4b97253729"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad37d299e9a15db20d3ef04ed12ffbddd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pa__mac__core_8h.html#ad37d299e9a15db20d3ef04ed12ffbddd">paMacCoreMinimizeCPU</a>&#160;&#160;&#160;(0x0101)</td></tr>
<tr class="separator:ad37d299e9a15db20d3ef04ed12ffbddd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a7fa54d8ad032394157bdb67c9b13087d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pa__mac__core_8h.html#a7fa54d8ad032394157bdb67c9b13087d">PaMacCore_SetupStreamInfo</a> (<a class="el" href="structPaMacCoreStreamInfo.html">PaMacCoreStreamInfo</a> *data, unsigned long flags)</td></tr>
<tr class="separator:a7fa54d8ad032394157bdb67c9b13087d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc811b4cd7b56e5e5d4b4613a49d9356"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pa__mac__core_8h.html#abc811b4cd7b56e5e5d4b4613a49d9356">PaMacCore_SetupChannelMap</a> (<a class="el" href="structPaMacCoreStreamInfo.html">PaMacCoreStreamInfo</a> *data, const SInt32 *const channelMap, unsigned long channelMapSize)</td></tr>
<tr class="separator:abc811b4cd7b56e5e5d4b4613a49d9356"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1631115a64682f8e14fadd0a75c027f"><td class="memItemLeft" align="right" valign="top">AudioDeviceID&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pa__mac__core_8h.html#ad1631115a64682f8e14fadd0a75c027f">PaMacCore_GetStreamInputDevice</a> (<a class="el" href="portaudio_8h.html#a19874734f89958fccf86785490d53b4c">PaStream</a> *s)</td></tr>
<tr class="separator:ad1631115a64682f8e14fadd0a75c027f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25379f181725095041d159e3bdc8cd8c"><td class="memItemLeft" align="right" valign="top">AudioDeviceID&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pa__mac__core_8h.html#a25379f181725095041d159e3bdc8cd8c">PaMacCore_GetStreamOutputDevice</a> (<a class="el" href="portaudio_8h.html#a19874734f89958fccf86785490d53b4c">PaStream</a> *s)</td></tr>
<tr class="separator:a25379f181725095041d159e3bdc8cd8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8d59756f200f1e97f651c14c961f2d6"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pa__mac__core_8h.html#aa8d59756f200f1e97f651c14c961f2d6">PaMacCore_GetChannelName</a> (int device, int channelIndex, bool input)</td></tr>
<tr class="separator:aa8d59756f200f1e97f651c14c961f2d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa470cfe0a7a53a6bc7eab4b18f670d31"><td class="memItemLeft" align="right" valign="top"><a class="el" href="portaudio_8h.html#a4949e4a8ef9f9dbe8cbee414ce69841d">PaError</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pa__mac__core_8h.html#aa470cfe0a7a53a6bc7eab4b18f670d31">PaMacCore_GetBufferSizeRange</a> (<a class="el" href="portaudio_8h.html#ad79317e65bde63d76c4b8e711ac5a361">PaDeviceIndex</a> device, long *minBufferSizeFrames, long *maxBufferSizeFrames)</td></tr>
<tr class="separator:aa470cfe0a7a53a6bc7eab4b18f670d31"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>CoreAudio-specific PortAudio API extension header file. </p>

<p>Definition in file <a class="el" href="pa__mac__core_8h_source.html">pa_mac_core.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a0a803427bdba498922276075677d0ebe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define paMacCoreChangeDeviceParameters&#160;&#160;&#160;(0x01)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Flags The following flags alter the behaviour of PA on the mac platform. they can be ORed together. These should work both for opening and checking a device. Allows PortAudio to change things like the device's frame size, which allows for much lower latency, but might disrupt the device if other programs are using it, even when you are just Querying the device. </p>

<p>Definition at line <a class="el" href="pa__mac__core_8h_source.html#l00154">154</a> of file <a class="el" href="pa__mac__core_8h_source.html">pa_mac_core.h</a>.</p>

</div>
</div>
<a class="anchor" id="a65d6a0307a5b231ef673a52e72e0d680"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define paMacCoreConversionQualityMin&#160;&#160;&#160;(0x0100)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>These flags set the SR conversion quality, if required. The wierd ordering allows Maximum Quality to be the default. </p>

<p>Definition at line <a class="el" href="pa__mac__core_8h_source.html#l00163">163</a> of file <a class="el" href="pa__mac__core_8h_source.html">pa_mac_core.h</a>.</p>

</div>
</div>
<a class="anchor" id="a481969bad982aec7ba2b8503557533c7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define paMacCoreFailIfConversionRequired&#160;&#160;&#160;(0x02)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>In combination with the above flag, causes the stream opening to fail, unless the exact sample rates are supported by the device. </p>

<p>Definition at line <a class="el" href="pa__mac__core_8h_source.html#l00159">159</a> of file <a class="el" href="pa__mac__core_8h_source.html">pa_mac_core.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad37d299e9a15db20d3ef04ed12ffbddd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define paMacCoreMinimizeCPU&#160;&#160;&#160;(0x0101)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This is a setting to minimize CPU usage, even if that means interrupting the device. </p>

<p>Definition at line <a class="el" href="pa__mac__core_8h_source.html#l00184">184</a> of file <a class="el" href="pa__mac__core_8h_source.html">pa_mac_core.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac589bfdf9e35134552737b4b97253729"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define paMacCoreMinimizeCPUButPlayNice&#160;&#160;&#160;(0x0100)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This is a setting to minimize CPU usage and still play nice. </p>

<p>Definition at line <a class="el" href="pa__mac__core_8h_source.html#l00182">182</a> of file <a class="el" href="pa__mac__core_8h_source.html">pa_mac_core.h</a>.</p>

</div>
</div>
<a class="anchor" id="a223d2f56bd0a5964e4122c80b23e6f62"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define paMacCorePlayNice&#160;&#160;&#160;(0x00)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Here are some "preset" combinations of flags (above) to get to some common configurations. THIS IS OVERKILL, but if more flags are added it won't be.This is the default setting: do as much sample rate conversion as possible and as little mucking with the device as possible. </p>

<p>Definition at line <a class="el" href="pa__mac__core_8h_source.html#l00177">177</a> of file <a class="el" href="pa__mac__core_8h_source.html">pa_mac_core.h</a>.</p>

</div>
</div>
<a class="anchor" id="abec61ce0294900be890928cd0907bcf6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define paMacCorePro&#160;&#160;&#160;(0x01)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This setting is tuned for pro audio apps. It allows SR conversion on input and output, but it tries to set the appropriate SR on the device. </p>

<p>Definition at line <a class="el" href="pa__mac__core_8h_source.html#l00180">180</a> of file <a class="el" href="pa__mac__core_8h_source.html">pa_mac_core.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="aa470cfe0a7a53a6bc7eab4b18f670d31"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="portaudio_8h.html#a4949e4a8ef9f9dbe8cbee414ce69841d">PaError</a> PaMacCore_GetBufferSizeRange </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="portaudio_8h.html#ad79317e65bde63d76c4b8e711ac5a361">PaDeviceIndex</a>&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long *&#160;</td>
          <td class="paramname"><em>minBufferSizeFrames</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long *&#160;</td>
          <td class="paramname"><em>maxBufferSizeFrames</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Retrieve the range of legal native buffer sizes for the specificed device, in sample frames.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>The global index of the PortAudio device about which the query is being made. </td></tr>
    <tr><td class="paramname">minBufferSizeFrames</td><td>A pointer to the location which will receive the minimum buffer size value. </td></tr>
    <tr><td class="paramname">maxBufferSizeFrames</td><td>A pointer to the location which will receive the maximum buffer size value.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd>kAudioDevicePropertyBufferFrameSizeRange in the CoreAudio SDK. </dd></dl>

</div>
</div>
<a class="anchor" id="aa8d59756f200f1e97f651c14c961f2d6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* PaMacCore_GetChannelName </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>channelIndex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>input</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns a statically allocated string with the device's name for the given channel. NULL will be returned on failure.</p>
<p>This function's implemenation is not complete!</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>The PortAudio device index. </td></tr>
    <tr><td class="paramname">channel</td><td>The channel number who's name is requested. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a statically allocated string with the name of the device. Because this string is statically allocated, it must be coppied if it is to be saved and used by the user after another call to this function. </dd></dl>

</div>
</div>
<a class="anchor" id="ad1631115a64682f8e14fadd0a75c027f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AudioDeviceID PaMacCore_GetStreamInputDevice </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="portaudio_8h.html#a19874734f89958fccf86785490d53b4c">PaStream</a> *&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Retrieve the AudioDeviceID of the input device assigned to an open stream</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">s</td><td>The stream to query.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A valid AudioDeviceID, or NULL if an error occurred. </dd></dl>

</div>
</div>
<a class="anchor" id="a25379f181725095041d159e3bdc8cd8c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AudioDeviceID PaMacCore_GetStreamOutputDevice </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="portaudio_8h.html#a19874734f89958fccf86785490d53b4c">PaStream</a> *&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Retrieve the AudioDeviceID of the output device assigned to an open stream</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">s</td><td>The stream to query.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A valid AudioDeviceID, or NULL if an error occurred. </dd></dl>

</div>
</div>
<a class="anchor" id="abc811b4cd7b56e5e5d4b4613a49d9356"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void PaMacCore_SetupChannelMap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structPaMacCoreStreamInfo.html">PaMacCoreStreamInfo</a> *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const SInt32 *const&#160;</td>
          <td class="paramname"><em>channelMap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned long&#160;</td>
          <td class="paramname"><em>channelMapSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>call this after pa_SetupMacCoreStreamInfo to use channel mapping as described in notes.txt. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>The stream info structure to assign a channel mapping to </td></tr>
    <tr><td class="paramname">channelMap</td><td>The channel map array, as described in notes.txt. This array pointer will be used directly (ie the underlying data will not be copied), so the caller should not free the array until after the stream has been opened. </td></tr>
    <tr><td class="paramname">channelMapSize</td><td>The size of the channel map array. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7fa54d8ad032394157bdb67c9b13087d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void PaMacCore_SetupStreamInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structPaMacCoreStreamInfo.html">PaMacCoreStreamInfo</a> *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned long&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Functions Use this function to initialize a paMacCoreStreamInfo struct using the requested flags. Note that channel mapping is turned off after a call to this function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>The datastructure to initialize </td></tr>
    <tr><td class="paramname">flags</td><td>The flags to initialize the datastructure with. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>Generated for PortAudio by&nbsp;
<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>