Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-release > by-pkgid > 4f48f620eaa1d8b8f904a92a0540d40f > files > 650

audaspace-doc-1.3.0-18.mga7.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Audaspace: devices/SoftwareDevice.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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.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 id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Audaspace
   &#160;<span id="projectnumber">1.3.0</span>
   </div>
   <div id="projectbrief">A high level audio library.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- 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">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_0ae5fd04a9b991f2c376fafa197d3147.html">devices</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">SoftwareDevice.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="SoftwareDevice_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>&#160;<span class="comment">/*******************************************************************************</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright 2009-2016 Jörg Müller</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *   http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> ******************************************************************************/</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IDevice_8h.html">devices/IDevice.h</a>&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IHandle_8h.html">devices/IHandle.h</a>&quot;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="I3DDevice_8h.html">devices/I3DDevice.h</a>&quot;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="I3DHandle_8h.html">devices/I3DHandle.h</a>&quot;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="DefaultSynchronizer_8h.html">devices/DefaultSynchronizer.h</a>&quot;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Buffer_8h.html">util/Buffer.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;mutex&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<a class="code" href="Audaspace_8h.html#acd7584504197a1397aaf57af797e1813">AUD_NAMESPACE_BEGIN</a></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;<span class="keyword">class </span><a class="code" href="classMixer.html">Mixer</a>;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">class </span><a class="code" href="classPitchReader.html">PitchReader</a>;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">class </span><a class="code" href="classResampleReader.html">ResampleReader</a>;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">class </span><a class="code" href="classChannelMapperReader.html">ChannelMapperReader</a>;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classSoftwareDevice.html">   51</a></span>&#160;<span class="keyword">class </span><a class="code" href="Audaspace_8h.html#ad9080e3b9907fa3d0f5df561c65aa098">AUD_API</a> <a class="code" href="classSoftwareDevice.html">SoftwareDevice</a> : <span class="keyword">public</span> <a class="code" href="classIDevice.html">IDevice</a>, <span class="keyword">public</span> <a class="code" href="classI3DDevice.html">I3DDevice</a></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;{</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html">   55</a></span>&#160;    <span class="keyword">class </span><a class="code" href="Audaspace_8h.html#ad9080e3b9907fa3d0f5df561c65aa098">AUD_API</a> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html">SoftwareHandle</a> : <span class="keyword">public</span> <a class="code" href="classIHandle.html">IHandle</a>, <span class="keyword">public</span> <a class="code" href="classI3DHandle.html">I3DHandle</a></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    {</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keyword">private</span>:</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        <span class="comment">// delete copy constructor and operator=</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html">SoftwareHandle</a>(<span class="keyword">const</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html">SoftwareHandle</a>&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html">SoftwareHandle</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html">SoftwareHandle</a>&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#aca98817a2a38a78f73104c670563a3d1">   64</a></span>&#160;        std::shared_ptr&lt;IReader&gt; <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#aca98817a2a38a78f73104c670563a3d1">m_reader</a>;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#a2ce387a60f37ea0eb2cf7910a92251b1">   67</a></span>&#160;        std::shared_ptr&lt;PitchReader&gt; <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#a2ce387a60f37ea0eb2cf7910a92251b1">m_pitch</a>;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#a23dd418f98765dcd87b8a4416789cb7e">   70</a></span>&#160;        std::shared_ptr&lt;ResampleReader&gt; <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#a23dd418f98765dcd87b8a4416789cb7e">m_resampler</a>;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#a5e1696164b82b24080273fcc93a7ec2d">   73</a></span>&#160;        std::shared_ptr&lt;ChannelMapperReader&gt; <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#a5e1696164b82b24080273fcc93a7ec2d">m_mapper</a>;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#af5329c270ef297a1e28d36bdeec92cc8">   76</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#af5329c270ef297a1e28d36bdeec92cc8">m_keep</a>;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#ac96e39999e5cf011340daf822b6e101d">   79</a></span>&#160;        <span class="keywordtype">float</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#ac96e39999e5cf011340daf822b6e101d">m_user_pitch</a>;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#abf22fa4b27480500f7cb01eef20cbb4a">   82</a></span>&#160;        <span class="keywordtype">float</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#abf22fa4b27480500f7cb01eef20cbb4a">m_user_volume</a>;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#a32c2b87ef8f0b4a14db9abc678ce9787">   85</a></span>&#160;        <span class="keywordtype">float</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#a32c2b87ef8f0b4a14db9abc678ce9787">m_user_pan</a>;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#a53fc06c18ab95caf9d3ba07c2c87579b">   88</a></span>&#160;        <span class="keywordtype">float</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#a53fc06c18ab95caf9d3ba07c2c87579b">m_volume</a>;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#a23df10e40441202f72cf29f3572db62f">   91</a></span>&#160;        <span class="keywordtype">float</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#a23df10e40441202f72cf29f3572db62f">m_old_volume</a>;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#a78c142c47c058650b02a4575c70ee161">   94</a></span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#a78c142c47c058650b02a4575c70ee161">m_loopcount</a>;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#a94264ef787c52ce29fe4c2ab0814120b">   97</a></span>&#160;        <a class="code" href="classVector3.html">Vector3</a> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#a94264ef787c52ce29fe4c2ab0814120b">m_location</a>;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#a64a5727eca7b0841cc1402a0c82d9c9f">  100</a></span>&#160;        <a class="code" href="classVector3.html">Vector3</a> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#a64a5727eca7b0841cc1402a0c82d9c9f">m_velocity</a>;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#a6499bba7d6ed4d275b6782043d7a70e7">  103</a></span>&#160;        <a class="code" href="classQuaternion.html">Quaternion</a> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#a6499bba7d6ed4d275b6782043d7a70e7">m_orientation</a>;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#a6fc8815136d3224d8fe16a360f660101">  106</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#a6fc8815136d3224d8fe16a360f660101">m_relative</a>;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#a8b0d8749e620477e457d33b1fcddd025">  109</a></span>&#160;        <span class="keywordtype">float</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#a8b0d8749e620477e457d33b1fcddd025">m_volume_max</a>;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#af4abb84a41acdfe5b499df43564b1be7">  112</a></span>&#160;        <span class="keywordtype">float</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#af4abb84a41acdfe5b499df43564b1be7">m_volume_min</a>;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#aba3354035852bc497312cc0592f3ff0a">  115</a></span>&#160;        <span class="keywordtype">float</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#aba3354035852bc497312cc0592f3ff0a">m_distance_max</a>;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#a0f6a142f1d43d3902554ca825e8b9dd3">  118</a></span>&#160;        <span class="keywordtype">float</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#a0f6a142f1d43d3902554ca825e8b9dd3">m_distance_reference</a>;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#a3fefc4a07d0961f492bb01d4715b5b3c">  121</a></span>&#160;        <span class="keywordtype">float</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#a3fefc4a07d0961f492bb01d4715b5b3c">m_attenuation</a>;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#ab73fb0faffbe701d02f6d36b62bb380f">  124</a></span>&#160;        <span class="keywordtype">float</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#ab73fb0faffbe701d02f6d36b62bb380f">m_cone_angle_outer</a>;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#a88734f6407af5bcc79273a1f73834e47">  127</a></span>&#160;        <span class="keywordtype">float</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#a88734f6407af5bcc79273a1f73834e47">m_cone_angle_inner</a>;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#adc542e4a15a89a22708cf94b3d94296b">  130</a></span>&#160;        <span class="keywordtype">float</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#adc542e4a15a89a22708cf94b3d94296b">m_cone_volume_outer</a>;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#a635e4af2e8cc8177173802d700c5c45e">  133</a></span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#a635e4af2e8cc8177173802d700c5c45e">m_flags</a>;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#af7f39e9080fb547feb601e273a23f443">  136</a></span>&#160;        <a class="code" href="IHandle_8h.html#ad7147ffa399f8915e95b9e2eb94ca6e5">stopCallback</a> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#af7f39e9080fb547feb601e273a23f443">m_stop</a>;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#acc2a820ab3667a6960ee209652cf6b9a">  139</a></span>&#160;        <span class="keywordtype">void</span>* <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#acc2a820ab3667a6960ee209652cf6b9a">m_stop_data</a>;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#af743fa16b687281d1868a87e71a97f7c">  142</a></span>&#160;        <a class="code" href="IHandle_8h.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#af743fa16b687281d1868a87e71a97f7c">m_status</a>;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classSoftwareDevice_1_1SoftwareHandle.html#a2a72f19e9066d1cb60b7707d3aa04a33">  145</a></span>&#160;        <a class="code" href="classSoftwareDevice.html">SoftwareDevice</a>* <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html#a2a72f19e9066d1cb60b7707d3aa04a33">m_device</a>;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classIHandle.html#a0fc16e686a1877ba08e251ba61b58aa0">pause</a>(<span class="keywordtype">bool</span> keep);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        <a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html">SoftwareHandle</a>(<a class="code" href="classSoftwareDevice.html">SoftwareDevice</a>* device, std::shared_ptr&lt;IReader&gt; reader, std::shared_ptr&lt;PitchReader&gt; pitch, std::shared_ptr&lt;ResampleReader&gt; resampler, std::shared_ptr&lt;ChannelMapperReader&gt; mapper, <span class="keywordtype">bool</span> keep);</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        <span class="keywordtype">void</span> update();</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        <span class="keywordtype">void</span> setSpecs(<a class="code" href="structSpecs.html">Specs</a> specs);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        <span class="keyword">virtual</span> ~<a class="code" href="classSoftwareDevice_1_1SoftwareHandle.html">SoftwareHandle</a>() {}</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classIHandle.html#a0fc16e686a1877ba08e251ba61b58aa0">pause</a>();</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classIHandle.html#abfb96fe7ece8de8336a2cceeb1d7f5a3">resume</a>();</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classIHandle.html#a6baaee5885c8aa04e56172f3bb43728b">stop</a>();</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classIHandle.html#a02006cf45d391395441bad4395ae24a8">getKeep</a>();</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classIHandle.html#a73929d9cc4b8e360341f813182d53517">setKeep</a>(<span class="keywordtype">bool</span> keep);</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classIHandle.html#a9c88264d4a2fae2e7eedb6b219d2c2d5">seek</a>(<span class="keywordtype">float</span> position);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classIHandle.html#a820f82815f4fbe912c904fd1545505ac">getPosition</a>();</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        <span class="keyword">virtual</span> <a class="code" href="IHandle_8h.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> <a class="code" href="classIHandle.html#a37f66a258a3f296b72bf22b472203244">getStatus</a>();</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classIHandle.html#aea0709d0f78e9293abc68dc38ad8eade">getVolume</a>();</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classIHandle.html#ab67d0b33d9c3c8ea4cc3765c3dcd27c9">setVolume</a>(<span class="keywordtype">float</span> volume);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classIHandle.html#a25dd1e605398070f8c3dfee577c4ce90">getPitch</a>();</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classIHandle.html#af7af272f12401f9613b46a3fd0569a91">setPitch</a>(<span class="keywordtype">float</span> pitch);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classIHandle.html#aa5e9c70dc7ac6189aba0d37ebaab2afe">getLoopCount</a>();</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classIHandle.html#a193603d25c7c64f8e8df2c34293533e0">setLoopCount</a>(<span class="keywordtype">int</span> count);</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classIHandle.html#af9e65dd5913ce74b8429e0f1f75564a0">setStopCallback</a>(<a class="code" href="IHandle_8h.html#ad7147ffa399f8915e95b9e2eb94ca6e5">stopCallback</a> callback = 0, <span class="keywordtype">void</span>* data = 0);</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;        <span class="keyword">virtual</span> <a class="code" href="classVector3.html">Vector3</a> <a class="code" href="classI3DHandle.html#a81f9b783e07e9a72b40d4b9b88480682">getLocation</a>();</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classI3DHandle.html#a5edc8bc2c64f8c867c90e9b76e1f8491">setLocation</a>(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>&amp; location);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classVector3.html">Vector3</a> <a class="code" href="classI3DHandle.html#a1e5068227872fe465de3ac38f1547f69">getVelocity</a>();</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classI3DHandle.html#ae7a472f61f3f945fa004fef58eb5a5e9">setVelocity</a>(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>&amp; velocity);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classQuaternion.html">Quaternion</a> <a class="code" href="classI3DHandle.html#a9485f7d76a55806fe8c80f1d21e163bb">getOrientation</a>();</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classI3DHandle.html#a5a259026e9959fb0bd2ddda701711365">setOrientation</a>(<span class="keyword">const</span> <a class="code" href="classQuaternion.html">Quaternion</a>&amp; orientation);</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classI3DHandle.html#a16d8b359497163c3a539c200f62391e3">isRelative</a>();</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classI3DHandle.html#a6636735a3e7e365322bba67760d8793a">setRelative</a>(<span class="keywordtype">bool</span> relative);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classI3DHandle.html#a8f19f9e6ca489f80548ff137825dab3c">getVolumeMaximum</a>();</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classI3DHandle.html#a3c80f5b082be3a71c48260e1eeac8d24">setVolumeMaximum</a>(<span class="keywordtype">float</span> volume);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classI3DHandle.html#a76c9219f7bd58f309c5bfe4f0ee31cb3">getVolumeMinimum</a>();</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classI3DHandle.html#a255b5eff3d6a1da10108c5126f6f13ab">setVolumeMinimum</a>(<span class="keywordtype">float</span> volume);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classI3DHandle.html#acef6b54740731fb278aa787d2665a7a2">getDistanceMaximum</a>();</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classI3DHandle.html#a5f6052f088453b89b78e66dc434a1bed">setDistanceMaximum</a>(<span class="keywordtype">float</span> distance);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classI3DHandle.html#acb34a56d349f172cd9727eaa8b24571c">getDistanceReference</a>();</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classI3DHandle.html#a8d0873d1a9c8906886d47118e818050e">setDistanceReference</a>(<span class="keywordtype">float</span> distance);</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classI3DHandle.html#ad9a234df224260d9b88021304d0a768a">getAttenuation</a>();</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classI3DHandle.html#a39b003fda524169c1748b06c880980db">setAttenuation</a>(<span class="keywordtype">float</span> factor);</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classI3DHandle.html#aa3b3d0809e79392ffb9708581f6661d3">getConeAngleOuter</a>();</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classI3DHandle.html#a8fc726e7c169975c6e3e9e8f8d5a2d7b">setConeAngleOuter</a>(<span class="keywordtype">float</span> angle);</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classI3DHandle.html#a4aefb97f667fd50d96c5ceb4f7826b97">getConeAngleInner</a>();</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classI3DHandle.html#afef104a4745424c7640d355750470e41">setConeAngleInner</a>(<span class="keywordtype">float</span> angle);</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classI3DHandle.html#aa9a28ab1d5aa35aea17bedfa601c5e4b">getConeVolumeOuter</a>();</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classI3DHandle.html#a8abaaaf6fb9cb57b34f27bd3b36e8fac">setConeVolumeOuter</a>(<span class="keywordtype">float</span> volume);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    };</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="classSoftwareDevice.html#a188ff7a41ee8c89f7e6ae15baf3b9744">  223</a></span>&#160;    <a class="code" href="structDeviceSpecs.html">DeviceSpecs</a> <a class="code" href="classSoftwareDevice.html#a188ff7a41ee8c89f7e6ae15baf3b9744">m_specs</a>;</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="classSoftwareDevice.html#a1a06ff591bd611073d0c826c1d0ab2ee">  228</a></span>&#160;    std::shared_ptr&lt;Mixer&gt; <a class="code" href="classSoftwareDevice.html#a1a06ff591bd611073d0c826c1d0ab2ee">m_mixer</a>;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;</div><div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="classSoftwareDevice.html#a6a7c5217dd4a4f5c3f7e26f798a5d3e5">  233</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classSoftwareDevice.html#a6a7c5217dd4a4f5c3f7e26f798a5d3e5">m_quality</a>;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    <span class="keywordtype">void</span> create();</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    <span class="keywordtype">void</span> destroy();</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="keywordtype">void</span> mix(<a class="code" href="Audaspace_8h.html#ae91c9d70e1e2c8b657e51de1fff60ada">data_t</a>* buffer, <span class="keywordtype">int</span> length);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> playing(<span class="keywordtype">bool</span> playing)=0;</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    <span class="keywordtype">void</span> setSpecs(<a class="code" href="structSpecs.html">Specs</a> specs);</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <a class="code" href="classSoftwareDevice.html">SoftwareDevice</a>();</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    <a class="code" href="classBuffer.html">Buffer</a> m_buffer;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    std::list&lt;std::shared_ptr&lt;SoftwareHandle&gt; &gt; m_playingSounds;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    std::list&lt;std::shared_ptr&lt;SoftwareHandle&gt; &gt; m_pausedSounds;</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    <span class="keywordtype">bool</span> m_playback;</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    std::recursive_mutex m_mutex;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    <span class="keywordtype">float</span> m_volume;</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    <a class="code" href="classVector3.html">Vector3</a> m_location;</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    <a class="code" href="classVector3.html">Vector3</a> m_velocity;</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    <a class="code" href="classQuaternion.html">Quaternion</a> m_orientation;</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <span class="keywordtype">float</span> m_speed_of_sound;</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <span class="keywordtype">float</span> m_doppler_factor;</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <a class="code" href="I3DDevice_8h.html#a5e42e9a2b2a31997de7556c983d15ffd">DistanceModel</a> m_distance_model;</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    <span class="keywordtype">int</span> m_flags;</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;    <a class="code" href="classDefaultSynchronizer.html">DefaultSynchronizer</a> m_synchronizer;</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    <span class="comment">// delete copy constructor and operator=</span></div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    <a class="code" href="classSoftwareDevice.html">SoftwareDevice</a>(<span class="keyword">const</span> <a class="code" href="classSoftwareDevice.html">SoftwareDevice</a>&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;    <a class="code" href="classSoftwareDevice.html">SoftwareDevice</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classSoftwareDevice.html">SoftwareDevice</a>&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> setPanning(<a class="code" href="classIHandle.html">IHandle</a>* handle, <span class="keywordtype">float</span> pan);</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    <span class="keywordtype">void</span> setQuality(<span class="keywordtype">bool</span> quality);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="structDeviceSpecs.html">DeviceSpecs</a> getSpecs() <span class="keyword">const</span>;</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    <span class="keyword">virtual</span> std::shared_ptr&lt;IHandle&gt; play(std::shared_ptr&lt;IReader&gt; reader, <span class="keywordtype">bool</span> keep = <span class="keyword">false</span>);</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    <span class="keyword">virtual</span> std::shared_ptr&lt;IHandle&gt; play(std::shared_ptr&lt;ISound&gt; sound, <span class="keywordtype">bool</span> keep = <span class="keyword">false</span>);</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> stopAll();</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> lock();</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> unlock();</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classIHandle.html#aea0709d0f78e9293abc68dc38ad8eade">getVolume</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classIHandle.html#ab67d0b33d9c3c8ea4cc3765c3dcd27c9">setVolume</a>(<span class="keywordtype">float</span> volume);</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classISynchronizer.html">ISynchronizer</a>* getSynchronizer();</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classVector3.html">Vector3</a> getListenerLocation() <span class="keyword">const</span>;</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setListenerLocation(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>&amp; location);</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classVector3.html">Vector3</a> getListenerVelocity() <span class="keyword">const</span>;</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setListenerVelocity(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>&amp; velocity);</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classQuaternion.html">Quaternion</a> getListenerOrientation() <span class="keyword">const</span>;</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setListenerOrientation(<span class="keyword">const</span> <a class="code" href="classQuaternion.html">Quaternion</a>&amp; orientation);</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">float</span> getSpeedOfSound() <span class="keyword">const</span>;</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setSpeedOfSound(<span class="keywordtype">float</span> speed);</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">float</span> getDopplerFactor() <span class="keyword">const</span>;</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setDopplerFactor(<span class="keywordtype">float</span> factor);</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="I3DDevice_8h.html#a5e42e9a2b2a31997de7556c983d15ffd">DistanceModel</a> getDistanceModel() <span class="keyword">const</span>;</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setDistanceModel(<a class="code" href="I3DDevice_8h.html#a5e42e9a2b2a31997de7556c983d15ffd">DistanceModel</a> model);</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;};</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<a class="code" href="Audaspace_8h.html#a4cf7088a9bb0256563f28fd13c80b066">AUD_NAMESPACE_END</a></div><div class="ttc" id="classQuaternion_html"><div class="ttname"><a href="classQuaternion.html">Quaternion</a></div><div class="ttdoc">This class represents a quaternion used for 3D rotations.</div><div class="ttdef"><b>Definition:</b> Math3D.h:205</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_af5329c270ef297a1e28d36bdeec92cc8"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#af5329c270ef297a1e28d36bdeec92cc8">SoftwareDevice::SoftwareHandle::m_keep</a></div><div class="ttdeci">bool m_keep</div><div class="ttdoc">Whether to keep the source if end of it is reached.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:76</div></div>
