1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>Castle Game Engine: CastleSoundEngine: Class TSoundInfo</title>
<meta name="generator" content="PasDoc 0.13.0">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="StyleSheet" type="text/css" href="pasdoc.css">
</head>
<body>
<table class="container"><tr><td class="navigation">
<h2>Castle Game Engine</h2><p><a href="introduction.html" class="navigation">Introduction</a></p><p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content">
<a name="TSoundInfo"></a><h1 class="cio">Class TSoundInfo</h1>
<table class="sections wide_list">
<tr>
<td><a class="section" href="#PasDoc-Description">Description</a></td><td><a class="section" href="#PasDoc-Hierarchy">Hierarchy</a></td><td><a class="section" href="#PasDoc-Fields">Fields</a></td><td>Methods</td><td>Properties</td></tr></table>
<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2>
<p class="unitlink">
<a href="CastleSoundEngine.html">CastleSoundEngine</a></p>
<h2 class="declaration">Declaration</h2>
<p class="declaration">
<code>type TSoundInfo = class(TObject)</code></p>
<h2 class="description">Description</h2>
<p>
Sound information, internally used by <a class="normal" href="CastleSoundEngine.TRepoSoundEngine.html">TRepoSoundEngine</a>.
<p>The fields correspond to appropriate attributes in sounds XML file. All of the fields except Buffer are initialized only by ReadSounds.
<p>From the point of view of end-user the number of sounds is constant for given game and their properties (expressed in <code>TSoundInfo</code> below) are also constant. However, for the sake of debugging/testing the game, and for content designers, the actual values of Sounds are loaded at initialization by ReadSounds (called automatically by ALContextOpen) from sounds XML file, and later can be changed by calling ReadSounds once again during the game (debug menu may have command like "Reload sounds/index.xml").</p>
<a name="PasDoc-Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2>
<ul class="hierarchy"><li class="ancestor">TObject</li>
<li class="thisitem">TSoundInfo</li></ul><h2 class="overview">Overview</h2>
<a name="PasDoc-Fields"></a><h3 class="summary">Fields</h3>
<table class="summary wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code><b><a href="CastleSoundEngine.TSoundInfo.html#Name">Name</a></b>: string;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code><b><a href="CastleSoundEngine.TSoundInfo.html#URL">URL</a></b>: string;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code><b><a href="CastleSoundEngine.TSoundInfo.html#Gain">Gain</a></b>: Single;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code><b><a href="CastleSoundEngine.TSoundInfo.html#MinGain">MinGain</a></b>: Single;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code><b><a href="CastleSoundEngine.TSoundInfo.html#MaxGain">MaxGain</a></b>: Single;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code><b><a href="CastleSoundEngine.TSoundInfo.html#DefaultImportance">DefaultImportance</a></b>: Cardinal;</code></td>
</tr>
</table>
<h2 class="description">Description</h2>
<h3 class="detail">Fields</h3>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Name"></a><code><b>Name</b>: string;</code></td>
</tr>
<tr><td colspan="2">
<p>
Unique sound name. Empty for the special sound <a class="normal" href="CastleSoundEngine.html#stNone">stNone</a>.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="URL"></a><code><b>URL</b>: string;</code></td>
</tr>
<tr><td colspan="2">
<p>
<code>URL</code> from which to load sound data.
<p>Empty means that the sound data is not defined, so the OpenAL buffer will not be initialized and trying to play this sound (with methods like TSoundEngine.Sound or TSoundEngine.Sound3D) will do nothing. This is useful if you want to use a sound name in code, but you do not have the actual sound file for this yet.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Gain"></a><code><b>Gain</b>: Single;</code></td>
</tr>
<tr><td colspan="2">
<p>
Gain (how loud the sound is). They are mapped directly to respective OpenAL source properties, so see OpenAL specification for exact details what they mean. In short:
<p></p>
<ul class="paragraph_spacing">
<li><p>Gain scales the sound loudness. Use this to indicate that e.g. a plane engine is louder than a mouse squeak (when heard from the same distance).
<p>Do <i>not</i> make the actual sound data (in wav, ogg and such files) louder/more silent for this purpose. This is usually bad for sound quality. Instead, keep your sound data at max loudness (normalized), and use this <a class="normal" href="CastleSoundEngine.TSoundInfo.html#Gain">Gain</a> property to scale sound.
<p>It can be antything from 0 to +infinity. The default is 1.</p></li>
<li><p><a class="normal" href="CastleSoundEngine.TSoundInfo.html#MinGain">MinGain</a> and <a class="normal" href="CastleSoundEngine.TSoundInfo.html#MaxGain">MaxGain</a> force a minimum/maximum sound loudness. These can be used to "cheat" around default distance attenuation calculation.
<p>These must be in [0, 1] range. By default <a class="normal" href="CastleSoundEngine.TSoundInfo.html#MinGain">MinGain</a> is 0 and <a class="normal" href="CastleSoundEngine.TSoundInfo.html#MaxGain">MaxGain</a> is 1.</p></li>
</ul>
<p>
<p>Note that Gain value > 1 is allowed. Although OpenAL may clip the resulting sound (after all calculations taking into account 3D position will be done). The resulting sound is also clamped by <a class="normal" href="CastleSoundEngine.TSoundInfo.html#MaxGain">MaxGain</a> (that generally must be in [0, 1], although some OpenAL implementations allow values > 1).
<p>When this sound is used for MusicPlayer.Sound: </p>
<ol class="paragraph_spacing">
<li value="1"><p><a class="normal" href="CastleSoundEngine.TSoundInfo.html#MinGain">MinGain</a>, <a class="normal" href="CastleSoundEngine.TSoundInfo.html#MaxGain">MaxGain</a> are ignored.</p></li>
<li value="2"><p>Effective Gain (passed to OpenAL sound source) is the <a class="normal" href="CastleSoundEngine.TMusicPlayer.html#MusicVolume">TMusicPlayer.MusicVolume</a> multiplied by our <a class="normal" href="CastleSoundEngine.TSoundInfo.html#Gain">Gain</a>.</p></li>
</ol>
<p></p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="MinGain"></a><code><b>MinGain</b>: Single;</code></td>
</tr>
<tr><td colspan="2">
<p>
Gain (how loud the sound is). They are mapped directly to respective OpenAL source properties, so see OpenAL specification for exact details what they mean. In short:
<p></p>
<ul class="paragraph_spacing">
<li><p>Gain scales the sound loudness. Use this to indicate that e.g. a plane engine is louder than a mouse squeak (when heard from the same distance).
<p>Do <i>not</i> make the actual sound data (in wav, ogg and such files) louder/more silent for this purpose. This is usually bad for sound quality. Instead, keep your sound data at max loudness (normalized), and use this <a class="normal" href="CastleSoundEngine.TSoundInfo.html#Gain">Gain</a> property to scale sound.
<p>It can be antything from 0 to +infinity. The default is 1.</p></li>
<li><p><code>MinGain</code> and <a class="normal" href="CastleSoundEngine.TSoundInfo.html#MaxGain">MaxGain</a> force a minimum/maximum sound loudness. These can be used to "cheat" around default distance attenuation calculation.
<p>These must be in [0, 1] range. By default <code>MinGain</code> is 0 and <a class="normal" href="CastleSoundEngine.TSoundInfo.html#MaxGain">MaxGain</a> is 1.</p></li>
</ul>
<p>
<p>Note that Gain value > 1 is allowed. Although OpenAL may clip the resulting sound (after all calculations taking into account 3D position will be done). The resulting sound is also clamped by <a class="normal" href="CastleSoundEngine.TSoundInfo.html#MaxGain">MaxGain</a> (that generally must be in [0, 1], although some OpenAL implementations allow values > 1).
<p>When this sound is used for MusicPlayer.Sound: </p>
<ol class="paragraph_spacing">
<li value="1"><p><code>MinGain</code>, <a class="normal" href="CastleSoundEngine.TSoundInfo.html#MaxGain">MaxGain</a> are ignored.</p></li>
<li value="2"><p>Effective Gain (passed to OpenAL sound source) is the <a class="normal" href="CastleSoundEngine.TMusicPlayer.html#MusicVolume">TMusicPlayer.MusicVolume</a> multiplied by our <a class="normal" href="CastleSoundEngine.TSoundInfo.html#Gain">Gain</a>.</p></li>
</ol>
<p></p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="MaxGain"></a><code><b>MaxGain</b>: Single;</code></td>
</tr>
<tr><td colspan="2">
<p>
Gain (how loud the sound is). They are mapped directly to respective OpenAL source properties, so see OpenAL specification for exact details what they mean. In short:
<p></p>
<ul class="paragraph_spacing">
<li><p>Gain scales the sound loudness. Use this to indicate that e.g. a plane engine is louder than a mouse squeak (when heard from the same distance).
<p>Do <i>not</i> make the actual sound data (in wav, ogg and such files) louder/more silent for this purpose. This is usually bad for sound quality. Instead, keep your sound data at max loudness (normalized), and use this <a class="normal" href="CastleSoundEngine.TSoundInfo.html#Gain">Gain</a> property to scale sound.
<p>It can be antything from 0 to +infinity. The default is 1.</p></li>
<li><p><a class="normal" href="CastleSoundEngine.TSoundInfo.html#MinGain">MinGain</a> and <code>MaxGain</code> force a minimum/maximum sound loudness. These can be used to "cheat" around default distance attenuation calculation.
<p>These must be in [0, 1] range. By default <a class="normal" href="CastleSoundEngine.TSoundInfo.html#MinGain">MinGain</a> is 0 and <code>MaxGain</code> is 1.</p></li>
</ul>
<p>
<p>Note that Gain value > 1 is allowed. Although OpenAL may clip the resulting sound (after all calculations taking into account 3D position will be done). The resulting sound is also clamped by <code>MaxGain</code> (that generally must be in [0, 1], although some OpenAL implementations allow values > 1).
<p>When this sound is used for MusicPlayer.Sound: </p>
<ol class="paragraph_spacing">
<li value="1"><p><a class="normal" href="CastleSoundEngine.TSoundInfo.html#MinGain">MinGain</a>, <code>MaxGain</code> are ignored.</p></li>
<li value="2"><p>Effective Gain (passed to OpenAL sound source) is the <a class="normal" href="CastleSoundEngine.TMusicPlayer.html#MusicVolume">TMusicPlayer.MusicVolume</a> multiplied by our <a class="normal" href="CastleSoundEngine.TSoundInfo.html#Gain">Gain</a>.</p></li>
</ol>
<p></p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="DefaultImportance"></a><code><b>DefaultImportance</b>: Cardinal;</code></td>
</tr>
<tr><td colspan="2">
<p>
How important the sound is. Influences what happens when we have a lot of sounds playing at once. See <a class="normal" href="CastleSoundAllocator.TSound.html#Importance">TSound.Importance</a>.
<p>Ignored when this sound is used for MusicPlayer.Sound.</p>
</td></tr>
</table>
<!-- Piwik -->
<script type="text/javascript">
var _paq = _paq || [];
_paq.push(["trackPageView"]);
_paq.push(["enableLinkTracking"]);
(function() {
var u=(("https:" == document.location.protocol) ? "https" : "http") + "://michalis.ii.uni.wroc.pl/piwik-castle-engine/";
_paq.push(["setTrackerUrl", u+"piwik.php"]);
_paq.push(["setSiteId", "1"]);
var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Piwik Code -->
<noscript>
<!-- Piwik Image Tracker -->
<img src="http://michalis.ii.uni.wroc.pl/piwik-castle-engine/piwik.php?idsite=1&rec=1" style="border:0" alt="" />
<!-- End Piwik -->
</noscript>
<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2015-06-15 04:43:12</em>
</span>
</td></tr></table></body></html>
|