<!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>
        <title>CSFML - C binding of the Simple and Fast Multimedia Library</title>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
        <!--<link rel='stylesheet' type='text/css' href="http://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>-->
        <link rel="stylesheet" type="text/css" href="doxygen.css" title="default" media="screen,print" />
    </head>
    <body>
        <div id="banner-container">
            <div id="banner">
                <span id="sfml">CSFML</span>
            </div>
        </div>
        <div id="content">
<!-- Generated by Doxygen 1.8.2 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.htm"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.htm"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.htm"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.htm"><span>File&#160;List</span></a></li>
      <li><a href="globals.htm"><span>Globals</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_6a66b7969672f1da69f458a57d2c97f9.htm">include</a></li><li class="navelem"><a class="el" href="dir_8cc999c03ab8fdf40558b1f21f869c3e.htm">SFML</a></li><li class="navelem"><a class="el" href="dir_ab65b93e3e53c8b4552e87dc0e7cef27.htm">Audio</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">SoundBuffer.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="SoundBuffer_8h.htm">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// SFML - Simple and Fast Multimedia Library</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// Copyright (C) 2007-2013 Laurent Gomila (laurent.gom@gmail.com)</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// This software is provided &#39;as-is&#39;, without any express or implied warranty.</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// In no event will the authors be held liable for any damages arising from the use of this software.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">// Permission is granted to anyone to use this software for any purpose,</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// including commercial applications, and to alter it and redistribute it freely,</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// subject to the following restrictions:</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// 1. The origin of this software must not be misrepresented;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">//    you must not claim that you wrote the original software.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">//    If you use this software in a product, an acknowledgment</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">//    in the product documentation would be appreciated but is not required.</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">// 2. Altered source versions must be plainly marked as such,</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">//    and must not be misrepresented as being the original software.</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">// 3. This notice may not be removed or altered from any source distribution.</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#ifndef SFML_SOUNDBUFFER_H</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define SFML_SOUNDBUFFER_H</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">// Headers</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment"></span><span class="preprocessor">#include &lt;<a class="code" href="Audio_2Export_8h.htm">SFML/Audio/Export.h</a>&gt;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="Audio_2Types_8h.htm">SFML/Audio/Types.h</a>&gt;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="InputStream_8h.htm">SFML/System/InputStream.h</a>&gt;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="Time_8h.htm">SFML/System/Time.h</a>&gt;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<a class="code" href="Audio_2Export_8h.htm#a7a489e428c325519799913f98f81f774">CSFML_AUDIO_API</a> <a class="code" href="Audio_2Types_8h.htm#a33a83b50f46a6b0d9c8b5bd9808e2b3f">sfSoundBuffer</a>* <a class="code" href="SoundBuffer_8h.htm#afd79a633db98cd67412c2090e27eda2f" title="Create a new sound buffer and load it from a file.">sfSoundBuffer_createFromFile</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* filename);</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<a class="code" href="Audio_2Export_8h.htm#a7a489e428c325519799913f98f81f774">CSFML_AUDIO_API</a> <a class="code" href="Audio_2Types_8h.htm#a33a83b50f46a6b0d9c8b5bd9808e2b3f">sfSoundBuffer</a>* <a class="code" href="SoundBuffer_8h.htm#ab5619dc26f92b49ad849a31c076c19cb" title="Create a new sound buffer and load it from a file in memory.">sfSoundBuffer_createFromMemory</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* data, <span class="keywordtype">size_t</span> sizeInBytes);</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<a class="code" href="Audio_2Export_8h.htm#a7a489e428c325519799913f98f81f774">CSFML_AUDIO_API</a> <a class="code" href="Audio_2Types_8h.htm#a33a83b50f46a6b0d9c8b5bd9808e2b3f">sfSoundBuffer</a>* <a class="code" href="SoundBuffer_8h.htm#aabe469481de03c1105a6a1795d350d35" title="Create a new sound buffer and load it from a custom stream.">sfSoundBuffer_createFromStream</a>(<a class="code" href="structsfInputStream.htm" title="Set of callbacks that allow users to define custom file streams.">sfInputStream</a>* stream);</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<a class="code" href="Audio_2Export_8h.htm#a7a489e428c325519799913f98f81f774">CSFML_AUDIO_API</a> <a class="code" href="Audio_2Types_8h.htm#a33a83b50f46a6b0d9c8b5bd9808e2b3f">sfSoundBuffer</a>* <a class="code" href="SoundBuffer_8h.htm#a194ce902c71f4303444abfc50ddf847e" title="Create a new sound buffer and load it from an array of samples in memory.">sfSoundBuffer_createFromSamples</a>(<span class="keyword">const</span> <a class="code" href="Config_8h.htm#a41552dc8bf60293b5cc8515dd5beaf0e">sfInt16</a>* samples, <span class="keywordtype">size_t</span> sampleCount, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channelCount, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sampleRate);</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<a class="code" href="Audio_2Export_8h.htm#a7a489e428c325519799913f98f81f774">CSFML_AUDIO_API</a> <a class="code" href="Audio_2Types_8h.htm#a33a83b50f46a6b0d9c8b5bd9808e2b3f">sfSoundBuffer</a>* <a class="code" href="SoundBuffer_8h.htm#a252862b4b650aad11681f46b7bb03d18" title="Create a new sound buffer by copying an existing one.">sfSoundBuffer_copy</a>(<span class="keyword">const</span> <a class="code" href="Audio_2Types_8h.htm#a33a83b50f46a6b0d9c8b5bd9808e2b3f">sfSoundBuffer</a>* soundBuffer);</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<a class="code" href="Audio_2Export_8h.htm#a7a489e428c325519799913f98f81f774">CSFML_AUDIO_API</a> <span class="keywordtype">void</span> <a class="code" href="SoundBuffer_8h.htm#ac5c6b7137c8aa50b08da1db4a2f9ffa7" title="Destroy a sound buffer.">sfSoundBuffer_destroy</a>(<a class="code" href="Audio_2Types_8h.htm#a33a83b50f46a6b0d9c8b5bd9808e2b3f">sfSoundBuffer</a>* soundBuffer);</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<a class="code" href="Audio_2Export_8h.htm#a7a489e428c325519799913f98f81f774">CSFML_AUDIO_API</a> <a class="code" href="Config_8h.htm#a7559f07a31bb3a4a3d865178ce4dc70b">sfBool</a> <a class="code" href="SoundBuffer_8h.htm#a000b174d5c34863bf6d09f81bb700865" title="Save a sound buffer to an audio file.">sfSoundBuffer_saveToFile</a>(<span class="keyword">const</span> <a class="code" href="Audio_2Types_8h.htm#a33a83b50f46a6b0d9c8b5bd9808e2b3f">sfSoundBuffer</a>* soundBuffer, <span class="keyword">const</span> <span class="keywordtype">char</span>* filename);</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<a class="code" href="Audio_2Export_8h.htm#a7a489e428c325519799913f98f81f774">CSFML_AUDIO_API</a> <span class="keyword">const</span> <a class="code" href="Config_8h.htm#a41552dc8bf60293b5cc8515dd5beaf0e">sfInt16</a>* <a class="code" href="SoundBuffer_8h.htm#a3f4db2035cf3d402821915c6acaa7e00" title="Get the array of audio samples stored in a sound buffer.">sfSoundBuffer_getSamples</a>(<span class="keyword">const</span> <a class="code" href="Audio_2Types_8h.htm#a33a83b50f46a6b0d9c8b5bd9808e2b3f">sfSoundBuffer</a>* soundBuffer);</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<a class="code" href="Audio_2Export_8h.htm#a7a489e428c325519799913f98f81f774">CSFML_AUDIO_API</a> <span class="keywordtype">size_t</span> <a class="code" href="SoundBuffer_8h.htm#a1b5d5a7c07a34d18b8b7e5cbd4bba124" title="Get the number of samples stored in a sound buffer.">sfSoundBuffer_getSampleCount</a>(<span class="keyword">const</span> <a class="code" href="Audio_2Types_8h.htm#a33a83b50f46a6b0d9c8b5bd9808e2b3f">sfSoundBuffer</a>* soundBuffer);</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<a class="code" href="Audio_2Export_8h.htm#a7a489e428c325519799913f98f81f774">CSFML_AUDIO_API</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="SoundBuffer_8h.htm#ad1292a6b5dfb16231699bbbdd8203929" title="Get the sample rate of a sound buffer.">sfSoundBuffer_getSampleRate</a>(<span class="keyword">const</span> <a class="code" href="Audio_2Types_8h.htm#a33a83b50f46a6b0d9c8b5bd9808e2b3f">sfSoundBuffer</a>* soundBuffer);</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<a class="code" href="Audio_2Export_8h.htm#a7a489e428c325519799913f98f81f774">CSFML_AUDIO_API</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="SoundBuffer_8h.htm#aa8dddfac12df7ed8f7dfde67d5cdf3bb" title="Get the number of channels used by a sound buffer.">sfSoundBuffer_getChannelCount</a>(<span class="keyword">const</span> <a class="code" href="Audio_2Types_8h.htm#a33a83b50f46a6b0d9c8b5bd9808e2b3f">sfSoundBuffer</a>* soundBuffer);</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<a class="code" href="Audio_2Export_8h.htm#a7a489e428c325519799913f98f81f774">CSFML_AUDIO_API</a> <a class="code" href="structsfTime.htm" title="Represents a time value.">sfTime</a> <a class="code" href="SoundBuffer_8h.htm#a7355363ded1eac71e4f6e6055070ba77" title="Get the total duration of a sound buffer.">sfSoundBuffer_getDuration</a>(<span class="keyword">const</span> <a class="code" href="Audio_2Types_8h.htm#a33a83b50f46a6b0d9c8b5bd9808e2b3f">sfSoundBuffer</a>* soundBuffer);</div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="preprocessor">#endif // SFML_SOUNDBUFFER_H</span></div>
</div><!-- fragment --></div><!-- contents -->
        </div>
        <div id="footer-container">
            <div id="footer">
                Copyright � Laurent Gomila &nbsp;::&nbsp;
                Documentation generated by <a href="http://www.doxygen.org/" title="doxygen website">doxygen</a> &nbsp;::&nbsp;
            </div>
        </div>
    </body>
</html>