<div class="ttc" id="Audaspace_8h_html_acd7584504197a1397aaf57af797e1813"><div class="ttname"><a href="Audaspace_8h.html#acd7584504197a1397aaf57af797e1813">AUD_NAMESPACE_BEGIN</a></div><div class="ttdeci">#define AUD_NAMESPACE_BEGIN</div><div class="ttdoc">Opens the audaspace namespace aud.</div><div class="ttdef"><b>Definition:</b> Audaspace.h:116</div></div>
<div class="ttc" id="classMixer_html"><div class="ttname"><a href="classMixer.html">Mixer</a></div><div class="ttdoc">This abstract class is able to mix audiosignals with same channel count and sample rate and convert i...</div><div class="ttdef"><b>Definition:</b> Mixer.h:39</div></div>
<div class="ttc" id="classSoftwareDevice_html_a1a06ff591bd611073d0c826c1d0ab2ee"><div class="ttname"><a href="classSoftwareDevice.html#a1a06ff591bd611073d0c826c1d0ab2ee">SoftwareDevice::m_mixer</a></div><div class="ttdeci">std::shared_ptr&lt; Mixer &gt; m_mixer</div><div class="ttdoc">The mixer.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:228</div></div>
<div class="ttc" id="classIHandle_html_a6baaee5885c8aa04e56172f3bb43728b"><div class="ttname"><a href="classIHandle.html#a6baaee5885c8aa04e56172f3bb43728b">IHandle::stop</a></div><div class="ttdeci">virtual bool stop()=0</div><div class="ttdoc">Stops a played back or paused sound.</div></div>
<div class="ttc" id="IDevice_8h_html"><div class="ttname"><a href="IDevice_8h.html">IDevice.h</a></div><div class="ttdoc">The IDevice interface.</div></div>
<div class="ttc" id="classIHandle_html_a73929d9cc4b8e360341f813182d53517"><div class="ttname"><a href="classIHandle.html#a73929d9cc4b8e360341f813182d53517">IHandle::setKeep</a></div><div class="ttdeci">virtual bool setKeep(bool keep)=0</div><div class="ttdoc">Sets the behaviour of the device for a played back sound when the sound doesn't return any more sampl...</div></div>
<div class="ttc" id="classIHandle_html_a25dd1e605398070f8c3dfee577c4ce90"><div class="ttname"><a href="classIHandle.html#a25dd1e605398070f8c3dfee577c4ce90">IHandle::getPitch</a></div><div class="ttdeci">virtual float getPitch()=0</div><div class="ttdoc">Retrieves the pitch of a playing sound.</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_acc2a820ab3667a6960ee209652cf6b9a"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#acc2a820ab3667a6960ee209652cf6b9a">SoftwareDevice::SoftwareHandle::m_stop_data</a></div><div class="ttdeci">void * m_stop_data</div><div class="ttdoc">Stop callback data.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:139</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_af4abb84a41acdfe5b499df43564b1be7"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#af4abb84a41acdfe5b499df43564b1be7">SoftwareDevice::SoftwareHandle::m_volume_min</a></div><div class="ttdeci">float m_volume_min</div><div class="ttdoc">Minimum volume.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:112</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_a23df10e40441202f72cf29f3572db62f"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#a23df10e40441202f72cf29f3572db62f">SoftwareDevice::SoftwareHandle::m_old_volume</a></div><div class="ttdeci">float m_old_volume</div><div class="ttdoc">The previous calculated final volume of the source.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:91</div></div>
<div class="ttc" id="classI3DHandle_html_aa9a28ab1d5aa35aea17bedfa601c5e4b"><div class="ttname"><a href="classI3DHandle.html#aa9a28ab1d5aa35aea17bedfa601c5e4b">I3DHandle::getConeVolumeOuter</a></div><div class="ttdeci">virtual float getConeVolumeOuter()=0</div><div class="ttdoc">Retrieves the outer volume of the cone of a source.</div></div>
<div class="ttc" id="classI3DHandle_html_a8f19f9e6ca489f80548ff137825dab3c"><div class="ttname"><a href="classI3DHandle.html#a8f19f9e6ca489f80548ff137825dab3c">I3DHandle::getVolumeMaximum</a></div><div class="ttdeci">virtual float getVolumeMaximum()=0</div><div class="ttdoc">Retrieves the maximum volume of a source.</div></div>
<div class="ttc" id="classISynchronizer_html"><div class="ttname"><a href="classISynchronizer.html">ISynchronizer</a></div><div class="ttdoc">This class enables global synchronization of several audio applications if supported.</div><div class="ttdef"><b>Definition:</b> ISynchronizer.h:38</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html">SoftwareDevice::SoftwareHandle</a></div><div class="ttdoc">Saves the data for playback.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:55</div></div>
<div class="ttc" id="classIHandle_html_af9e65dd5913ce74b8429e0f1f75564a0"><div class="ttname"><a href="classIHandle.html#af9e65dd5913ce74b8429e0f1f75564a0">IHandle::setStopCallback</a></div><div class="ttdeci">virtual bool setStopCallback(stopCallback callback=0, void *data=0)=0</div><div class="ttdoc">Sets the callback function that's called when the end of a playing sound is reached.</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_a0f6a142f1d43d3902554ca825e8b9dd3"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#a0f6a142f1d43d3902554ca825e8b9dd3">SoftwareDevice::SoftwareHandle::m_distance_reference</a></div><div class="ttdeci">float m_distance_reference</div><div class="ttdoc">Reference distance;.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:118</div></div>
<div class="ttc" id="Audaspace_8h_html_ad9080e3b9907fa3d0f5df561c65aa098"><div class="ttname"><a href="Audaspace_8h.html#ad9080e3b9907fa3d0f5df561c65aa098">AUD_API</a></div><div class="ttdeci">#define AUD_API</div><div class="ttdoc">Used for exporting symbols in the shared library.</div><div class="ttdef"><b>Definition:</b> Audaspace.h:93</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_ab73fb0faffbe701d02f6d36b62bb380f"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#ab73fb0faffbe701d02f6d36b62bb380f">SoftwareDevice::SoftwareHandle::m_cone_angle_outer</a></div><div class="ttdeci">float m_cone_angle_outer</div><div class="ttdoc">Cone outer angle.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:124</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_a64a5727eca7b0841cc1402a0c82d9c9f"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#a64a5727eca7b0841cc1402a0c82d9c9f">SoftwareDevice::SoftwareHandle::m_velocity</a></div><div class="ttdeci">Vector3 m_velocity</div><div class="ttdoc">Velocity in 3D Space.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:100</div></div>
<div class="ttc" id="classIHandle_html_a37f66a258a3f296b72bf22b472203244"><div class="ttname"><a href="classIHandle.html#a37f66a258a3f296b72bf22b472203244">IHandle::getStatus</a></div><div class="ttdeci">virtual Status getStatus()=0</div><div class="ttdoc">Returns the status of a played back sound.</div></div>
<div class="ttc" id="classChannelMapperReader_html"><div class="ttname"><a href="classChannelMapperReader.html">ChannelMapperReader</a></div><div class="ttdoc">This class maps a sound source's channels to a specific output channel count.</div><div class="ttdef"><b>Definition:</b> ChannelMapperReader.h:34</div></div>
<div class="ttc" id="Audaspace_8h_html_ae91c9d70e1e2c8b657e51de1fff60ada"><div class="ttname"><a href="Audaspace_8h.html#ae91c9d70e1e2c8b657e51de1fff60ada">data_t</a></div><div class="ttdeci">unsigned char data_t</div><div class="ttdoc">Sample data type (format samples)</div><div class="ttdef"><b>Definition:</b> Audaspace.h:129</div></div>
<div class="ttc" id="structSpecs_html"><div class="ttname"><a href="structSpecs.html">Specs</a></div><div class="ttdoc">Specification of a sound source.</div><div class="ttdef"><b>Definition:</b> Specification.h:109</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_a88734f6407af5bcc79273a1f73834e47"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#a88734f6407af5bcc79273a1f73834e47">SoftwareDevice::SoftwareHandle::m_cone_angle_inner</a></div><div class="ttdeci">float m_cone_angle_inner</div><div class="ttdoc">Cone inner angle.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:127</div></div>
<div class="ttc" id="classIHandle_html_af7af272f12401f9613b46a3fd0569a91"><div class="ttname"><a href="classIHandle.html#af7af272f12401f9613b46a3fd0569a91">IHandle::setPitch</a></div><div class="ttdeci">virtual bool setPitch(float pitch)=0</div><div class="ttdoc">Sets the pitch of a playing sound.</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_a6fc8815136d3224d8fe16a360f660101"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#a6fc8815136d3224d8fe16a360f660101">SoftwareDevice::SoftwareHandle::m_relative</a></div><div class="ttdeci">bool m_relative</div><div class="ttdoc">Whether the position to the listener is relative or absolute.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:106</div></div>
<div class="ttc" id="classI3DHandle_html"><div class="ttname"><a href="classI3DHandle.html">I3DHandle</a></div><div class="ttdoc">The I3DHandle interface represents a playback handle for 3D sources.</div><div class="ttdef"><b>Definition:</b> I3DHandle.h:38</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_a635e4af2e8cc8177173802d700c5c45e"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#a635e4af2e8cc8177173802d700c5c45e">SoftwareDevice::SoftwareHandle::m_flags</a></div><div class="ttdeci">int m_flags</div><div class="ttdoc">Rendering flags.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:133</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_a23dd418f98765dcd87b8a4416789cb7e"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#a23dd418f98765dcd87b8a4416789cb7e">SoftwareDevice::SoftwareHandle::m_resampler</a></div><div class="ttdeci">std::shared_ptr&lt; ResampleReader &gt; m_resampler</div><div class="ttdoc">The resample reader in between.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:70</div></div>
<div class="ttc" id="classI3DHandle_html_acb34a56d349f172cd9727eaa8b24571c"><div class="ttname"><a href="classI3DHandle.html#acb34a56d349f172cd9727eaa8b24571c">I3DHandle::getDistanceReference</a></div><div class="ttdeci">virtual float getDistanceReference()=0</div><div class="ttdoc">Retrieves the reference distance of a source.</div></div>
<div class="ttc" id="classSoftwareDevice_html_a188ff7a41ee8c89f7e6ae15baf3b9744"><div class="ttname"><a href="classSoftwareDevice.html#a188ff7a41ee8c89f7e6ae15baf3b9744">SoftwareDevice::m_specs</a></div><div class="ttdeci">DeviceSpecs m_specs</div><div class="ttdoc">The specification of the device.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:223</div></div>
<div class="ttc" id="classIHandle_html_a02006cf45d391395441bad4395ae24a8"><div class="ttname"><a href="classIHandle.html#a02006cf45d391395441bad4395ae24a8">IHandle::getKeep</a></div><div class="ttdeci">virtual bool getKeep()=0</div><div class="ttdoc">Gets the behaviour of the device for a played back sound when the sound doesn't return any more sampl...</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_a3fefc4a07d0961f492bb01d4715b5b3c"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#a3fefc4a07d0961f492bb01d4715b5b3c">SoftwareDevice::SoftwareHandle::m_attenuation</a></div><div class="ttdeci">float m_attenuation</div><div class="ttdoc">Attenuation.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:121</div></div>
<div class="ttc" id="classI3DHandle_html_a5a259026e9959fb0bd2ddda701711365"><div class="ttname"><a href="classI3DHandle.html#a5a259026e9959fb0bd2ddda701711365">I3DHandle::setOrientation</a></div><div class="ttdeci">virtual bool setOrientation(const Quaternion &amp;orientation)=0</div><div class="ttdoc">Sets the orientation of the source.</div></div>
<div class="ttc" id="classI3DHandle_html_a8d0873d1a9c8906886d47118e818050e"><div class="ttname"><a href="classI3DHandle.html#a8d0873d1a9c8906886d47118e818050e">I3DHandle::setDistanceReference</a></div><div class="ttdeci">virtual bool setDistanceReference(float distance)=0</div><div class="ttdoc">Sets the reference distance of a source.</div></div>
<div class="ttc" id="classIHandle_html_aa5e9c70dc7ac6189aba0d37ebaab2afe"><div class="ttname"><a href="classIHandle.html#aa5e9c70dc7ac6189aba0d37ebaab2afe">IHandle::getLoopCount</a></div><div class="ttdeci">virtual int getLoopCount()=0</div><div class="ttdoc">Retrieves the loop count of a playing sound.</div></div>
<div class="ttc" id="classIHandle_html_a9c88264d4a2fae2e7eedb6b219d2c2d5"><div class="ttname"><a href="classIHandle.html#a9c88264d4a2fae2e7eedb6b219d2c2d5">IHandle::seek</a></div><div class="ttdeci">virtual bool seek(float position)=0</div><div class="ttdoc">Seeks in a played back sound.</div></div>
<div class="ttc" id="IHandle_8h_html_ad7147ffa399f8915e95b9e2eb94ca6e5"><div class="ttname"><a href="IHandle_8h.html#ad7147ffa399f8915e95b9e2eb94ca6e5">stopCallback</a></div><div class="ttdeci">void(* stopCallback)(void *)</div><div class="ttdoc">The stopCallback is called when a handle reaches the end of the stream and thus gets stopped.</div><div class="ttdef"><b>Definition:</b> IHandle.h:42</div></div>
<div class="ttc" id="classI3DHandle_html_a5f6052f088453b89b78e66dc434a1bed"><div class="ttname"><a href="classI3DHandle.html#a5f6052f088453b89b78e66dc434a1bed">I3DHandle::setDistanceMaximum</a></div><div class="ttdeci">virtual bool setDistanceMaximum(float distance)=0</div><div class="ttdoc">Sets the maximum distance of a source.</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_a53fc06c18ab95caf9d3ba07c2c87579b"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#a53fc06c18ab95caf9d3ba07c2c87579b">SoftwareDevice::SoftwareHandle::m_volume</a></div><div class="ttdeci">float m_volume</div><div class="ttdoc">The calculated final volume of the source.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:88</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_ac96e39999e5cf011340daf822b6e101d"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#ac96e39999e5cf011340daf822b6e101d">SoftwareDevice::SoftwareHandle::m_user_pitch</a></div><div class="ttdeci">float m_user_pitch</div><div class="ttdoc">The user set pitch of the source.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:79</div></div>
<div class="ttc" id="classBuffer_html"><div class="ttname"><a href="classBuffer.html">Buffer</a></div><div class="ttdoc">This class is a simple buffer in RAM which is 32 Byte aligned and provides resize functionality.</div><div class="ttdef"><b>Definition:</b> Buffer.h:33</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_aca98817a2a38a78f73104c670563a3d1"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#aca98817a2a38a78f73104c670563a3d1">SoftwareDevice::SoftwareHandle::m_reader</a></div><div class="ttdeci">std::shared_ptr&lt; IReader &gt; m_reader</div><div class="ttdoc">The reader source.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:64</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_af743fa16b687281d1868a87e71a97f7c"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#af743fa16b687281d1868a87e71a97f7c">SoftwareDevice::SoftwareHandle::m_status</a></div><div class="ttdeci">Status m_status</div><div class="ttdoc">Current status of the handle.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:142</div></div>
<div class="ttc" id="classIHandle_html_a820f82815f4fbe912c904fd1545505ac"><div class="ttname"><a href="classIHandle.html#a820f82815f4fbe912c904fd1545505ac">IHandle::getPosition</a></div><div class="ttdeci">virtual float getPosition()=0</div><div class="ttdoc">Retrieves the current playback position of a sound.</div></div>
<div class="ttc" id="classI3DHandle_html_a255b5eff3d6a1da10108c5126f6f13ab"><div class="ttname"><a href="classI3DHandle.html#a255b5eff3d6a1da10108c5126f6f13ab">I3DHandle::setVolumeMinimum</a></div><div class="ttdeci">virtual bool setVolumeMinimum(float volume)=0</div><div class="ttdoc">Sets the minimum volume of a source.</div></div>
<div class="ttc" id="structDeviceSpecs_html"><div class="ttname"><a href="structDeviceSpecs.html">DeviceSpecs</a></div><div class="ttdoc">Specification of a sound device.</div><div class="ttdef"><b>Definition:</b> Specification.h:119</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_abf22fa4b27480500f7cb01eef20cbb4a"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#abf22fa4b27480500f7cb01eef20cbb4a">SoftwareDevice::SoftwareHandle::m_user_volume</a></div><div class="ttdeci">float m_user_volume</div><div class="ttdoc">The user set volume of the source.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:82</div></div>
<div class="ttc" id="classI3DHandle_html_a4aefb97f667fd50d96c5ceb4f7826b97"><div class="ttname"><a href="classI3DHandle.html#a4aefb97f667fd50d96c5ceb4f7826b97">I3DHandle::getConeAngleInner</a></div><div class="ttdeci">virtual float getConeAngleInner()=0</div><div class="ttdoc">Retrieves the inner opening angle of the cone of a source.</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_a6499bba7d6ed4d275b6782043d7a70e7"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#a6499bba7d6ed4d275b6782043d7a70e7">SoftwareDevice::SoftwareHandle::m_orientation</a></div><div class="ttdeci">Quaternion m_orientation</div><div class="ttdoc">Orientation in 3D Space.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:103</div></div>
<div class="ttc" id="classI3DHandle_html_a1e5068227872fe465de3ac38f1547f69"><div class="ttname"><a href="classI3DHandle.html#a1e5068227872fe465de3ac38f1547f69">I3DHandle::getVelocity</a></div><div class="ttdeci">virtual Vector3 getVelocity()=0</div><div class="ttdoc">Retrieves the velocity of the source.</div></div>
<div class="ttc" id="classI3DHandle_html_acef6b54740731fb278aa787d2665a7a2"><div class="ttname"><a href="classI3DHandle.html#acef6b54740731fb278aa787d2665a7a2">I3DHandle::getDistanceMaximum</a></div><div class="ttdeci">virtual float getDistanceMaximum()=0</div><div class="ttdoc">Retrieves the maximum distance of a source.</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_adc542e4a15a89a22708cf94b3d94296b"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#adc542e4a15a89a22708cf94b3d94296b">SoftwareDevice::SoftwareHandle::m_cone_volume_outer</a></div><div class="ttdeci">float m_cone_volume_outer</div><div class="ttdoc">Cone outer volume.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:130</div></div>
<div class="ttc" id="classI3DHandle_html_aa3b3d0809e79392ffb9708581f6661d3"><div class="ttname"><a href="classI3DHandle.html#aa3b3d0809e79392ffb9708581f6661d3">I3DHandle::getConeAngleOuter</a></div><div class="ttdeci">virtual float getConeAngleOuter()=0</div><div class="ttdoc">Retrieves the outer opening angle of the cone of a source.</div></div>
<div class="ttc" id="classI3DHandle_html_ad9a234df224260d9b88021304d0a768a"><div class="ttname"><a href="classI3DHandle.html#ad9a234df224260d9b88021304d0a768a">I3DHandle::getAttenuation</a></div><div class="ttdeci">virtual float getAttenuation()=0</div><div class="ttdoc">Retrieves the attenuation of a source.</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_a8b0d8749e620477e457d33b1fcddd025"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#a8b0d8749e620477e457d33b1fcddd025">SoftwareDevice::SoftwareHandle::m_volume_max</a></div><div class="ttdeci">float m_volume_max</div><div class="ttdoc">Maximum volume.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:109</div></div>
<div class="ttc" id="classI3DDevice_html"><div class="ttname"><a href="classI3DDevice.html">I3DDevice</a></div><div class="ttdoc">The I3DDevice interface represents an output device for 3D sound.</div><div class="ttdef"><b>Definition:</b> I3DDevice.h:52</div></div>
<div class="ttc" id="classI3DHandle_html_a16d8b359497163c3a539c200f62391e3"><div class="ttname"><a href="classI3DHandle.html#a16d8b359497163c3a539c200f62391e3">I3DHandle::isRelative</a></div><div class="ttdeci">virtual bool isRelative()=0</div><div class="ttdoc">Checks whether the source location, velocity and orientation are relative to the listener.</div></div>
<div class="ttc" id="IHandle_8h_html"><div class="ttname"><a href="IHandle_8h.html">IHandle.h</a></div><div class="ttdoc">Defines the IHandle interface as well as possible states of the handle.</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_a2a72f19e9066d1cb60b7707d3aa04a33"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#a2a72f19e9066d1cb60b7707d3aa04a33">SoftwareDevice::SoftwareHandle::m_device</a></div><div class="ttdeci">SoftwareDevice * m_device</div><div class="ttdoc">Own device.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:145</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_aba3354035852bc497312cc0592f3ff0a"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#aba3354035852bc497312cc0592f3ff0a">SoftwareDevice::SoftwareHandle::m_distance_max</a></div><div class="ttdeci">float m_distance_max</div><div class="ttdoc">Maximum distance.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:115</div></div>
<div class="ttc" id="classI3DHandle_html_a6636735a3e7e365322bba67760d8793a"><div class="ttname"><a href="classI3DHandle.html#a6636735a3e7e365322bba67760d8793a">I3DHandle::setRelative</a></div><div class="ttdeci">virtual bool setRelative(bool relative)=0</div><div class="ttdoc">Sets whether the source location, velocity and orientation are relative to the listener.</div></div>
<div class="ttc" id="classI3DHandle_html_a3c80f5b082be3a71c48260e1eeac8d24"><div class="ttname"><a href="classI3DHandle.html#a3c80f5b082be3a71c48260e1eeac8d24">I3DHandle::setVolumeMaximum</a></div><div class="ttdeci">virtual bool setVolumeMaximum(float volume)=0</div><div class="ttdoc">Sets the maximum volume of a source.</div></div>
<div class="ttc" id="classI3DHandle_html_afef104a4745424c7640d355750470e41"><div class="ttname"><a href="classI3DHandle.html#afef104a4745424c7640d355750470e41">I3DHandle::setConeAngleInner</a></div><div class="ttdeci">virtual bool setConeAngleInner(float angle)=0</div><div class="ttdoc">Sets the inner opening angle of the cone of a source.</div></div>
<div class="ttc" id="classI3DHandle_html_a81f9b783e07e9a72b40d4b9b88480682"><div class="ttname"><a href="classI3DHandle.html#a81f9b783e07e9a72b40d4b9b88480682">I3DHandle::getLocation</a></div><div class="ttdeci">virtual Vector3 getLocation()=0</div><div class="ttdoc">Retrieves the location of the source.</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_a32c2b87ef8f0b4a14db9abc678ce9787"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#a32c2b87ef8f0b4a14db9abc678ce9787">SoftwareDevice::SoftwareHandle::m_user_pan</a></div><div class="ttdeci">float m_user_pan</div><div class="ttdoc">The user set panning for non-3D sources.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:85</div></div>
<div class="ttc" id="DefaultSynchronizer_8h_html"><div class="ttname"><a href="DefaultSynchronizer_8h.html">DefaultSynchronizer.h</a></div><div class="ttdoc">The DefaultSynchronizer class.</div></div>
<div class="ttc" id="classIHandle_html_aea0709d0f78e9293abc68dc38ad8eade"><div class="ttname"><a href="classIHandle.html#aea0709d0f78e9293abc68dc38ad8eade">IHandle::getVolume</a></div><div class="ttdeci">virtual float getVolume()=0</div><div class="ttdoc">Retrieves the volume of a playing sound.</div></div>
<div class="ttc" id="classIHandle_html_a0fc16e686a1877ba08e251ba61b58aa0"><div class="ttname"><a href="classIHandle.html#a0fc16e686a1877ba08e251ba61b58aa0">IHandle::pause</a></div><div class="ttdeci">virtual bool pause()=0</div><div class="ttdoc">Pauses a played back sound.</div></div>
<div class="ttc" id="classResampleReader_html"><div class="ttname"><a href="classResampleReader.html">ResampleReader</a></div><div class="ttdoc">This is the base class for all resampling readers.</div><div class="ttdef"><b>Definition:</b> ResampleReader.h:32</div></div>
<div class="ttc" id="Audaspace_8h_html_a4cf7088a9bb0256563f28fd13c80b066"><div class="ttname"><a href="Audaspace_8h.html#a4cf7088a9bb0256563f28fd13c80b066">AUD_NAMESPACE_END</a></div><div class="ttdeci">#define AUD_NAMESPACE_END</div><div class="ttdoc">Closes the audaspace namespace aud.</div><div class="ttdef"><b>Definition:</b> Audaspace.h:119</div></div>
<div class="ttc" id="classIHandle_html"><div class="ttname"><a href="classIHandle.html">IHandle</a></div><div class="ttdoc">The IHandle interface represents a playback handles of a specific device.</div><div class="ttdef"><b>Definition:</b> IHandle.h:48</div></div>
<div class="ttc" id="I3DHandle_8h_html"><div class="ttname"><a href="I3DHandle_8h.html">I3DHandle.h</a></div><div class="ttdoc">The I3DHandle interface.</div></div>
<div class="ttc" id="classIHandle_html_a193603d25c7c64f8e8df2c34293533e0"><div class="ttname"><a href="classIHandle.html#a193603d25c7c64f8e8df2c34293533e0">IHandle::setLoopCount</a></div><div class="ttdeci">virtual bool setLoopCount(int count)=0</div><div class="ttdoc">Sets the loop count of a playing sound.</div></div>
<div class="ttc" id="I3DDevice_8h_html"><div class="ttname"><a href="I3DDevice_8h.html">I3DDevice.h</a></div><div class="ttdoc">Defines the I3DDevice interface as well as the different distance models.</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_a2ce387a60f37ea0eb2cf7910a92251b1"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#a2ce387a60f37ea0eb2cf7910a92251b1">SoftwareDevice::SoftwareHandle::m_pitch</a></div><div class="ttdeci">std::shared_ptr&lt; PitchReader &gt; m_pitch</div><div class="ttdoc">The pitch reader in between.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:67</div></div>
<div class="ttc" id="classIDevice_html"><div class="ttname"><a href="classIDevice.html">IDevice</a></div><div class="ttdoc">The IDevice interface represents an output device for sound sources.</div><div class="ttdef"><b>Definition:</b> IDevice.h:46</div></div>
<div class="ttc" id="classIHandle_html_ab67d0b33d9c3c8ea4cc3765c3dcd27c9"><div class="ttname"><a href="classIHandle.html#ab67d0b33d9c3c8ea4cc3765c3dcd27c9">IHandle::setVolume</a></div><div class="ttdeci">virtual bool setVolume(float volume)=0</div><div class="ttdoc">Sets the volume of a playing sound.</div></div>
<div class="ttc" id="classSoftwareDevice_html"><div class="ttname"><a href="classSoftwareDevice.html">SoftwareDevice</a></div><div class="ttdoc">The software device is a generic device with software mixing.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:51</div></div>
<div class="ttc" id="classSoftwareDevice_html_a6a7c5217dd4a4f5c3f7e26f798a5d3e5"><div class="ttname"><a href="classSoftwareDevice.html#a6a7c5217dd4a4f5c3f7e26f798a5d3e5">SoftwareDevice::m_quality</a></div><div class="ttdeci">bool m_quality</div><div class="ttdoc">Whether to do high or low quality resampling.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:233</div></div>
<div class="ttc" id="classVector3_html"><div class="ttname"><a href="classVector3.html">Vector3</a></div><div class="ttdoc">This class represents a 3 dimensional vector.</div><div class="ttdef"><b>Definition:</b> Math3D.h:35</div></div>
<div class="ttc" id="classI3DHandle_html_a76c9219f7bd58f309c5bfe4f0ee31cb3"><div class="ttname"><a href="classI3DHandle.html#a76c9219f7bd58f309c5bfe4f0ee31cb3">I3DHandle::getVolumeMinimum</a></div><div class="ttdeci">virtual float getVolumeMinimum()=0</div><div class="ttdoc">Retrieves the minimum volume of a source.</div></div>
<div class="ttc" id="classDefaultSynchronizer_html"><div class="ttname"><a href="classDefaultSynchronizer.html">DefaultSynchronizer</a></div><div class="ttdoc">This class is a default ISynchronizer implementation that actually does no synchronization and is int...</div><div class="ttdef"><b>Definition:</b> DefaultSynchronizer.h:33</div></div>
<div class="ttc" id="Buffer_8h_html"><div class="ttname"><a href="Buffer_8h.html">Buffer.h</a></div><div class="ttdoc">The Buffer class.</div></div>
<div class="ttc" id="classI3DHandle_html_a8abaaaf6fb9cb57b34f27bd3b36e8fac"><div class="ttname"><a href="classI3DHandle.html#a8abaaaf6fb9cb57b34f27bd3b36e8fac">I3DHandle::setConeVolumeOuter</a></div><div class="ttdeci">virtual bool setConeVolumeOuter(float volume)=0</div><div class="ttdoc">Sets the outer volume of the cone of a source.</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_a78c142c47c058650b02a4575c70ee161"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#a78c142c47c058650b02a4575c70ee161">SoftwareDevice::SoftwareHandle::m_loopcount</a></div><div class="ttdeci">int m_loopcount</div><div class="ttdoc">The loop count of the source.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:94</div></div>
<div class="ttc" id="classPitchReader_html"><div class="ttname"><a href="classPitchReader.html">PitchReader</a></div><div class="ttdoc">This class reads another reader and changes it's pitch.</div><div class="ttdef"><b>Definition:</b> PitchReader.h:32</div></div>
<div class="ttc" id="classI3DHandle_html_a39b003fda524169c1748b06c880980db"><div class="ttname"><a href="classI3DHandle.html#a39b003fda524169c1748b06c880980db">I3DHandle::setAttenuation</a></div><div class="ttdeci">virtual bool setAttenuation(float factor)=0</div><div class="ttdoc">Sets the attenuation of a source.</div></div>
<div class="ttc" id="classI3DHandle_html_a9485f7d76a55806fe8c80f1d21e163bb"><div class="ttname"><a href="classI3DHandle.html#a9485f7d76a55806fe8c80f1d21e163bb">I3DHandle::getOrientation</a></div><div class="ttdeci">virtual Quaternion getOrientation()=0</div><div class="ttdoc">Retrieves the orientation of the source.</div></div>
<div class="ttc" id="IHandle_8h_html_a67a0db04d321a74b7e7fcfd3f1a3f70b"><div class="ttname"><a href="IHandle_8h.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a></div><div class="ttdeci">Status</div><div class="ttdoc">Status of a playback handle.</div><div class="ttdef"><b>Definition:</b> IHandle.h:30</div></div>
<div class="ttc" id="I3DDevice_8h_html_a5e42e9a2b2a31997de7556c983d15ffd"><div class="ttname"><a href="I3DDevice_8h.html#a5e42e9a2b2a31997de7556c983d15ffd">DistanceModel</a></div><div class="ttdeci">DistanceModel</div><div class="ttdoc">Possible distance models for the 3D device.</div><div class="ttdef"><b>Definition:</b> I3DDevice.h:34</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_a94264ef787c52ce29fe4c2ab0814120b"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#a94264ef787c52ce29fe4c2ab0814120b">SoftwareDevice::SoftwareHandle::m_location</a></div><div class="ttdeci">Vector3 m_location</div><div class="ttdoc">Location in 3D Space.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:97</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_a5e1696164b82b24080273fcc93a7ec2d"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#a5e1696164b82b24080273fcc93a7ec2d">SoftwareDevice::SoftwareHandle::m_mapper</a></div><div class="ttdeci">std::shared_ptr&lt; ChannelMapperReader &gt; m_mapper</div><div class="ttdoc">The channel mapper reader in between.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:73</div></div>
<div class="ttc" id="classI3DHandle_html_ae7a472f61f3f945fa004fef58eb5a5e9"><div class="ttname"><a href="classI3DHandle.html#ae7a472f61f3f945fa004fef58eb5a5e9">I3DHandle::setVelocity</a></div><div class="ttdeci">virtual bool setVelocity(const Vector3 &amp;velocity)=0</div><div class="ttdoc">Sets the velocity of the source.</div></div>
<div class="ttc" id="classSoftwareDevice_1_1SoftwareHandle_html_af7f39e9080fb547feb601e273a23f443"><div class="ttname"><a href="classSoftwareDevice_1_1SoftwareHandle.html#af7f39e9080fb547feb601e273a23f443">SoftwareDevice::SoftwareHandle::m_stop</a></div><div class="ttdeci">stopCallback m_stop</div><div class="ttdoc">The stop callback.</div><div class="ttdef"><b>Definition:</b> SoftwareDevice.h:136</div></div>
<div class="ttc" id="classI3DHandle_html_a8fc726e7c169975c6e3e9e8f8d5a2d7b"><div class="ttname"><a href="classI3DHandle.html#a8fc726e7c169975c6e3e9e8f8d5a2d7b">I3DHandle::setConeAngleOuter</a></div><div class="ttdeci">virtual bool setConeAngleOuter(float angle)=0</div><div class="ttdoc">Sets the outer opening angle of the cone of a source.</div></div>
<div class="ttc" id="classI3DHandle_html_a5edc8bc2c64f8c867c90e9b76e1f8491"><div class="ttname"><a href="classI3DHandle.html#a5edc8bc2c64f8c867c90e9b76e1f8491">I3DHandle::setLocation</a></div><div class="ttdeci">virtual bool setLocation(const Vector3 &amp;location)=0</div><div class="ttdoc">Sets the location of the source.</div></div>
<div class="ttc" id="classIHandle_html_abfb96fe7ece8de8336a2cceeb1d7f5a3"><div class="ttname"><a href="classIHandle.html#abfb96fe7ece8de8336a2cceeb1d7f5a3">IHandle::resume</a></div><div class="ttdeci">virtual bool resume()=0</div><div class="ttdoc">Resumes a paused sound.</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>