<!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: paex_pink.c 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  <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_d28a4824dc47e487b107a5db32ef43c4.html">examples</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Macros</a> | <a href="#func-members">Functions</a> | <a href="#var-members">Variables</a> </div> <div class="headertitle"> <div class="title">paex_pink.c File Reference<div class="ingroups"><a class="el" href="group__examples__src.html">Example programs demonstrating PortAudio usage</a></div></div> </div> </div><!--header--> <div class="contents"> <p>Generate Pink Noise using Gardner method. <a href="#details">More...</a></p> <div class="textblock"><code>#include <stdio.h></code><br/> <code>#include <math.h></code><br/> <code>#include "<a class="el" href="portaudio_8h_source.html">portaudio.h</a>"</code><br/> </div> <p><a href="paex__pink_8c_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  </td><td class="memItemRight" valign="bottom"><a class="el" href="structPinkNoise.html">PinkNoise</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpaTestData.html">paTestData</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </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:aacad2d0d75b07d001133a8227bb16a09"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aacad2d0d75b07d001133a8227bb16a09"></a> #define </td><td class="memItemRight" valign="bottom"><b>PINK_MAX_RANDOM_ROWS</b>   (30)</td></tr> <tr class="separator:aacad2d0d75b07d001133a8227bb16a09"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a543ce37e1e5c7fde4ec39c832136683c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a543ce37e1e5c7fde4ec39c832136683c"></a> #define </td><td class="memItemRight" valign="bottom"><b>PINK_RANDOM_BITS</b>   (24)</td></tr> <tr class="separator:a543ce37e1e5c7fde4ec39c832136683c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2bc95aedc61109291640be3c2847d21d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2bc95aedc61109291640be3c2847d21d"></a> #define </td><td class="memItemRight" valign="bottom"><b>PINK_RANDOM_SHIFT</b>   ((sizeof(long)*8)-PINK_RANDOM_BITS)</td></tr> <tr class="separator:a2bc95aedc61109291640be3c2847d21d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a319de9425b757b4a8b78ba03dd5e4934"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a319de9425b757b4a8b78ba03dd5e4934"></a> #define </td><td class="memItemRight" valign="bottom"><b>PINK_MEASURE</b></td></tr> <tr class="separator:a319de9425b757b4a8b78ba03dd5e4934"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af068e50323cb96be7180dc46f3ef2336"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af068e50323cb96be7180dc46f3ef2336"></a> #define </td><td class="memItemRight" valign="bottom"><b>PINK_TEST</b></td></tr> <tr class="separator:af068e50323cb96be7180dc46f3ef2336"><td class="memSeparator" colspan="2"> </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:af0dae67ebb88c9e578848aa1fceaf8f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af0dae67ebb88c9e578848aa1fceaf8f8"></a> void </td><td class="memItemRight" valign="bottom"><b>InitializePinkNoise</b> (<a class="el" href="structPinkNoise.html">PinkNoise</a> *pink, int numRows)</td></tr> <tr class="separator:af0dae67ebb88c9e578848aa1fceaf8f8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acfbee971d40a150d4a00611ed7b69cd3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acfbee971d40a150d4a00611ed7b69cd3"></a> float </td><td class="memItemRight" valign="bottom"><b>GeneratePinkNoise</b> (<a class="el" href="structPinkNoise.html">PinkNoise</a> *pink)</td></tr> <tr class="separator:acfbee971d40a150d4a00611ed7b69cd3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a840291bc02cba5474a4cb46a9b9566fe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a840291bc02cba5474a4cb46a9b9566fe"></a> int </td><td class="memItemRight" valign="bottom"><b>main</b> (void)</td></tr> <tr class="separator:a840291bc02cba5474a4cb46a9b9566fe"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> <tr class="memitem:a81a83471936d94412a0c638c23e08804"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a81a83471936d94412a0c638c23e08804"></a> float </td><td class="memItemRight" valign="bottom"><b>pinkMax</b> = -999.0</td></tr> <tr class="separator:a81a83471936d94412a0c638c23e08804"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab1b98b8c2ea31ea4c658e72d6dffbede"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1b98b8c2ea31ea4c658e72d6dffbede"></a> float </td><td class="memItemRight" valign="bottom"><b>pinkMin</b> = 999.0</td></tr> <tr class="separator:ab1b98b8c2ea31ea4c658e72d6dffbede"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Generate Pink Noise using Gardner method. </p> <pre class="fragment"> Optimization suggested by James McCartney uses a tree to select which random value to replace. </pre> <pre> x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x </pre><p> Tree is generated by counting trailing zeros in an increasing index. When the index is zero, no random number is selected.</p> <dl class="section author"><dt>Author</dt><dd>Phil Burk <a href="http://www.softsynth.com">http://www.softsynth.com</a> </dd></dl> <p>Definition in file <a class="el" href="paex__pink_8c_source.html">paex_pink.c</a>.</p> </div></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>