266 lines
37 KiB
HTML
266 lines
37 KiB
HTML
<!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>SFML - Simple and Fast Multimedia Library</title>
|
|
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
|
<link rel="stylesheet" type="text/css" href="doxygen.css" title="default" media="screen,print" />
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<script type="text/javascript" src="clipboard.js"></script>
|
|
<script type="text/javascript" src="cookie.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="search/search.css" />
|
|
<link rel="stylesheet" type="text/css" href="searchOverrides.css" />
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(document).ready(function() { init_search(); });
|
|
/* @license-end */
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div id="banner-container">
|
|
<div id="banner">
|
|
<span id="sfml">SFML 3.0.0</span>
|
|
</div>
|
|
</div>
|
|
<div id="content">
|
|
<div>
|
|
<!-- Generated by Doxygen 1.12.0 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() { codefold.init(0); });
|
|
/* @license-end */
|
|
</script>
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="topics.html"><span>Topics</span></a></li>
|
|
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
|
<li><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
|
<li>
|
|
<div id="MSearchBox" class="MSearchBoxInactive">
|
|
<span class="left">
|
|
<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()"> </span>
|
|
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
|
|
onfocus="searchBox.OnSearchFieldFocus(true)"
|
|
onblur="searchBox.OnSearchFieldFocus(false)"
|
|
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
|
</span><span class="right">
|
|
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
|
|
</span>
|
|
</div>
|
|
</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>File Members</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function(){ initResizable(false); });
|
|
/* @license-end */
|
|
</script>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<div id="MSearchResults">
|
|
<div class="SRPage">
|
|
<div id="SRIndex">
|
|
<div id="SRResults"></div>
|
|
<div class="SRStatus" id="Loading">Loading...</div>
|
|
<div class="SRStatus" id="Searching">Searching...</div>
|
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_c0a853e81d6f1c1f0a3eb7a27dc24256.html">SFML</a></li><li class="navelem"><a class="el" href="dir_dd49ddb3ba8035e4a328f8c5f31cda7e.html">Audio</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div id="doc-content">
|
|
<div class="header">
|
|
<div class="headertitle"><div class="title">SoundBuffer.hpp</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<a href="SoundBuffer_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
|
|
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">//</span></div>
|
|
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">// SFML - Simple and Fast Multimedia Library</span></div>
|
|
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">// Copyright (C) 2007-2024 Laurent Gomila (laurent@sfml-dev.org)</span></div>
|
|
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">//</span></div>
|
|
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">// This software is provided 'as-is', without any express or implied warranty.</span></div>
|
|
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><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 id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment">//</span></div>
|
|
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">// Permission is granted to anyone to use this software for any purpose,</span></div>
|
|
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment">// including commercial applications, and to alter it and redistribute it freely,</span></div>
|
|
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment">// subject to the following restrictions:</span></div>
|
|
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment">//</span></div>
|
|
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment">// 1. The origin of this software must not be misrepresented;</span></div>
|
|
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">// you must not claim that you wrote the original software.</span></div>
|
|
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment">// If you use this software in a product, an acknowledgment</span></div>
|
|
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">// in the product documentation would be appreciated but is not required.</span></div>
|
|
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">//</span></div>
|
|
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment">// 2. Altered source versions must be plainly marked as such,</span></div>
|
|
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">// and must not be misrepresented as being the original software.</span></div>
|
|
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">//</span></div>
|
|
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">// 3. This notice may not be removed or altered from any source distribution.</span></div>
|
|
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">//</span></div>
|
|
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
|
|
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#pragma once</span></div>
|
|
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
|
|
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment">// Headers</span></div>
|
|
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#include <<a class="code" href="Audio_2Export_8hpp.html">SFML/Audio/Export.hpp</a>></span></div>
|
|
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
|
|
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#include <<a class="code" href="SoundChannel_8hpp.html">SFML/Audio/SoundChannel.hpp</a>></span></div>
|
|
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
|
|
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#include <<a class="code" href="Time_8hpp.html">SFML/System/Time.hpp</a>></span></div>
|
|
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
|
|
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor">#include <filesystem></span></div>
|
|
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">#include <unordered_set></span></div>
|
|
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="preprocessor">#include <vector></span></div>
|
|
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
|
|
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor">#include <cstddef></span></div>
|
|
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="preprocessor">#include <cstdint></span></div>
|
|
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
|
|
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
|
|
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesf.html">sf</a></div>
|
|
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span>{</div>
|
|
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="keyword">class </span>Sound;</div>
|
|
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="keyword">class </span>InputSoundFile;</div>
|
|
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="keyword">class </span>InputStream;</div>
|
|
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
|
|
<div class="foldopen" id="foldopen00054" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html"> 54</a></span><span class="keyword">class </span><a class="code hl_define" href="Audio_2Export_8hpp.html#a4d34c0f253824ac49bdd93545913eb89">SFML_AUDIO_API</a> <a class="code hl_class" href="classsf_1_1SoundBuffer.html">SoundBuffer</a></div>
|
|
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span>{</div>
|
|
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="keyword">public</span>:</div>
|
|
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#a7e322e6d110d54650e729c41112c4666"> 64</a></span> <a class="code hl_function" href="classsf_1_1SoundBuffer.html#a7e322e6d110d54650e729c41112c4666">SoundBuffer</a>() = <span class="keywordflow">default</span>;</div>
|
|
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
|
|
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#aaf000fc741ff27015907e8588263f4a6"> 72</a></span> <a class="code hl_function" href="classsf_1_1SoundBuffer.html#aaf000fc741ff27015907e8588263f4a6">SoundBuffer</a>(<span class="keyword">const</span> <a class="code hl_class" href="classsf_1_1SoundBuffer.html">SoundBuffer</a>& copy);</div>
|
|
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
|
|
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#a1b2344bb0444fd4ce864369a95df00c2"> 87</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classsf_1_1SoundBuffer.html#a1b2344bb0444fd4ce864369a95df00c2">SoundBuffer</a>(<span class="keyword">const</span> std::filesystem::path& filename);</div>
|
|
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
|
|
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#af34d1a5bb6db60aead02493090600891"> 103</a></span> <a class="code hl_function" href="classsf_1_1SoundBuffer.html#af34d1a5bb6db60aead02493090600891">SoundBuffer</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* data, std::size_t sizeInBytes);</div>
|
|
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
|
|
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#aee16d82812f9c803a55159bb44df891c"> 118</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classsf_1_1SoundBuffer.html#aee16d82812f9c803a55159bb44df891c">SoundBuffer</a>(<a class="code hl_class" href="classsf_1_1InputStream.html">InputStream</a>& stream);</div>
|
|
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> </div>
|
|
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#a4a1a60c07dac5f12d189f2b628fb607a"> 136</a></span> <a class="code hl_function" href="classsf_1_1SoundBuffer.html#a4a1a60c07dac5f12d189f2b628fb607a">SoundBuffer</a>(<span class="keyword">const</span> std::int16_t* samples,</div>
|
|
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> std::uint64_t sampleCount,</div>
|
|
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channelCount,</div>
|
|
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sampleRate,</div>
|
|
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keyword">const</span> std::vector<SoundChannel>& channelMap);</div>
|
|
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div>
|
|
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#aea240161724ffba74a0d6a9e277d3cd5"> 146</a></span> <a class="code hl_function" href="classsf_1_1SoundBuffer.html#aea240161724ffba74a0d6a9e277d3cd5">~SoundBuffer</a>();</div>
|
|
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> </div>
|
|
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#a54a9a27b31c1a787fd0ae65936f6a09d"> 161</a></span> [[nodiscard]] <span class="keywordtype">bool</span> <a class="code hl_function" href="classsf_1_1SoundBuffer.html#a54a9a27b31c1a787fd0ae65936f6a09d">loadFromFile</a>(<span class="keyword">const</span> std::filesystem::path& filename);</div>
|
|
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> </div>
|
|
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#af8cfa5599739a7edae69c5cba273d33f"> 177</a></span> [[nodiscard]] <span class="keywordtype">bool</span> <a class="code hl_function" href="classsf_1_1SoundBuffer.html#af8cfa5599739a7edae69c5cba273d33f">loadFromMemory</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* data, std::size_t sizeInBytes);</div>
|
|
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> </div>
|
|
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#ad292156b1e01f6dabd4c0c277d5e079e"> 192</a></span> [[nodiscard]] <span class="keywordtype">bool</span> <a class="code hl_function" href="classsf_1_1SoundBuffer.html#ad292156b1e01f6dabd4c0c277d5e079e">loadFromStream</a>(<a class="code hl_class" href="classsf_1_1InputStream.html">InputStream</a>& stream);</div>
|
|
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> </div>
|
|
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#a8189b2f4dc98bfaeefa49cd2c5a0fc33"> 210</a></span> [[nodiscard]] <span class="keywordtype">bool</span> <a class="code hl_function" href="classsf_1_1SoundBuffer.html#a8189b2f4dc98bfaeefa49cd2c5a0fc33">loadFromSamples</a>(<span class="keyword">const</span> std::int16_t* samples,</div>
|
|
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> std::uint64_t sampleCount,</div>
|
|
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channelCount,</div>
|
|
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sampleRate,</div>
|
|
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="keyword">const</span> std::vector<SoundChannel>& channelMap);</div>
|
|
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> </div>
|
|
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#ab6a37b1508233b505db66a0e47304ae8"> 227</a></span> [[nodiscard]] <span class="keywordtype">bool</span> <a class="code hl_function" href="classsf_1_1SoundBuffer.html#ab6a37b1508233b505db66a0e47304ae8">saveToFile</a>(<span class="keyword">const</span> std::filesystem::path& filename) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> </div>
|
|
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#a5ae1d0f4170add05ed9a8345f4745674"> 241</a></span> [[nodiscard]] <span class="keyword">const</span> std::int16_t* <a class="code hl_function" href="classsf_1_1SoundBuffer.html#a5ae1d0f4170add05ed9a8345f4745674">getSamples</a>() <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> </div>
|
|
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#a7dc9181bddf117b596e15cb5ffbf7c97"> 254</a></span> [[nodiscard]] std::uint64_t <a class="code hl_function" href="classsf_1_1SoundBuffer.html#a7dc9181bddf117b596e15cb5ffbf7c97">getSampleCount</a>() <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> </div>
|
|
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#a2c2cf0078ce0549246ecc4a1646212b4"> 268</a></span> [[nodiscard]] <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classsf_1_1SoundBuffer.html#a2c2cf0078ce0549246ecc4a1646212b4">getSampleRate</a>() <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> </div>
|
|
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#a127707b831d875ed790eef1aa2b9fcc3"> 281</a></span> [[nodiscard]] <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classsf_1_1SoundBuffer.html#a127707b831d875ed790eef1aa2b9fcc3">getChannelCount</a>() <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> </div>
|
|
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#a604d63466e4b89f9495147a215d4415c"> 294</a></span> [[nodiscard]] std::vector<SoundChannel> <a class="code hl_function" href="classsf_1_1SoundBuffer.html#a604d63466e4b89f9495147a215d4415c">getChannelMap</a>() <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> </div>
|
|
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#a280a581d9b360fd16121714c51fc8261"> 304</a></span> [[nodiscard]] <a class="code hl_class" href="classsf_1_1Time.html">Time</a> <a class="code hl_function" href="classsf_1_1SoundBuffer.html#a280a581d9b360fd16121714c51fc8261">getDuration</a>() <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> </div>
|
|
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#ad0b6f45d3008cd7d29d340195e68459a"> 314</a></span> <a class="code hl_class" href="classsf_1_1SoundBuffer.html">SoundBuffer</a>& <a class="code hl_function" href="classsf_1_1SoundBuffer.html#ad0b6f45d3008cd7d29d340195e68459a">operator=</a>(<span class="keyword">const</span> <a class="code hl_class" href="classsf_1_1SoundBuffer.html">SoundBuffer</a>& right);</div>
|
|
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> </div>
|
|
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span><span class="keyword">private</span>:</div>
|
|
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"><a class="line" href="classsf_1_1SoundBuffer.html#a50914f77c7cf4fb97616c898c5291f4b"> 317</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="classsf_1_1Sound.html">Sound</a>;</div>
|
|
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> </div>
|
|
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> [[nodiscard]] <span class="keywordtype">bool</span> initialize(<a class="code hl_class" href="classsf_1_1InputSoundFile.html">InputSoundFile</a>& file);</div>
|
|
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> </div>
|
|
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> [[nodiscard]] <span class="keywordtype">bool</span> update(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channelCount, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sampleRate, <span class="keyword">const</span> std::vector<SoundChannel>& channelMap);</div>
|
|
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> </div>
|
|
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> <span class="keywordtype">void</span> attachSound(<a class="code hl_class" href="classsf_1_1Sound.html">Sound</a>* sound) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> </div>
|
|
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> <span class="keywordtype">void</span> detachSound(<a class="code hl_class" href="classsf_1_1Sound.html">Sound</a>* sound) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> </div>
|
|
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> <span class="comment">// Types</span></div>
|
|
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> <span class="keyword">using </span>SoundList = std::unordered_set<Sound*>; </div>
|
|
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> </div>
|
|
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> <span class="comment">// Member data</span></div>
|
|
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> std::vector<std::int16_t> m_samples; </div>
|
|
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> m_sampleRate{44100}; </div>
|
|
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> std::vector<SoundChannel> m_channelMap{SoundChannel::Mono}; </div>
|
|
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> Time m_duration; </div>
|
|
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> <span class="keyword">mutable</span> SoundList m_sounds; </div>
|
|
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span>};</div>
|
|
</div>
|
|
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> </div>
|
|
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span>} <span class="comment">// namespace sf</span></div>
|
|
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> </div>
|
|
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> </div>
|
|
<div class="ttc" id="aAudio_2Export_8hpp_html"><div class="ttname"><a href="Audio_2Export_8hpp.html">Export.hpp</a></div></div>
|
|
<div class="ttc" id="aAudio_2Export_8hpp_html_a4d34c0f253824ac49bdd93545913eb89"><div class="ttname"><a href="Audio_2Export_8hpp.html#a4d34c0f253824ac49bdd93545913eb89">SFML_AUDIO_API</a></div><div class="ttdeci">#define SFML_AUDIO_API</div><div class="ttdef"><b>Definition</b> <a href="Audio_2Export_8hpp_source.html#l00042">Audio/Export.hpp:42</a></div></div>
|
|
<div class="ttc" id="aSoundChannel_8hpp_html"><div class="ttname"><a href="SoundChannel_8hpp.html">SoundChannel.hpp</a></div></div>
|
|
<div class="ttc" id="aTime_8hpp_html"><div class="ttname"><a href="Time_8hpp.html">Time.hpp</a></div></div>
|
|
<div class="ttc" id="aclasssf_1_1InputSoundFile_html"><div class="ttname"><a href="classsf_1_1InputSoundFile.html">sf::InputSoundFile</a></div><div class="ttdoc">Provide read access to sound files.</div><div class="ttdef"><b>Definition</b> <a href="InputSoundFile_8hpp_source.html#l00051">InputSoundFile.hpp:52</a></div></div>
|
|
<div class="ttc" id="aclasssf_1_1InputStream_html"><div class="ttname"><a href="classsf_1_1InputStream.html">sf::InputStream</a></div><div class="ttdoc">Abstract class for custom file input streams.</div><div class="ttdef"><b>Definition</b> <a href="InputStream_8hpp_source.html#l00045">InputStream.hpp:46</a></div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html"><div class="ttname"><a href="classsf_1_1SoundBuffer.html">sf::SoundBuffer</a></div><div class="ttdoc">Storage for audio samples defining a sound.</div><div class="ttdef"><b>Definition</b> <a href="#l00054">SoundBuffer.hpp:55</a></div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_a127707b831d875ed790eef1aa2b9fcc3"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#a127707b831d875ed790eef1aa2b9fcc3">sf::SoundBuffer::getChannelCount</a></div><div class="ttdeci">unsigned int getChannelCount() const</div><div class="ttdoc">Get the number of channels used by the sound.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_a1b2344bb0444fd4ce864369a95df00c2"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#a1b2344bb0444fd4ce864369a95df00c2">sf::SoundBuffer::SoundBuffer</a></div><div class="ttdeci">SoundBuffer(const std::filesystem::path &filename)</div><div class="ttdoc">Construct the sound buffer from a file.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_a280a581d9b360fd16121714c51fc8261"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#a280a581d9b360fd16121714c51fc8261">sf::SoundBuffer::getDuration</a></div><div class="ttdeci">Time getDuration() const</div><div class="ttdoc">Get the total duration of the sound.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_a2c2cf0078ce0549246ecc4a1646212b4"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#a2c2cf0078ce0549246ecc4a1646212b4">sf::SoundBuffer::getSampleRate</a></div><div class="ttdeci">unsigned int getSampleRate() const</div><div class="ttdoc">Get the sample rate of the sound.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_a4a1a60c07dac5f12d189f2b628fb607a"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#a4a1a60c07dac5f12d189f2b628fb607a">sf::SoundBuffer::SoundBuffer</a></div><div class="ttdeci">SoundBuffer(const std::int16_t *samples, std::uint64_t sampleCount, unsigned int channelCount, unsigned int sampleRate, const std::vector< SoundChannel > &channelMap)</div><div class="ttdoc">Construct the sound buffer from an array of audio samples.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_a54a9a27b31c1a787fd0ae65936f6a09d"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#a54a9a27b31c1a787fd0ae65936f6a09d">sf::SoundBuffer::loadFromFile</a></div><div class="ttdeci">bool loadFromFile(const std::filesystem::path &filename)</div><div class="ttdoc">Load the sound buffer from a file.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_a5ae1d0f4170add05ed9a8345f4745674"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#a5ae1d0f4170add05ed9a8345f4745674">sf::SoundBuffer::getSamples</a></div><div class="ttdeci">const std::int16_t * getSamples() const</div><div class="ttdoc">Get the array of audio samples stored in the buffer.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_a604d63466e4b89f9495147a215d4415c"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#a604d63466e4b89f9495147a215d4415c">sf::SoundBuffer::getChannelMap</a></div><div class="ttdeci">std::vector< SoundChannel > getChannelMap() const</div><div class="ttdoc">Get the map of position in sample frame to sound channel.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_a7dc9181bddf117b596e15cb5ffbf7c97"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#a7dc9181bddf117b596e15cb5ffbf7c97">sf::SoundBuffer::getSampleCount</a></div><div class="ttdeci">std::uint64_t getSampleCount() const</div><div class="ttdoc">Get the number of samples stored in the buffer.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_a7e322e6d110d54650e729c41112c4666"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#a7e322e6d110d54650e729c41112c4666">sf::SoundBuffer::SoundBuffer</a></div><div class="ttdeci">SoundBuffer()=default</div><div class="ttdoc">Default constructor.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_a8189b2f4dc98bfaeefa49cd2c5a0fc33"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#a8189b2f4dc98bfaeefa49cd2c5a0fc33">sf::SoundBuffer::loadFromSamples</a></div><div class="ttdeci">bool loadFromSamples(const std::int16_t *samples, std::uint64_t sampleCount, unsigned int channelCount, unsigned int sampleRate, const std::vector< SoundChannel > &channelMap)</div><div class="ttdoc">Load the sound buffer from an array of audio samples.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_aaf000fc741ff27015907e8588263f4a6"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#aaf000fc741ff27015907e8588263f4a6">sf::SoundBuffer::SoundBuffer</a></div><div class="ttdeci">SoundBuffer(const SoundBuffer &copy)</div><div class="ttdoc">Copy constructor.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_ab6a37b1508233b505db66a0e47304ae8"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#ab6a37b1508233b505db66a0e47304ae8">sf::SoundBuffer::saveToFile</a></div><div class="ttdeci">bool saveToFile(const std::filesystem::path &filename) const</div><div class="ttdoc">Save the sound buffer to an audio file.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_ad0b6f45d3008cd7d29d340195e68459a"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#ad0b6f45d3008cd7d29d340195e68459a">sf::SoundBuffer::operator=</a></div><div class="ttdeci">SoundBuffer & operator=(const SoundBuffer &right)</div><div class="ttdoc">Overload of assignment operator.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_ad292156b1e01f6dabd4c0c277d5e079e"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#ad292156b1e01f6dabd4c0c277d5e079e">sf::SoundBuffer::loadFromStream</a></div><div class="ttdeci">bool loadFromStream(InputStream &stream)</div><div class="ttdoc">Load the sound buffer from a custom stream.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_aea240161724ffba74a0d6a9e277d3cd5"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#aea240161724ffba74a0d6a9e277d3cd5">sf::SoundBuffer::~SoundBuffer</a></div><div class="ttdeci">~SoundBuffer()</div><div class="ttdoc">Destructor.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_aee16d82812f9c803a55159bb44df891c"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#aee16d82812f9c803a55159bb44df891c">sf::SoundBuffer::SoundBuffer</a></div><div class="ttdeci">SoundBuffer(InputStream &stream)</div><div class="ttdoc">Construct the sound buffer from a custom stream.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_af34d1a5bb6db60aead02493090600891"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#af34d1a5bb6db60aead02493090600891">sf::SoundBuffer::SoundBuffer</a></div><div class="ttdeci">SoundBuffer(const void *data, std::size_t sizeInBytes)</div><div class="ttdoc">Construct the sound buffer from a file in memory.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1SoundBuffer_html_af8cfa5599739a7edae69c5cba273d33f"><div class="ttname"><a href="classsf_1_1SoundBuffer.html#af8cfa5599739a7edae69c5cba273d33f">sf::SoundBuffer::loadFromMemory</a></div><div class="ttdeci">bool loadFromMemory(const void *data, std::size_t sizeInBytes)</div><div class="ttdoc">Load the sound buffer from a file in memory.</div></div>
|
|
<div class="ttc" id="aclasssf_1_1Sound_html"><div class="ttname"><a href="classsf_1_1Sound.html">sf::Sound</a></div><div class="ttdoc">Regular sound that can be played in the audio environment.</div><div class="ttdef"><b>Definition</b> <a href="Sound_8hpp_source.html#l00047">Sound.hpp:48</a></div></div>
|
|
<div class="ttc" id="aclasssf_1_1Time_html"><div class="ttname"><a href="classsf_1_1Time.html">sf::Time</a></div><div class="ttdoc">Represents a time value.</div><div class="ttdef"><b>Definition</b> <a href="Time_8hpp_source.html#l00041">Time.hpp:42</a></div></div>
|
|
<div class="ttc" id="anamespacesf_html"><div class="ttname"><a href="namespacesf.html">sf</a></div><div class="ttdef"><b>Definition</b> <a href="AudioResource_8hpp_source.html#l00035">AudioResource.hpp:36</a></div></div>
|
|
</div><!-- fragment --></div><!-- contents -->
|
|
</div>
|
|
<div id="footer-container">
|
|
<div id="footer">
|
|
SFML is licensed under the terms and conditions of the <a href="https://www.sfml-dev.org/license.php">zlib/png license</a>.<br />
|
|
Copyright © Laurent Gomila ::
|
|
Documentation generated by <a href="http://www.doxygen.org/" title="doxygen website">doxygen</a> ::
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|