2624 lines
214 KiB
HTML
2624 lines
214 KiB
HTML
<html>
|
|
<head>
|
|
<title>Core API Reference | Common</title>
|
|
<link rel="stylesheet" href="style/docs.css">
|
|
<link rel="stylesheet" href="style/code_highlight.css">
|
|
<script type="text/javascript" src="scripts/language-selector.js"></script></head>
|
|
<body>
|
|
<div class="docs-body">
|
|
<div class="manual-toc">
|
|
<p>FMOD Engine User Manual 2.03</p>
|
|
<ul>
|
|
<li><a href="welcome.html">Welcome to the FMOD Engine</a></li>
|
|
<li><a href="studio-guide.html">Studio API Guide</a></li>
|
|
<li><a href="core-guide.html">Core API Guide</a></li>
|
|
<li><a href="platforms.html">Platform Details</a></li>
|
|
<li><a href="white-papers.html">White Papers</a></li>
|
|
<li><a href="studio-api.html">Studio API Reference</a></li>
|
|
<li class="manual-current-chapter manual-inactive-chapter"><a href="core-api.html">Core API Reference</a><ul class="subchapters"><li class="manual-current-chapter manual-active-chapter"><a href="core-api-common.html">Common</a></li><li><a href="core-api-common-dsp-effects.html">Effect Parameters</a></li><li><a href="core-api-system.html">System</a></li><li><a href="core-api-sound.html">Sound</a></li><li><a href="core-api-channelcontrol.html">ChannelControl</a></li><li><a href="core-api-channel.html">Channel</a></li><li><a href="core-api-channelgroup.html">ChannelGroup</a></li><li><a href="core-api-soundgroup.html">SoundGroup</a></li><li><a href="core-api-dsp.html">DSP</a></li><li><a href="core-api-dspconnection.html">DSPConnection</a></li><li><a href="core-api-geometry.html">Geometry</a></li><li><a href="core-api-reverb3d.html">Reverb3D</a></li><li><a href="core-api-platform-ios.html">iOS Specific</a></li><li><a href="core-api-platform-android.html">Android Specific</a></li></ul></li>
|
|
<li><a href="fsbank-api.html">FSBank API Reference</a></li>
|
|
<li><a href="plugin-api.html">Plug-in API Reference</a></li>
|
|
<li><a href="effects-reference.html">Effects Reference</a></li>
|
|
<li><a href="troubleshooting.html">Troubleshooting</a></li>
|
|
<li><a href="glossary.html">Glossary</a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="manual-content api">
|
|
<h1>7. Core API Reference | Common</h1>
|
|
<p><strong>File:</strong></p>
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-common.html#file_getdiskbusy" title="Information function to retrieve the state of FMOD disk access.">File_GetDiskBusy</a> Information function to retrieve the state of FMOD disk access.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#file_setdiskbusy" title="Sets the busy state for disk access ensuring mutual exclusion of file operations.">File_SetDiskBusy</a> Sets the busy state for disk access ensuring mutual exclusion of file operations.</span></li>
|
|
</ul>
|
|
<p><strong>Memory:</strong></p>
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-common.html#memory_getstats" title="Returns information on the memory usage of FMOD.">Memory_GetStats</a> Returns information on the memory usage of FMOD.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#memory_initialize" title="Specifies a method for FMOD to allocate and free memory, either through user supplied callbacks or through a user supplied memory buffer with a fixed size.">Memory_Initialize</a> Specifies a method for FMOD to allocate and free memory, either through user supplied callbacks or through a user supplied memory buffer with a fixed size.</span></li>
|
|
</ul>
|
|
<hr />
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_memory_alloc_callback" title="Callback to allocate a block of memory.">FMOD_MEMORY_ALLOC_CALLBACK</a> Callback to allocate a block of memory.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_memory_free_callback" title="Callback to free a block of memory.">FMOD_MEMORY_FREE_CALLBACK</a> Callback to free a block of memory.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_memory_realloc_callback" title="Callback to re-allocate a block of memory to a different size.">FMOD_MEMORY_REALLOC_CALLBACK</a> Callback to re-allocate a block of memory to a different size.</span></li>
|
|
</ul>
|
|
<hr />
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_memory_type" title="Bitfields for memory allocation type being passed into FMOD memory callbacks.">FMOD_MEMORY_TYPE</a> Bitfields for memory allocation type being passed into FMOD memory callbacks.</span></li>
|
|
</ul>
|
|
<p><strong>Debugging:</strong></p>
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-common.html#debug_initialize" title="Specify the level and delivery method of log messages when using the logging version of FMOD.">Debug_Initialize</a> Specify the level and delivery method of log messages when using the logging version of FMOD.</span></li>
|
|
</ul>
|
|
<hr />
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_debug_callback" title="Callback for debug messages when using the logging version of FMOD.">FMOD_DEBUG_CALLBACK</a> Callback for debug messages when using the logging version of FMOD.</span></li>
|
|
</ul>
|
|
<hr />
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_debug_mode" title="Specify the destination of log output when using the logging version of FMOD.">FMOD_DEBUG_MODE</a> Specify the destination of log output when using the logging version of FMOD.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_debug_flags" title="Specify the requested information to be output when using the logging version of FMOD.">FMOD_DEBUG_FLAGS</a> Specify the requested information to be output when using the logging version of FMOD.</span></li>
|
|
</ul>
|
|
<p><strong>Threading:</strong></p>
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-common.html#thread_setattributes" title="Specify the affinity, priority and stack size for all FMOD created threads.">Thread_SetAttributes</a> Specify the affinity, priority and stack size for all FMOD created threads.</span></li>
|
|
</ul>
|
|
<hr />
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_thread_type" title="Named constants for threads created at runtime.">FMOD_THREAD_TYPE</a> Named constants for threads created at runtime.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_thread_affinity" title="Bitfield for specifying the CPU core a given thread runs on.">FMOD_THREAD_AFFINITY</a> Bitfield for specifying the CPU core a given thread runs on.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_thread_priority" title="Scheduling priority to assign a given thread to.">FMOD_THREAD_PRIORITY</a> Scheduling priority to assign a given thread to.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_thread_stack_size" title="Stack space available to the given thread.">FMOD_THREAD_STACK_SIZE</a> Stack space available to the given thread.</span></li>
|
|
</ul>
|
|
<p><strong>General:</strong></p>
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_3d_attributes" title="Structure describing a position, velocity and orientation.">FMOD_3D_ATTRIBUTES</a> Structure describing a position, velocity and orientation.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_guid" title="Structure describing a globally unique identifier.">FMOD_GUID</a> Structure describing a globally unique identifier.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_syncpoint" title="Named marker for a given point in time.">FMOD_SYNCPOINT</a> Named marker for a given point in time.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_vector" title="Structure describing a point in 3D space.">FMOD_VECTOR</a> Structure describing a point in 3D space.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_cpu_usage" title="Performance information for Core API functionality.">FMOD_CPU_USAGE</a> Performance information for Core API functionality.</span></li>
|
|
</ul>
|
|
<hr />
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_channelmask" title="Flags that describe the speakers present in a given signal.">FMOD_CHANNELMASK</a> Flags that describe the speakers present in a given <a href="glossary.html#signal">signal</a>.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_channelorder" title="Speaker ordering for multi-channel signals.">FMOD_CHANNELORDER</a> Speaker ordering for multi-channel <a href="glossary.html#signal">signals</a>.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_max_channel_width" title="Maximum number of channels per sample of audio supported by audio files, buffers, connections and DSPs.">FMOD_MAX_CHANNEL_WIDTH</a> Maximum number of channels per sample of audio supported by audio files, buffers, connections and <a href="glossary.html#dsp">DSPs</a>.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_max_listeners" title="Maximum number of listeners supported.">FMOD_MAX_LISTENERS</a> Maximum number of listeners supported.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_max_systems" title="Maximum number of System objects allowed.">FMOD_MAX_SYSTEMS</a> Maximum number of System objects allowed.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_version" title="Current FMOD version number.">FMOD_VERSION</a> Current FMOD version number.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_mode" title="Sound description bitfields, bitwise OR them together for loading and describing Sounds.">FMOD_MODE</a> Sound description bitfields, bitwise OR them together for loading and describing Sounds.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_result" title="Error codes returned from every function.">FMOD_RESULT</a> Error codes returned from every function.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_speaker" title="Assigns an enumeration for a speaker index.">FMOD_SPEAKER</a> Assigns an enumeration for a speaker index.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_speakermode" title="Speaker mode types.">FMOD_SPEAKERMODE</a> Speaker mode types.</span></li>
|
|
<li><span><a class="apilink" href="core-api-common.html#fmod_timeunit" title="Time types used for position or length.">FMOD_TIMEUNIT</a> Time types used for position or length.</span></li>
|
|
</ul>
|
|
<h2 api="struct" id="fmod_3d_attributes"><a href="#fmod_3d_attributes">FMOD_3D_ATTRIBUTES</a></h2>
|
|
<p>Structure describing a position, velocity and orientation.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="k">typedef</span> <span class="k">struct</span> <span class="n">FMOD_3D_ATTRIBUTES</span> <span class="p">{</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="n">position</span><span class="p">;</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="n">velocity</span><span class="p">;</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="n">forward</span><span class="p">;</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="n">up</span><span class="p">;</span>
|
|
<span class="p">}</span> <span class="n">FMOD_3D_ATTRIBUTES</span><span class="p">;</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">struct</span> <span class="nc">ATTRIBUTES_3D</span>
|
|
<span class="p">{</span>
|
|
<span class="n">VECTOR</span> <span class="n">position</span><span class="p">;</span>
|
|
<span class="n">VECTOR</span> <span class="n">velocity</span><span class="p">;</span>
|
|
<span class="n">VECTOR</span> <span class="n">forward</span><span class="p">;</span>
|
|
<span class="n">VECTOR</span> <span class="n">up</span><span class="p">;</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">_3D_ATTRIBUTES</span>
|
|
<span class="p">{</span>
|
|
<span class="nx">position</span><span class="p">,</span>
|
|
<span class="nx">velocity</span><span class="p">,</span>
|
|
<span class="nx">forward</span><span class="p">,</span>
|
|
<span class="nx">up</span><span class="p">,</span>
|
|
<span class="p">};</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt id="fmod_3d_attributes_position">position</dt>
|
|
<dd>
|
|
<p>Position in world space used for panning and attenuation. (<a class="apilink" href="core-api-common.html#fmod_vector">FMOD_VECTOR</a>)</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> <a href="glossary.html#distance-units">Distance units</a></li>
|
|
</ul>
|
|
</dd>
|
|
<dt id="fmod_3d_attributes_velocity">velocity</dt>
|
|
<dd>
|
|
<p>Velocity in world space used for doppler. (<a class="apilink" href="core-api-common.html#fmod_vector">FMOD_VECTOR</a>)</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> <a href="glossary.html#distance-units">Distance units</a> per second</li>
|
|
</ul>
|
|
</dd>
|
|
<dt id="fmod_3d_attributes_forward">forward</dt>
|
|
<dd>Forwards orientation, must be of unit length (1.0) and perpendicular to <code>up</code>. (<a class="apilink" href="core-api-common.html#fmod_vector">FMOD_VECTOR</a>)</dd>
|
|
<dt id="fmod_3d_attributes_up">up</dt>
|
|
<dd>Upwards orientation, must be of unit length (1.0) and perpendicular to <code>forward</code>. (<a class="apilink" href="core-api-common.html#fmod_vector">FMOD_VECTOR</a>)</dd>
|
|
</dl>
|
|
<p>Vectors must be provided in the correct <a href="glossary.html#handedness">handedness</a>.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="plugin-api-dsp.html#fmod_dsp_parameter_3dattributes">FMOD_DSP_PARAMETER_3DATTRIBUTES</a></p>
|
|
<h2 api="define" id="fmod_channelmask"><a href="#fmod_channelmask">FMOD_CHANNELMASK</a></h2>
|
|
<p>Flags that describe the speakers present in a given <a href="glossary.html#signal">signal</a>.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="cp">#define FMOD_CHANNELMASK_FRONT_LEFT 0x00000001</span>
|
|
<span class="cp">#define FMOD_CHANNELMASK_FRONT_RIGHT 0x00000002</span>
|
|
<span class="cp">#define FMOD_CHANNELMASK_FRONT_CENTER 0x00000004</span>
|
|
<span class="cp">#define FMOD_CHANNELMASK_LOW_FREQUENCY 0x00000008</span>
|
|
<span class="cp">#define FMOD_CHANNELMASK_SURROUND_LEFT 0x00000010</span>
|
|
<span class="cp">#define FMOD_CHANNELMASK_SURROUND_RIGHT 0x00000020</span>
|
|
<span class="cp">#define FMOD_CHANNELMASK_BACK_LEFT 0x00000040</span>
|
|
<span class="cp">#define FMOD_CHANNELMASK_BACK_RIGHT 0x00000080</span>
|
|
<span class="cp">#define FMOD_CHANNELMASK_BACK_CENTER 0x00000100</span>
|
|
<span class="cp">#define FMOD_CHANNELMASK_MONO (FMOD_CHANNELMASK_FRONT_LEFT)</span>
|
|
<span class="cp">#define FMOD_CHANNELMASK_STEREO (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT)</span>
|
|
<span class="cp">#define FMOD_CHANNELMASK_LRC (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER)</span>
|
|
<span class="cp">#define FMOD_CHANNELMASK_QUAD (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_SURROUND_LEFT | FMOD_CHANNELMASK_SURROUND_RIGHT)</span>
|
|
<span class="cp">#define FMOD_CHANNELMASK_SURROUND (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER | FMOD_CHANNELMASK_SURROUND_LEFT | FMOD_CHANNELMASK_SURROUND_RIGHT)</span>
|
|
<span class="cp">#define FMOD_CHANNELMASK_5POINT1 (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER | FMOD_CHANNELMASK_LOW_FREQUENCY | FMOD_CHANNELMASK_SURROUND_LEFT | FMOD_CHANNELMASK_SURROUND_RIGHT)</span>
|
|
<span class="cp">#define FMOD_CHANNELMASK_5POINT1_REARS (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER | FMOD_CHANNELMASK_LOW_FREQUENCY | FMOD_CHANNELMASK_BACK_LEFT | FMOD_CHANNELMASK_BACK_RIGHT)</span>
|
|
<span class="cp">#define FMOD_CHANNELMASK_7POINT0 (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER | FMOD_CHANNELMASK_SURROUND_LEFT | FMOD_CHANNELMASK_SURROUND_RIGHT | FMOD_CHANNELMASK_BACK_LEFT | FMOD_CHANNELMASK_BACK_RIGHT)</span>
|
|
<span class="cp">#define FMOD_CHANNELMASK_7POINT1 (FMOD_CHANNELMASK_FRONT_LEFT | FMOD_CHANNELMASK_FRONT_RIGHT | FMOD_CHANNELMASK_FRONT_CENTER | FMOD_CHANNELMASK_LOW_FREQUENCY | FMOD_CHANNELMASK_SURROUND_LEFT | FMOD_CHANNELMASK_SURROUND_RIGHT | FMOD_CHANNELMASK_BACK_LEFT | FMOD_CHANNELMASK_BACK_RIGHT)</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="na">[Flags]</span>
|
|
<span class="k">enum</span> <span class="n">CHANNELMASK</span> <span class="p">:</span> <span class="kt">uint</span>
|
|
<span class="p">{</span>
|
|
<span class="n">FRONT_LEFT</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000001</span><span class="p">,</span>
|
|
<span class="n">FRONT_RIGHT</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000002</span><span class="p">,</span>
|
|
<span class="n">FRONT_CENTER</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000004</span><span class="p">,</span>
|
|
<span class="n">LOW_FREQUENCY</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000008</span><span class="p">,</span>
|
|
<span class="n">SURROUND_LEFT</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000010</span><span class="p">,</span>
|
|
<span class="n">SURROUND_RIGHT</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000020</span><span class="p">,</span>
|
|
<span class="n">BACK_LEFT</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000040</span><span class="p">,</span>
|
|
<span class="n">BACK_RIGHT</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000080</span><span class="p">,</span>
|
|
<span class="n">BACK_CENTER</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000100</span><span class="p">,</span>
|
|
<span class="n">MONO</span> <span class="p">=</span> <span class="p">(</span><span class="n">FRONT_LEFT</span><span class="p">),</span>
|
|
<span class="n">STEREO</span> <span class="p">=</span> <span class="p">(</span><span class="n">FRONT_LEFT</span> <span class="p">|</span> <span class="n">FRONT_RIGHT</span><span class="p">),</span>
|
|
<span class="n">LRC</span> <span class="p">=</span> <span class="p">(</span><span class="n">FRONT_LEFT</span> <span class="p">|</span> <span class="n">FRONT_RIGHT</span> <span class="p">|</span> <span class="n">FRONT_CENTER</span><span class="p">),</span>
|
|
<span class="n">QUAD</span> <span class="p">=</span> <span class="p">(</span><span class="n">FRONT_LEFT</span> <span class="p">|</span> <span class="n">FRONT_RIGHT</span> <span class="p">|</span> <span class="n">SURROUND_LEFT</span> <span class="p">|</span> <span class="n">SURROUND_RIGHT</span><span class="p">),</span>
|
|
<span class="n">SURROUND</span> <span class="p">=</span> <span class="p">(</span><span class="n">FRONT_LEFT</span> <span class="p">|</span> <span class="n">FRONT_RIGHT</span> <span class="p">|</span> <span class="n">FRONT_CENTER</span> <span class="p">|</span> <span class="n">SURROUND_LEFT</span> <span class="p">|</span> <span class="n">SURROUND_RIGHT</span><span class="p">),</span>
|
|
<span class="n">_5POINT1</span> <span class="p">=</span> <span class="p">(</span><span class="n">FRONT_LEFT</span> <span class="p">|</span> <span class="n">FRONT_RIGHT</span> <span class="p">|</span> <span class="n">FRONT_CENTER</span> <span class="p">|</span> <span class="n">LOW_FREQUENCY</span> <span class="p">|</span> <span class="n">SURROUND_LEFT</span> <span class="p">|</span> <span class="n">SURROUND_RIGHT</span><span class="p">),</span>
|
|
<span class="n">_5POINT1_REARS</span> <span class="p">=</span> <span class="p">(</span><span class="n">FRONT_LEFT</span> <span class="p">|</span> <span class="n">FRONT_RIGHT</span> <span class="p">|</span> <span class="n">FRONT_CENTER</span> <span class="p">|</span> <span class="n">LOW_FREQUENCY</span> <span class="p">|</span> <span class="n">BACK_LEFT</span> <span class="p">|</span> <span class="n">BACK_RIGHT</span><span class="p">),</span>
|
|
<span class="n">_7POINT0</span> <span class="p">=</span> <span class="p">(</span><span class="n">FRONT_LEFT</span> <span class="p">|</span> <span class="n">FRONT_RIGHT</span> <span class="p">|</span> <span class="n">FRONT_CENTER</span> <span class="p">|</span> <span class="n">SURROUND_LEFT</span> <span class="p">|</span> <span class="n">SURROUND_RIGHT</span> <span class="p">|</span> <span class="n">BACK_LEFT</span> <span class="p">|</span> <span class="n">BACK_RIGHT</span><span class="p">),</span>
|
|
<span class="n">_7POINT1</span> <span class="p">=</span> <span class="p">(</span><span class="n">FRONT_LEFT</span> <span class="p">|</span> <span class="n">FRONT_RIGHT</span> <span class="p">|</span> <span class="n">FRONT_CENTER</span> <span class="p">|</span> <span class="n">LOW_FREQUENCY</span> <span class="p">|</span> <span class="n">SURROUND_LEFT</span> <span class="p">|</span> <span class="n">SURROUND_RIGHT</span> <span class="p">|</span> <span class="n">BACK_LEFT</span> <span class="p">|</span> <span class="n">BACK_RIGHT</span><span class="p">)</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">CHANNELMASK_FRONT_LEFT</span> <span class="o">=</span> <span class="mh">0x00000001</span>
|
|
<span class="nx">CHANNELMASK_FRONT_RIGHT</span> <span class="o">=</span> <span class="mh">0x00000002</span>
|
|
<span class="nx">CHANNELMASK_FRONT_CENTER</span> <span class="o">=</span> <span class="mh">0x00000004</span>
|
|
<span class="nx">CHANNELMASK_LOW_FREQUENCY</span> <span class="o">=</span> <span class="mh">0x00000008</span>
|
|
<span class="nx">CHANNELMASK_SURROUND_LEFT</span> <span class="o">=</span> <span class="mh">0x00000010</span>
|
|
<span class="nx">CHANNELMASK_SURROUND_RIGHT</span> <span class="o">=</span> <span class="mh">0x00000020</span>
|
|
<span class="nx">CHANNELMASK_BACK_LEFT</span> <span class="o">=</span> <span class="mh">0x00000040</span>
|
|
<span class="nx">CHANNELMASK_BACK_RIGHT</span> <span class="o">=</span> <span class="mh">0x00000080</span>
|
|
<span class="nx">CHANNELMASK_BACK_CENTER</span> <span class="o">=</span> <span class="mh">0x00000100</span>
|
|
<span class="nx">CHANNELMASK_MONO</span> <span class="o">=</span> <span class="p">(</span><span class="nx">CHANNELMASK_FRONT_LEFT</span><span class="p">))</span>
|
|
<span class="nx">CHANNELMASK_STEREO</span> <span class="o">=</span> <span class="p">(</span><span class="nx">CHANNELMASK_FRONT_LEFT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_FRONT_RIGHT</span><span class="p">))</span>
|
|
<span class="nx">CHANNELMASK_LRC</span> <span class="o">=</span> <span class="p">(</span><span class="nx">CHANNELMASK_FRONT_LEFT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_FRONT_RIGHT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_FRONT_CENTER</span><span class="p">))</span>
|
|
<span class="nx">CHANNELMASK_QUAD</span> <span class="o">=</span> <span class="p">(</span><span class="nx">CHANNELMASK_FRONT_LEFT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_FRONT_RIGHT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_SURROUND_LEFT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_SURROUND_RIGHT</span><span class="p">))</span>
|
|
<span class="nx">CHANNELMASK_SURROUND</span> <span class="o">=</span> <span class="p">(</span><span class="nx">CHANNELMASK_FRONT_LEFT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_FRONT_RIGHT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_FRONT_CENTER</span> <span class="o">|</span> <span class="nx">CHANNELMASK_SURROUND_LEFT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_SURROUND_RIGHT</span><span class="p">))</span>
|
|
<span class="nx">CHANNELMASK_5POINT1</span> <span class="o">=</span> <span class="p">(</span><span class="nx">CHANNELMASK_FRONT_LEFT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_FRONT_RIGHT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_FRONT_CENTER</span> <span class="o">|</span> <span class="nx">CHANNELMASK_LOW_FREQUENCY</span> <span class="o">|</span> <span class="nx">CHANNELMASK_SURROUND_LEFT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_SURROUND_RIGHT</span><span class="p">))</span>
|
|
<span class="nx">CHANNELMASK_5POINT1_REARS</span> <span class="o">=</span> <span class="p">(</span><span class="nx">CHANNELMASK_FRONT_LEFT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_FRONT_RIGHT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_FRONT_CENTER</span> <span class="o">|</span> <span class="nx">CHANNELMASK_LOW_FREQUENCY</span> <span class="o">|</span> <span class="nx">CHANNELMASK_BACK_LEFT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_BACK_RIGHT</span><span class="p">))</span>
|
|
<span class="nx">CHANNELMASK_7POINT0</span> <span class="o">=</span> <span class="p">(</span><span class="nx">CHANNELMASK_FRONT_LEFT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_FRONT_RIGHT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_FRONT_CENTER</span> <span class="o">|</span> <span class="nx">CHANNELMASK_SURROUND_LEFT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_SURROUND_RIGHT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_BACK_LEFT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_BACK_RIGHT</span><span class="p">))</span>
|
|
<span class="nx">CHANNELMASK_7POINT1</span> <span class="o">=</span> <span class="p">(</span><span class="nx">CHANNELMASK_FRONT_LEFT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_FRONT_RIGHT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_FRONT_CENTER</span> <span class="o">|</span> <span class="nx">CHANNELMASK_LOW_FREQUENCY</span> <span class="o">|</span> <span class="nx">CHANNELMASK_SURROUND_LEFT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_SURROUND_RIGHT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_BACK_LEFT</span> <span class="o">|</span> <span class="nx">CHANNELMASK_BACK_RIGHT</span><span class="p">))</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt id="fmod_channelmask_front_left">FMOD_CHANNELMASK_FRONT_LEFT</dt>
|
|
<dd>Front left channel.</dd>
|
|
<dt id="fmod_channelmask_front_right">FMOD_CHANNELMASK_FRONT_RIGHT</dt>
|
|
<dd>Front right channel.</dd>
|
|
<dt id="fmod_channelmask_front_center">FMOD_CHANNELMASK_FRONT_CENTER</dt>
|
|
<dd>Front center channel.</dd>
|
|
<dt id="fmod_channelmask_low_frequency">FMOD_CHANNELMASK_LOW_FREQUENCY</dt>
|
|
<dd>Low frequency channel.</dd>
|
|
<dt id="fmod_channelmask_surround_left">FMOD_CHANNELMASK_SURROUND_LEFT</dt>
|
|
<dd>Surround left channel.</dd>
|
|
<dt id="fmod_channelmask_surround_right">FMOD_CHANNELMASK_SURROUND_RIGHT</dt>
|
|
<dd>Surround right channel.</dd>
|
|
<dt id="fmod_channelmask_back_left">FMOD_CHANNELMASK_BACK_LEFT</dt>
|
|
<dd>Back left channel.</dd>
|
|
<dt id="fmod_channelmask_back_right">FMOD_CHANNELMASK_BACK_RIGHT</dt>
|
|
<dd>Back right channel.</dd>
|
|
<dt id="fmod_channelmask_back_center">FMOD_CHANNELMASK_BACK_CENTER</dt>
|
|
<dd>Back center channel, not represented in any <a class="apilink" href="core-api-common.html#fmod_speakermode">FMOD_SPEAKERMODE</a>.</dd>
|
|
<dt id="fmod_channelmask_mono">FMOD_CHANNELMASK_MONO</dt>
|
|
<dd>Mono channel mask.</dd>
|
|
<dt id="fmod_channelmask_stereo">FMOD_CHANNELMASK_STEREO</dt>
|
|
<dd>Stereo channel mask.</dd>
|
|
<dt id="fmod_channelmask_lrc">FMOD_CHANNELMASK_LRC</dt>
|
|
<dd>Left / right / center channel mask.</dd>
|
|
<dt id="fmod_channelmask_quad">FMOD_CHANNELMASK_QUAD</dt>
|
|
<dd>Quadphonic channel mask.</dd>
|
|
<dt id="fmod_channelmask_surround">FMOD_CHANNELMASK_SURROUND</dt>
|
|
<dd>5.0 surround channel mask.</dd>
|
|
<dt id="fmod_channelmask_5point1">FMOD_CHANNELMASK_5POINT1</dt>
|
|
<dd>5.1 surround channel mask.</dd>
|
|
<dt id="fmod_channelmask_5point1_rears">FMOD_CHANNELMASK_5POINT1_REARS</dt>
|
|
<dd>5.1 surround channel mask, using rears instead of surrounds.</dd>
|
|
<dt id="fmod_channelmask_7point0">FMOD_CHANNELMASK_7POINT0</dt>
|
|
<dd>7.0 surround channel mask.</dd>
|
|
<dt id="fmod_channelmask_7point1">FMOD_CHANNELMASK_7POINT1</dt>
|
|
<dd>7.1 surround channel mask.</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-dsp.html#dsp_setchannelformat">DSP::setChannelFormat</a>, <a class="apilink" href="core-api-dsp.html#dsp_getchannelformat">DSP::getChannelFormat</a></p>
|
|
<h2 api="enum" id="fmod_channelorder"><a href="#fmod_channelorder">FMOD_CHANNELORDER</a></h2>
|
|
<p>Speaker ordering for multi-channel <a href="glossary.html#signal">signals</a>.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="k">typedef</span> <span class="k">enum</span> <span class="n">FMOD_CHANNELORDER</span> <span class="p">{</span>
|
|
<span class="n">FMOD_CHANNELORDER_DEFAULT</span><span class="p">,</span>
|
|
<span class="n">FMOD_CHANNELORDER_WAVEFORMAT</span><span class="p">,</span>
|
|
<span class="n">FMOD_CHANNELORDER_PROTOOLS</span><span class="p">,</span>
|
|
<span class="n">FMOD_CHANNELORDER_ALLMONO</span><span class="p">,</span>
|
|
<span class="n">FMOD_CHANNELORDER_ALLSTEREO</span><span class="p">,</span>
|
|
<span class="n">FMOD_CHANNELORDER_ALSA</span><span class="p">,</span>
|
|
<span class="n">FMOD_CHANNELORDER_MAX</span>
|
|
<span class="p">}</span> <span class="n">FMOD_CHANNELORDER</span><span class="p">;</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">enum</span> <span class="n">CHANNELORDER</span> <span class="p">:</span> <span class="kt">int</span>
|
|
<span class="p">{</span>
|
|
<span class="n">DEFAULT</span><span class="p">,</span>
|
|
<span class="n">WAVEFORMAT</span><span class="p">,</span>
|
|
<span class="n">PROTOOLS</span><span class="p">,</span>
|
|
<span class="n">ALLMONO</span><span class="p">,</span>
|
|
<span class="n">ALLSTEREO</span><span class="p">,</span>
|
|
<span class="n">ALSA</span><span class="p">,</span>
|
|
<span class="n">MAX</span><span class="p">,</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">CHANNELORDER_DEFAULT</span>
|
|
<span class="nx">CHANNELORDER_WAVEFORMAT</span>
|
|
<span class="nx">CHANNELORDER_PROTOOLS</span>
|
|
<span class="nx">CHANNELORDER_ALLMONO</span>
|
|
<span class="nx">CHANNELORDER_ALLSTEREO</span>
|
|
<span class="nx">CHANNELORDER_ALSA</span>
|
|
<span class="nx">CHANNELORDER_MAX</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt id="fmod_channelorder_default">FMOD_CHANNELORDER_DEFAULT</dt>
|
|
<dd>Left, Right, Center, LFE, Surround Left, Surround Right, Back Left, Back Right (see <a class="apilink" href="core-api-common.html#fmod_speaker">FMOD_SPEAKER</a> enumeration)</dd>
|
|
<dt id="fmod_channelorder_waveformat">FMOD_CHANNELORDER_WAVEFORMAT</dt>
|
|
<dd>Left, Right, Center, LFE, Back Left, Back Right, Surround Left, Surround Right (as per Microsoft .wav WAVEFORMAT structure master order)</dd>
|
|
<dt id="fmod_channelorder_protools">FMOD_CHANNELORDER_PROTOOLS</dt>
|
|
<dd>Left, Center, Right, Surround Left, Surround Right, LFE</dd>
|
|
<dt id="fmod_channelorder_allmono">FMOD_CHANNELORDER_ALLMONO</dt>
|
|
<dd>Mono, Mono, Mono, Mono, Mono, Mono, ... (each channel up to <a class="apilink" href="core-api-common.html#fmod_max_channel_width">FMOD_MAX_CHANNEL_WIDTH</a> treated as mono)</dd>
|
|
<dt id="fmod_channelorder_allstereo">FMOD_CHANNELORDER_ALLSTEREO</dt>
|
|
<dd>Left, Right, Left, Right, Left, Right, ... (each pair of channels up to <a class="apilink" href="core-api-common.html#fmod_max_channel_width">FMOD_MAX_CHANNEL_WIDTH</a> treated as stereo)</dd>
|
|
<dt id="fmod_channelorder_alsa">FMOD_CHANNELORDER_ALSA</dt>
|
|
<dd>Left, Right, Surround Left, Surround Right, Center, LFE (as per Linux ALSA channel order)</dd>
|
|
<dt id="fmod_channelorder_max">FMOD_CHANNELORDER_MAX</dt>
|
|
<dd>Maximum number of channel orderings supported.</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-system.html#fmod_createsoundexinfo">FMOD_CREATESOUNDEXINFO</a></p>
|
|
<h2 api="struct" id="fmod_cpu_usage"><a href="#fmod_cpu_usage">FMOD_CPU_USAGE</a></h2>
|
|
<p>Performance information for Core API functionality.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="k">typedef</span> <span class="k">struct</span> <span class="n">FMOD_CPU_USAGE</span> <span class="p">{</span>
|
|
<span class="kt">float</span> <span class="n">dsp</span><span class="p">;</span>
|
|
<span class="kt">float</span> <span class="n">stream</span><span class="p">;</span>
|
|
<span class="kt">float</span> <span class="n">geometry</span><span class="p">;</span>
|
|
<span class="kt">float</span> <span class="n">update</span><span class="p">;</span>
|
|
<span class="kt">float</span> <span class="n">convolution1</span><span class="p">;</span>
|
|
<span class="kt">float</span> <span class="n">convolution2</span><span class="p">;</span>
|
|
<span class="p">}</span> <span class="n">FMOD_CPU_USAGE</span><span class="p">;</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">struct</span> <span class="nc">CPU_USAGE</span>
|
|
<span class="p">{</span>
|
|
<span class="kt">float</span> <span class="n">dsp</span><span class="p">;</span>
|
|
<span class="kt">float</span> <span class="n">stream</span><span class="p">;</span>
|
|
<span class="kt">float</span> <span class="n">geometry</span><span class="p">;</span>
|
|
<span class="kt">float</span> <span class="n">update</span><span class="p">;</span>
|
|
<span class="kt">float</span> <span class="n">convolution1</span><span class="p">;</span>
|
|
<span class="kt">float</span> <span class="n">convolution2</span><span class="p">;</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">CPU_USAGE</span>
|
|
<span class="p">{</span>
|
|
<span class="nx">dsp</span><span class="p">,</span>
|
|
<span class="nx">stream</span><span class="p">,</span>
|
|
<span class="nx">geometry</span><span class="p">,</span>
|
|
<span class="nx">update</span><span class="p">,</span>
|
|
<span class="nx">convolution1</span><span class="p">,</span>
|
|
<span class="nx">convolution2</span>
|
|
<span class="p">};</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt id="fmod_cpu_usage_dsp">dsp</dt>
|
|
<dd>
|
|
<p><a href="glossary.html#dsp">DSP</a> mixing engine CPU usage. Percentage of <a class="apilink" href="core-api-common.html#fmod_thread_type_mixer">FMOD_THREAD_TYPE_MIXER</a>, or main thread if <a class="apilink" href="core-api-system.html#fmod_init_mix_from_update">FMOD_INIT_MIX_FROM_UPDATE</a> flag is used with <a class="apilink" href="core-api-system.html#system_init">System::init</a>.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Percent</li>
|
|
<li><span class="label">Range:</span> [0, 100]</li>
|
|
</ul>
|
|
</dd>
|
|
<dt id="fmod_cpu_usage_stream">stream</dt>
|
|
<dd>
|
|
<p>Streaming engine CPU usage. Percentage of <a class="apilink" href="core-api-common.html#fmod_thread_type_stream">FMOD_THREAD_TYPE_STREAM</a>, or main thread if <a class="apilink" href="core-api-system.html#fmod_init_stream_from_update">FMOD_INIT_STREAM_FROM_UPDATE</a> flag is used with <a class="apilink" href="core-api-system.html#system_init">System::init</a>.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Percent</li>
|
|
<li><span class="label">Range:</span> [0, 100]</li>
|
|
</ul>
|
|
</dd>
|
|
<dt id="fmod_cpu_usage_geometry">geometry</dt>
|
|
<dd>
|
|
<p>Geometry engine CPU usage. Percentage of <a class="apilink" href="core-api-common.html#fmod_thread_type_geometry">FMOD_THREAD_TYPE_GEOMETRY</a>.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Percent</li>
|
|
<li><span class="label">Range:</span> [0, 100]</li>
|
|
</ul>
|
|
</dd>
|
|
<dt id="fmod_cpu_usage_update">update</dt>
|
|
<dd>
|
|
<p><a class="apilink" href="core-api-system.html#system_update">System::update</a> CPU usage. Percentage of main thread.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Percent</li>
|
|
<li><span class="label">Range:</span> [0, 100]</li>
|
|
</ul>
|
|
</dd>
|
|
<dt id="fmod_cpu_usage_convolution1">convolution1</dt>
|
|
<dd>
|
|
<p>Convolution reverb processing thread #1 CPU usage. Percentage of <a class="apilink" href="core-api-common.html#fmod_thread_type_convolution1">FMOD_THREAD_TYPE_CONVOLUTION1</a>.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Percent</li>
|
|
<li><span class="label">Range:</span> [0, 100]</li>
|
|
</ul>
|
|
</dd>
|
|
<dt id="fmod_cpu_usage_convolution2">convolution2</dt>
|
|
<dd>
|
|
<p>Convolution reverb processing thread #2 CPU usage. Percentage of <a class="apilink" href="core-api-common.html#fmod_thread_type_convolution2">FMOD_THREAD_TYPE_CONVOLUTION2</a>.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Percent</li>
|
|
<li><span class="label">Range:</span> [0, 100]</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>This structure is filled in with <a class="apilink" href="core-api-system.html#system_getcpuusage">System::getCPUUsage</a>.</p>
|
|
<p>For readability, the percentage values are smoothed to provide a more stable output.</p>
|
|
<p>'Percentage of main thread' in the descriptions above refers to the thread that the function is called from by the user. </p>
|
|
<p>The use of <a class="apilink" href="core-api-common.html#fmod_thread_type_convolution1">FMOD_THREAD_TYPE_CONVOLUTION1</a> or <a class="apilink" href="core-api-common.html#fmod_thread_type_convolution2">FMOD_THREAD_TYPE_CONVOLUTION2</a> can be controlled with <a class="apilink" href="core-api-system.html#fmod_advancedsettings_maxconvolutionthreads">FMOD_ADVANCEDSETTINGS::maxConvolutionThreads</a>.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="studio-api-system.html#studio_system_getcpuusage">Studio::System::getCPUUsage</a>, <a class="apilink" href="studio-api-system.html#fmod_studio_cpu_usage">FMOD_STUDIO_CPU_USAGE</a></p>
|
|
<h2 api="callback" id="fmod_debug_callback"><a href="#fmod_debug_callback">FMOD_DEBUG_CALLBACK</a></h2>
|
|
<p>Callback for debug messages when using the logging version of FMOD.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="n">F_CALL</span> <span class="nf">FMOD_DEBUG_CALLBACK</span><span class="p">(</span>
|
|
<span class="n">FMOD_DEBUG_FLAGS</span> <span class="n">flags</span><span class="p">,</span>
|
|
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">line</span><span class="p">,</span>
|
|
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">func</span><span class="p">,</span>
|
|
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">delegate</span> <span class="n">RESULT</span> <span class="nf">DEBUG_CALLBACK</span><span class="p">(</span>
|
|
<span class="n">DEBUG_FLAGS</span> <span class="n">flags</span><span class="p">,</span>
|
|
<span class="n">IntPtr</span> <span class="n">file</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">line</span><span class="p">,</span>
|
|
<span class="n">IntPtr</span> <span class="n">func</span><span class="p">,</span>
|
|
<span class="n">IntPtr</span> <span class="n">message</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="admonition language-javascript">
|
|
<p>Not supported for JavaScript.</p>
|
|
</div>
|
|
<dl>
|
|
<dt>flags</dt>
|
|
<dd>Flags which detail the level and type of this log. (<a class="apilink" href="core-api-common.html#fmod_debug_flags">FMOD_DEBUG_FLAGS</a>)</dd>
|
|
<dt>file</dt>
|
|
<dd>Source code file name where the message originated. (<a href="glossary.html#string-format">UTF-8 string</a>)</dd>
|
|
<dt>line</dt>
|
|
<dd>Source code line number where the message originated.</dd>
|
|
<dt>func</dt>
|
|
<dd>Class and function name where the message originated. (<a href="glossary.html#string-format">UTF-8 string</a>)</dd>
|
|
<dt>message</dt>
|
|
<dd>Actual debug message associated with the callback. (<a href="glossary.html#string-format">UTF-8 string</a>)</dd>
|
|
</dl>
|
|
<div class="admonition language-csharp">
|
|
<p>The 'file', 'func', and 'message' arguments can be used via <code>StringWrapper</code> by using <code>FMOD.StringWrapper string = new FMOD.StringWrapper(ptrToString);</code></p>
|
|
</div>
|
|
<p>This callback will fire directly from the log line, as such it can be from any thread.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-common.html#debug_initialize">Debug_Initialize</a></p>
|
|
<h2 api="define" id="fmod_debug_flags"><a href="#fmod_debug_flags">FMOD_DEBUG_FLAGS</a></h2>
|
|
<p>Specify the requested information to be output when using the logging version of FMOD.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="cp">#define FMOD_DEBUG_LEVEL_NONE 0x00000000</span>
|
|
<span class="cp">#define FMOD_DEBUG_LEVEL_ERROR 0x00000001</span>
|
|
<span class="cp">#define FMOD_DEBUG_LEVEL_WARNING 0x00000002</span>
|
|
<span class="cp">#define FMOD_DEBUG_LEVEL_LOG 0x00000004</span>
|
|
<span class="cp">#define FMOD_DEBUG_TYPE_MEMORY 0x00000100</span>
|
|
<span class="cp">#define FMOD_DEBUG_TYPE_FILE 0x00000200</span>
|
|
<span class="cp">#define FMOD_DEBUG_TYPE_CODEC 0x00000400</span>
|
|
<span class="cp">#define FMOD_DEBUG_TYPE_TRACE 0x00000800</span>
|
|
<span class="cp">#define FMOD_DEBUG_DISPLAY_TIMESTAMPS 0x00010000</span>
|
|
<span class="cp">#define FMOD_DEBUG_DISPLAY_LINENUMBERS 0x00020000</span>
|
|
<span class="cp">#define FMOD_DEBUG_DISPLAY_THREAD 0x00040000</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="na">[Flags]</span>
|
|
<span class="k">enum</span> <span class="n">DEBUG_FLAGS</span> <span class="p">:</span> <span class="kt">uint</span>
|
|
<span class="p">{</span>
|
|
<span class="n">NONE</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000000</span><span class="p">,</span>
|
|
<span class="n">ERROR</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000001</span><span class="p">,</span>
|
|
<span class="n">WARNING</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000002</span><span class="p">,</span>
|
|
<span class="n">LOG</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000004</span><span class="p">,</span>
|
|
<span class="n">TYPE_MEMORY</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000100</span><span class="p">,</span>
|
|
<span class="n">TYPE_FILE</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000200</span><span class="p">,</span>
|
|
<span class="n">TYPE_CODEC</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000400</span><span class="p">,</span>
|
|
<span class="n">TYPE_TRACE</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000800</span><span class="p">,</span>
|
|
<span class="n">DISPLAY_TIMESTAMPS</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00010000</span><span class="p">,</span>
|
|
<span class="n">DISPLAY_LINENUMBERS</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00020000</span><span class="p">,</span>
|
|
<span class="n">DISPLAY_THREAD</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00040000</span><span class="p">,</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">DEBUG_LEVEL_NONE</span> <span class="o">=</span> <span class="mh">0x00000000</span>
|
|
<span class="nx">DEBUG_LEVEL_ERROR</span> <span class="o">=</span> <span class="mh">0x00000001</span>
|
|
<span class="nx">DEBUG_LEVEL_WARNING</span> <span class="o">=</span> <span class="mh">0x00000002</span>
|
|
<span class="nx">DEBUG_LEVEL_LOG</span> <span class="o">=</span> <span class="mh">0x00000004</span>
|
|
<span class="nx">DEBUG_TYPE_MEMORY</span> <span class="o">=</span> <span class="mh">0x00000100</span>
|
|
<span class="nx">DEBUG_TYPE_FILE</span> <span class="o">=</span> <span class="mh">0x00000200</span>
|
|
<span class="nx">DEBUG_TYPE_CODEC</span> <span class="o">=</span> <span class="mh">0x00000400</span>
|
|
<span class="nx">DEBUG_TYPE_TRACE</span> <span class="o">=</span> <span class="mh">0x00000800</span>
|
|
<span class="nx">DEBUG_DISPLAY_TIMESTAMPS</span> <span class="o">=</span> <span class="mh">0x00010000</span>
|
|
<span class="nx">DEBUG_DISPLAY_LINENUMBERS</span> <span class="o">=</span> <span class="mh">0x00020000</span>
|
|
<span class="nx">DEBUG_DISPLAY_THREAD</span> <span class="o">=</span> <span class="mh">0x00040000</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt id="fmod_debug_level_none">FMOD_DEBUG_LEVEL_NONE</dt>
|
|
<dd>Disable all messages.</dd>
|
|
<dt id="fmod_debug_level_error">FMOD_DEBUG_LEVEL_ERROR</dt>
|
|
<dd>Enable only error messages.</dd>
|
|
<dt id="fmod_debug_level_warning">FMOD_DEBUG_LEVEL_WARNING</dt>
|
|
<dd>Enable warning and error messages.</dd>
|
|
<dt id="fmod_debug_level_log">FMOD_DEBUG_LEVEL_LOG</dt>
|
|
<dd>Enable informational, warning and error messages (default).</dd>
|
|
<dt id="fmod_debug_type_memory">FMOD_DEBUG_TYPE_MEMORY</dt>
|
|
<dd>Verbose logging for memory operations, only use this if you are debugging a memory related issue.</dd>
|
|
<dt id="fmod_debug_type_file">FMOD_DEBUG_TYPE_FILE</dt>
|
|
<dd>Verbose logging for file access, only use this if you are debugging a file related issue.</dd>
|
|
<dt id="fmod_debug_type_codec">FMOD_DEBUG_TYPE_CODEC</dt>
|
|
<dd>Verbose logging for codec initialization, only use this if you are debugging a codec related issue.</dd>
|
|
<dt id="fmod_debug_type_trace">FMOD_DEBUG_TYPE_TRACE</dt>
|
|
<dd>Verbose logging for internal errors, use this for tracking the origin of error codes.</dd>
|
|
<dt id="fmod_debug_display_timestamps">FMOD_DEBUG_DISPLAY_TIMESTAMPS</dt>
|
|
<dd>Display the time stamp of the log message in milliseconds.</dd>
|
|
<dt id="fmod_debug_display_linenumbers">FMOD_DEBUG_DISPLAY_LINENUMBERS</dt>
|
|
<dd>Display the source code file and line number for where the message originated.</dd>
|
|
<dt id="fmod_debug_display_thread">FMOD_DEBUG_DISPLAY_THREAD</dt>
|
|
<dd>Display the thread ID of the calling function that generated the message.</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-common.html#debug_initialize">Debug_Initialize</a></p>
|
|
<h2 api="function" id="debug_initialize"><a href="#debug_initialize">Debug_Initialize</a></h2>
|
|
<p>Specify the level and delivery method of log messages when using the logging version of FMOD.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="nf">Debug_Initialize</span><span class="p">(</span>
|
|
<span class="n">FMOD_DEBUG_FLAGS</span> <span class="n">flags</span><span class="p">,</span>
|
|
<span class="n">FMOD_DEBUG_MODE</span> <span class="n">mode</span> <span class="o">=</span> <span class="n">FMOD_DEBUG_MODE_TTY</span><span class="p">,</span>
|
|
<span class="n">FMOD_DEBUG_CALLBACK</span> <span class="n">callback</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
|
|
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="k">nullptr</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-c"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="nf">FMOD_Debug_Initialize</span><span class="p">(</span>
|
|
<span class="n">FMOD_DEBUG_FLAGS</span> <span class="n">flags</span><span class="p">,</span>
|
|
<span class="n">FMOD_DEBUG_MODE</span> <span class="n">mode</span><span class="p">,</span>
|
|
<span class="n">FMOD_DEBUG_CALLBACK</span> <span class="n">callback</span><span class="p">,</span>
|
|
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">static</span> <span class="n">RESULT</span> <span class="n">Debug</span><span class="p">.</span><span class="n">Initialize</span><span class="p">(</span>
|
|
<span class="n">DEBUG_FLAGS</span> <span class="n">flags</span><span class="p">,</span>
|
|
<span class="n">DEBUG_MODE</span> <span class="n">mode</span> <span class="p">=</span> <span class="n">DEBUG_MODE</span><span class="p">.</span><span class="n">TTY</span><span class="p">,</span>
|
|
<span class="n">DEBUG_CALLBACK</span> <span class="n">callback</span> <span class="p">=</span> <span class="k">null</span><span class="p">,</span>
|
|
<span class="kt">string</span> <span class="n">filename</span> <span class="p">=</span> <span class="k">null</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Debug_Initialize</span><span class="p">(</span>
|
|
<span class="nx">flags</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>flags</dt>
|
|
<dd>Debug level, type and display control flags. More than one mode can be set at once by combining them with the OR operator. (<a class="apilink" href="core-api-common.html#fmod_debug_flags">FMOD_DEBUG_FLAGS</a>)</dd>
|
|
<dt>mode <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>Destination for log messages. (<a class="apilink" href="core-api-common.html#fmod_debug_mode">FMOD_DEBUG_MODE</a>)</dd>
|
|
<dt>callback <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>Callback to use when mode is set to callback, only required when using that mode. (<a class="apilink" href="core-api-common.html#fmod_debug_callback">FMOD_DEBUG_CALLBACK</a>)</dd>
|
|
<dt>filename <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>Filename to use when mode is set to file, only required when using that mode. (<a href="glossary.html#string-format">UTF-8 string</a>)</dd>
|
|
</dl>
|
|
<p>This function will return <a class="apilink" href="core-api-common.html#fmod_err_unsupported">FMOD_ERR_UNSUPPORTED</a> when using the non-logging (release) versions of FMOD.</p>
|
|
<p>The logging version of FMOD can be recognized by the 'L' suffix in the library name, fmodL.dll or libfmodL.so for instance.</p>
|
|
<p>Note that:</p>
|
|
<ul>
|
|
<li><a class="apilink" href="core-api-common.html#fmod_debug_level_log">FMOD_DEBUG_LEVEL_LOG</a> produces informational, warning and error messages.</li>
|
|
<li><a class="apilink" href="core-api-common.html#fmod_debug_level_warning">FMOD_DEBUG_LEVEL_WARNING</a> produces warnings and error messages.</li>
|
|
<li><a class="apilink" href="core-api-common.html#fmod_debug_level_error">FMOD_DEBUG_LEVEL_ERROR</a> produces error messages only.</li>
|
|
</ul>
|
|
<p><strong>See Also:</strong> <a href="glossary.html#callback-behavior">Callback Behavior</a></p>
|
|
<h2 api="enum" id="fmod_debug_mode"><a href="#fmod_debug_mode">FMOD_DEBUG_MODE</a></h2>
|
|
<p>Specify the destination of log output when using the logging version of FMOD.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="k">typedef</span> <span class="k">enum</span> <span class="n">FMOD_DEBUG_MODE</span> <span class="p">{</span>
|
|
<span class="n">FMOD_DEBUG_MODE_TTY</span><span class="p">,</span>
|
|
<span class="n">FMOD_DEBUG_MODE_FILE</span><span class="p">,</span>
|
|
<span class="n">FMOD_DEBUG_MODE_CALLBACK</span>
|
|
<span class="p">}</span> <span class="n">FMOD_DEBUG_MODE</span><span class="p">;</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">enum</span> <span class="n">DEBUG_MODE</span> <span class="p">:</span> <span class="kt">int</span>
|
|
<span class="p">{</span>
|
|
<span class="n">TTY</span><span class="p">,</span>
|
|
<span class="n">FILE</span><span class="p">,</span>
|
|
<span class="n">CALLBACK</span><span class="p">,</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="admonition language-javascript">
|
|
<p>Not supported for JavaScript.</p>
|
|
</div>
|
|
<dl>
|
|
<dt id="fmod_debug_mode_tty">FMOD_DEBUG_MODE_TTY</dt>
|
|
<dd>Default log location per platform, i.e. Visual Studio output window, stderr, LogCat, etc.</dd>
|
|
<dt id="fmod_debug_mode_file">FMOD_DEBUG_MODE_FILE</dt>
|
|
<dd>Write log to specified file path.</dd>
|
|
<dt id="fmod_debug_mode_callback">FMOD_DEBUG_MODE_CALLBACK</dt>
|
|
<dd>Call specified callback with log information.</dd>
|
|
</dl>
|
|
<p>TTY destination can vary depending on platform, common examples include the Visual Studio / Xcode output window, stderr and LogCat.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-common.html#debug_initialize">Debug_Initialize</a></p>
|
|
<h2 api="function" id="file_getdiskbusy"><a href="#file_getdiskbusy">File_GetDiskBusy</a></h2>
|
|
<p>Information function to retrieve the state of FMOD disk access.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="nf">File_GetDiskBusy</span><span class="p">(</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">busy</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-c"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="nf">FMOD_File_GetDiskBusy</span><span class="p">(</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">busy</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="admonition language-csharp">
|
|
<p>Not supported for C#.</p>
|
|
</div>
|
|
<div class="admonition language-javascript">
|
|
<p>Not supported for JavaScript.</p>
|
|
</div>
|
|
<dl>
|
|
<dt>busy <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>Busy state of the disk at the current time.</dd>
|
|
</dl>
|
|
<p>Do not use this function to synchronize your own reads with, as due to timing, you might call this function and it says false = it is not busy, but the split second after calling this function, internally FMOD might set it to busy. Use <a class="apilink" href="core-api-common.html#file_setdiskbusy">File_SetDiskBusy</a> for proper mutual exclusion as it uses semaphores.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-common.html#file_setdiskbusy">File_SetDiskBusy</a></p>
|
|
<h2 api="function" id="file_setdiskbusy"><a href="#file_setdiskbusy">File_SetDiskBusy</a></h2>
|
|
<p>Sets the busy state for disk access ensuring mutual exclusion of file operations.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="nf">File_SetDiskBusy</span><span class="p">(</span>
|
|
<span class="kt">int</span> <span class="n">busy</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-c"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="nf">FMOD_File_SetDiskBusy</span><span class="p">(</span>
|
|
<span class="kt">int</span> <span class="n">busy</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="admonition language-csharp">
|
|
<p>Not supported for C#.</p>
|
|
</div>
|
|
<div class="admonition language-javascript">
|
|
<p>Not supported for JavaScript.</p>
|
|
</div>
|
|
<dl>
|
|
<dt>busy</dt>
|
|
<dd>Busy state where 1 represent the begining of disk access and 0 represents the end of disk access.</dd>
|
|
</dl>
|
|
<p>If file IO is currently being performed by FMOD this function will block until it has completed.</p>
|
|
<p>This function should be called in pairs once to set the state, then again to clear it once complete.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-common.html#file_getdiskbusy">File_GetDiskBusy</a></p>
|
|
<h2 api="struct" id="fmod_guid"><a href="#fmod_guid">FMOD_GUID</a></h2>
|
|
<p>Structure describing a globally unique identifier.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="k">typedef</span> <span class="k">struct</span> <span class="n">FMOD_GUID</span> <span class="p">{</span>
|
|
<span class="kt">unsigned</span> <span class="kt">int</span> <span class="n">Data1</span><span class="p">;</span>
|
|
<span class="kt">unsigned</span> <span class="kt">short</span> <span class="n">Data2</span><span class="p">;</span>
|
|
<span class="kt">unsigned</span> <span class="kt">short</span> <span class="n">Data3</span><span class="p">;</span>
|
|
<span class="kt">unsigned</span> <span class="kt">char</span> <span class="n">Data4</span><span class="p">[</span><span class="mi">8</span><span class="p">];</span>
|
|
<span class="p">}</span> <span class="n">FMOD_GUID</span><span class="p">;</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">struct</span> <span class="nc">System</span><span class="p">.</span><span class="n">Guid</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">FMOD_GUID</span>
|
|
<span class="p">{</span>
|
|
<span class="nx">Data1</span><span class="p">,</span>
|
|
<span class="nx">Data2</span><span class="p">,</span>
|
|
<span class="nx">Data3</span><span class="p">,</span>
|
|
<span class="nx">Data4</span><span class="p">,</span>
|
|
<span class="p">};</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt id="fmod_guid_data1">Data1</dt>
|
|
<dd>Specifies the first 8 hexadecimal digits of the <a href="glossary.html#guid">GUID</a>.</dd>
|
|
<dt id="fmod_guid_data2">Data2</dt>
|
|
<dd>Specifies the first group of 4 hexadecimal digits.</dd>
|
|
<dt id="fmod_guid_data3">Data3</dt>
|
|
<dd>Specifies the second group of 4 hexadecimal digits.</dd>
|
|
<dt id="fmod_guid_data4">Data4</dt>
|
|
<dd>Array of 8 bytes. The first 2 bytes contain the third group of 4 hexadecimal digits. The remaining 6 bytes contain the final 12 hexadecimal digits. </dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-system.html#system_getdriverinfo">System::getDriverInfo</a></p>
|
|
<h2 api="define" id="fmod_max_channel_width"><a href="#fmod_max_channel_width">FMOD_MAX_CHANNEL_WIDTH</a></h2>
|
|
<p>Maximum number of channels per sample of audio supported by audio files, buffers, connections and <a href="glossary.html#dsp">DSPs</a>.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="cp">#define FMOD_MAX_CHANNEL_WIDTH 32</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">class</span> <span class="nc">CONSTANTS</span>
|
|
<span class="p">{</span>
|
|
<span class="k">const</span> <span class="kt">int</span> <span class="n">MAX_CHANNEL_WIDTH</span> <span class="p">=</span> <span class="m">32</span><span class="p">;</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">MAX_CHANNEL_WIDTH</span> <span class="o">=</span> <span class="mi">32</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt id="fmod_max_channel_width">FMOD_MAX_CHANNEL_WIDTH</dt>
|
|
<dd>Maximum number of channels.</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-system.html#system_setsoftwareformat">System::setSoftwareFormat</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixmatrix">ChannelControl::setMixMatrix</a>, <a class="apilink" href="core-api-dsp.html#dsp_setchannelformat">DSP::setChannelFormat</a></p>
|
|
<h2 api="define" id="fmod_max_listeners"><a href="#fmod_max_listeners">FMOD_MAX_LISTENERS</a></h2>
|
|
<p>Maximum number of listeners supported.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="cp">#define FMOD_MAX_LISTENERS 8</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">class</span> <span class="nc">CONSTANTS</span>
|
|
<span class="p">{</span>
|
|
<span class="k">const</span> <span class="kt">int</span> <span class="n">MAX_LISTENERS</span> <span class="p">=</span> <span class="m">8</span><span class="p">;</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">MAX_LISTENERS</span> <span class="o">=</span> <span class="mi">8</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt id="fmod_max_listeners">FMOD_MAX_LISTENERS</dt>
|
|
<dd>Maximum listeners.</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-system.html#system_set3dnumlisteners">System::set3DNumListeners</a>, <a class="apilink" href="core-api-system.html#system_set3dlistenerattributes">System::set3DListenerAttributes</a></p>
|
|
<h2 api="define" id="fmod_max_systems"><a href="#fmod_max_systems">FMOD_MAX_SYSTEMS</a></h2>
|
|
<p>Maximum number of System objects allowed.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="cp">#define FMOD_MAX_SYSTEMS 8</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">class</span> <span class="nc">CONSTANTS</span>
|
|
<span class="p">{</span>
|
|
<span class="k">const</span> <span class="kt">int</span> <span class="n">MAX_SYSTEMS</span> <span class="p">=</span> <span class="m">8</span><span class="p">;</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="admonition language-javascript">
|
|
<p>Not supported for JavaScript.</p>
|
|
</div>
|
|
<dl>
|
|
<dt id="fmod_max_systems">FMOD_MAX_SYSTEMS</dt>
|
|
<dd>Maximum System objects.</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-system.html#system_create">System_Create</a></p>
|
|
<h2 api="callback" id="fmod_memory_alloc_callback"><a href="#fmod_memory_alloc_callback">FMOD_MEMORY_ALLOC_CALLBACK</a></h2>
|
|
<p>Callback to allocate a block of memory.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="kt">void</span> <span class="o">*</span> <span class="n">F_CALL</span> <span class="nf">FMOD_MEMORY_ALLOC_CALLBACK</span><span class="p">(</span>
|
|
<span class="kt">unsigned</span> <span class="kt">int</span> <span class="n">size</span><span class="p">,</span>
|
|
<span class="n">FMOD_MEMORY_TYPE</span> <span class="n">type</span><span class="p">,</span>
|
|
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">sourcestr</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">delegate</span> <span class="n">IntPtr</span> <span class="nf">MEMORY_ALLOC_CALLBACK</span><span class="p">(</span>
|
|
<span class="kt">uint</span> <span class="n">size</span><span class="p">,</span>
|
|
<span class="n">MEMORY_TYPE</span> <span class="n">type</span><span class="p">,</span>
|
|
<span class="n">IntPtr</span> <span class="n">sourcestr</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="admonition language-javascript">
|
|
<p>Not supported for JavaScript.</p>
|
|
</div>
|
|
<dl>
|
|
<dt>size</dt>
|
|
<dd>
|
|
<p>Size of the memory block to be allocated and returned.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Bytes</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>type</dt>
|
|
<dd>Type of memory allocation. (<a class="apilink" href="core-api-common.html#fmod_memory_type">FMOD_MEMORY_TYPE</a>)</dd>
|
|
<dt>sourcestr <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>String with the FMOD source code filename and line number in it. Only valid in logging versions of FMOD. (<a href="glossary.html#string-format">UTF-8 string</a>)</dd>
|
|
</dl>
|
|
<p>Returning an aligned pointer, of 16 byte alignment is recommended for performance reasons.</p>
|
|
<div class="admonition language-csharp">
|
|
<p>The 'sourcestr' argument can be used via <code>StringWrapper</code> by using <code>FMOD.StringWrapper sourceStr = new FMOD.StringWrapper(sourcestr);</code></p>
|
|
</div>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-common.html#memory_initialize">Memory_Initialize</a>, <a class="apilink" href="core-api-common.html#memory_getstats">Memory_GetStats</a>, <a class="apilink" href="core-api-common.html#fmod_memory_realloc_callback">FMOD_MEMORY_REALLOC_CALLBACK</a>, <a class="apilink" href="core-api-common.html#fmod_memory_free_callback">FMOD_MEMORY_FREE_CALLBACK</a></p>
|
|
<h2 api="callback" id="fmod_memory_free_callback"><a href="#fmod_memory_free_callback">FMOD_MEMORY_FREE_CALLBACK</a></h2>
|
|
<p>Callback to free a block of memory.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="kt">void</span> <span class="n">F_CALL</span> <span class="nf">FMOD_MEMORY_FREE_CALLBACK</span><span class="p">(</span>
|
|
<span class="kt">void</span> <span class="o">*</span><span class="n">ptr</span><span class="p">,</span>
|
|
<span class="n">FMOD_MEMORY_TYPE</span> <span class="n">type</span><span class="p">,</span>
|
|
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">sourcestr</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">delegate</span> <span class="k">void</span> <span class="nf">MEMORY_FREE_CALLBACK</span><span class="p">(</span>
|
|
<span class="n">IntPtr</span> <span class="n">ptr</span><span class="p">,</span>
|
|
<span class="n">MEMORY_TYPE</span> <span class="n">type</span><span class="p">,</span>
|
|
<span class="n">IntPtr</span> <span class="n">sourcestr</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="admonition language-javascript">
|
|
<p>Not supported for JavaScript.</p>
|
|
</div>
|
|
<dl>
|
|
<dt>ptr</dt>
|
|
<dd>Pre-existing block of memory to be freed.</dd>
|
|
<dt>type</dt>
|
|
<dd>Type of memory to be freed. (<a class="apilink" href="core-api-common.html#fmod_memory_type">FMOD_MEMORY_TYPE</a>)</dd>
|
|
<dt>sourcestr</dt>
|
|
<dd>String with the FMOD source code filename and line number in it. Only valid in logging versions of FMOD. (<a href="glossary.html#string-format">UTF-8 string</a>)</dd>
|
|
</dl>
|
|
<div class="admonition language-csharp">
|
|
<p>The 'sourcestr' argument can be used via <code>StringWrapper</code> by using <code>FMOD.StringWrapper sourceStr = new FMOD.StringWrapper(sourcestr);</code></p>
|
|
</div>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-common.html#memory_initialize">Memory_Initialize</a>, <a class="apilink" href="core-api-common.html#fmod_memory_alloc_callback">FMOD_MEMORY_ALLOC_CALLBACK</a>, <a class="apilink" href="core-api-common.html#fmod_memory_realloc_callback">FMOD_MEMORY_REALLOC_CALLBACK</a></p>
|
|
<h2 api="function" id="memory_getstats"><a href="#memory_getstats">Memory_GetStats</a></h2>
|
|
<p>Returns information on the memory usage of FMOD.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="nf">Memory_GetStats</span><span class="p">(</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">currentalloced</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">maxalloced</span><span class="p">,</span>
|
|
<span class="kt">bool</span> <span class="n">blocking</span> <span class="o">=</span> <span class="nb">true</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-c"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="nf">FMOD_Memory_GetStats</span><span class="p">(</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">currentalloced</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">maxalloced</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="n">blocking</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">static</span> <span class="n">RESULT</span> <span class="n">Memory</span><span class="p">.</span><span class="n">GetStats</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">int</span> <span class="n">currentalloced</span><span class="p">,</span>
|
|
<span class="k">out</span> <span class="kt">int</span> <span class="n">maxalloced</span><span class="p">,</span>
|
|
<span class="kt">bool</span> <span class="n">blocking</span> <span class="p">=</span> <span class="k">true</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Memory_GetStats</span><span class="p">(</span>
|
|
<span class="nx">currentalloced</span><span class="p">,</span>
|
|
<span class="nx">maxalloced</span><span class="p">,</span>
|
|
<span class="nx">blocking</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>currentalloced <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>Currently allocated memory at time of call.</dd>
|
|
<dt>maxalloced <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>Maximum allocated memory since <a class="apilink" href="core-api-system.html#system_init">System::init</a> or <a class="apilink" href="core-api-common.html#memory_initialize">Memory_Initialize</a>.</dd>
|
|
<dt>blocking</dt>
|
|
<dd>
|
|
<p>Flag to indicate whether to favour speed or accuracy. Specifying true for this parameter will flush the <a href="glossary.html#dsp-graph">DSP graph</a> to make sure all queued allocations happen immediately, which can be costly.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Boolean</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>This information is byte accurate and counts all allocs and frees internally. This is useful for determining a fixed memory size to make FMOD work within for fixed memory machines such as consoles.</p>
|
|
<p>Note that if using <a class="apilink" href="core-api-common.html#memory_initialize">Memory_Initialize</a>, the memory usage will be slightly higher than without it, as FMOD has to have a small amount of memory overhead to manage the available memory.</p>
|
|
<h2 api="function" id="memory_initialize"><a href="#memory_initialize">Memory_Initialize</a></h2>
|
|
<p>Specifies a method for FMOD to allocate and free memory, either through user supplied callbacks or through a user supplied memory buffer with a fixed size.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="nf">Memory_Initialize</span><span class="p">(</span>
|
|
<span class="kt">void</span> <span class="o">*</span><span class="n">poolmem</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">poollen</span><span class="p">,</span>
|
|
<span class="n">FMOD_MEMORY_ALLOC_CALLBACK</span> <span class="n">useralloc</span><span class="p">,</span>
|
|
<span class="n">FMOD_MEMORY_REALLOC_CALLBACK</span> <span class="n">userrealloc</span><span class="p">,</span>
|
|
<span class="n">FMOD_MEMORY_FREE_CALLBACK</span> <span class="n">userfree</span><span class="p">,</span>
|
|
<span class="n">FMOD_MEMORY_TYPE</span> <span class="n">memtypeflags</span> <span class="o">=</span> <span class="n">FMOD_MEMORY_ALL</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-c"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="nf">FMOD_Memory_Initialize</span><span class="p">(</span>
|
|
<span class="kt">void</span> <span class="o">*</span><span class="n">poolmem</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">poollen</span><span class="p">,</span>
|
|
<span class="n">FMOD_MEMORY_ALLOC_CALLBACK</span> <span class="n">useralloc</span><span class="p">,</span>
|
|
<span class="n">FMOD_MEMORY_REALLOC_CALLBACK</span> <span class="n">userrealloc</span><span class="p">,</span>
|
|
<span class="n">FMOD_MEMORY_FREE_CALLBACK</span> <span class="n">userfree</span><span class="p">,</span>
|
|
<span class="n">FMOD_MEMORY_TYPE</span> <span class="n">memtypeflags</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">static</span> <span class="n">RESULT</span> <span class="n">Memory</span><span class="p">.</span><span class="n">Initialize</span><span class="p">(</span>
|
|
<span class="n">IntPtr</span> <span class="n">poolmem</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">poollen</span><span class="p">,</span>
|
|
<span class="n">MEMORY_ALLOC_CALLBACK</span> <span class="n">useralloc</span><span class="p">,</span>
|
|
<span class="n">MEMORY_REALLOC_CALLBACK</span> <span class="n">userrealloc</span><span class="p">,</span>
|
|
<span class="n">MEMORY_FREE_CALLBACK</span> <span class="n">userfree</span><span class="p">,</span>
|
|
<span class="n">MEMORY_TYPE</span> <span class="n">memtypeflags</span> <span class="p">=</span> <span class="n">MEMORY_TYPE</span><span class="p">.</span><span class="n">ALL</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="admonition language-javascript">
|
|
<p>Not supported for JavaScript.</p>
|
|
</div>
|
|
<dl>
|
|
<dt>poolmem <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>Block of memory of size <code>poollen</code> bytes for FMOD to manage, mutually exclusive with <code>useralloc</code> / <code>userrealloc</code> / <code>userfree</code>.</dd>
|
|
<dt>poollen <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>
|
|
<p>Size of <code>poolmem</code>, must be a multiple of 512.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Bytes</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>useralloc <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>Memory allocation callback compatible with ANSI malloc, mutually exclusive with <code>poolmem</code>. (<a class="apilink" href="core-api-common.html#fmod_memory_alloc_callback">FMOD_MEMORY_ALLOC_CALLBACK</a>)</dd>
|
|
<dt>userrealloc <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>Memory reallocation callback compatible with ANSI realloc, mutually exclusive with <code>poolmem</code>. (<a class="apilink" href="core-api-common.html#fmod_memory_realloc_callback">FMOD_MEMORY_REALLOC_CALLBACK</a>)</dd>
|
|
<dt>userfree <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>Memory free callback compatible with ANSI free, mutually exclusive with <code>poolmem</code>. (<a class="apilink" href="core-api-common.html#fmod_memory_free_callback">FMOD_MEMORY_FREE_CALLBACK</a>)</dd>
|
|
<dt>memtypeflags <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>Types of memory callbacks you wish to handle. OR these together to handle multiple types. (<a class="apilink" href="core-api-common.html#fmod_memory_type">FMOD_MEMORY_TYPE</a>)</dd>
|
|
</dl>
|
|
<p>This function must be called before any FMOD <a class="apilink" href="core-api-system.html">System</a> object is created.</p>
|
|
<p>Valid usage of this function requires either <code>poolmem</code> and <code>poollen</code> or <code>useralloc</code>, <code>userrealloc</code> and <code>userfree</code> being set.<br />
|
|
If 'useralloc' and 'userfree' are provided without 'userrealloc' the reallocation is implemented via an allocation of the new size, copy from old address to new, then a free of the old address.</p>
|
|
<p>To find out the required fixed size call <a class="apilink" href="core-api-common.html#memory_initialize">Memory_Initialize</a> with an overly large pool size (or no pool) and find out the maximum RAM usage at any one time with <a class="apilink" href="core-api-common.html#memory_getstats">Memory_GetStats</a>.</p>
|
|
<p>Callback implementations must be thread safe.</p>
|
|
<p>If you specify a fixed size pool that is too small, FMOD will return <a class="apilink" href="core-api-common.html#fmod_err_memory">FMOD_ERR_MEMORY</a> when the limit of the fixed size pool is exceeded. At this point, it's possible that FMOD may become unstable. To maintain stability, do not allow FMOD to run out of memory.</p>
|
|
<p><strong>See Also:</strong> <a href="glossary.html#callback-behavior">Callback Behavior</a></p>
|
|
<h2 api="callback" id="fmod_memory_realloc_callback"><a href="#fmod_memory_realloc_callback">FMOD_MEMORY_REALLOC_CALLBACK</a></h2>
|
|
<p>Callback to re-allocate a block of memory to a different size.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="kt">void</span> <span class="o">*</span> <span class="n">F_CALL</span> <span class="nf">FMOD_MEMORY_REALLOC_CALLBACK</span><span class="p">(</span>
|
|
<span class="kt">void</span> <span class="o">*</span><span class="n">ptr</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">int</span> <span class="n">size</span><span class="p">,</span>
|
|
<span class="n">FMOD_MEMORY_TYPE</span> <span class="n">type</span><span class="p">,</span>
|
|
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">sourcestr</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">delegate</span> <span class="n">IntPtr</span> <span class="nf">MEMORY_REALLOC_CALLBACK</span><span class="p">(</span>
|
|
<span class="n">IntPtr</span> <span class="n">ptr</span><span class="p">,</span>
|
|
<span class="kt">uint</span> <span class="n">size</span><span class="p">,</span>
|
|
<span class="n">MEMORY_TYPE</span> <span class="n">type</span><span class="p">,</span>
|
|
<span class="n">IntPtr</span> <span class="n">sourcestr</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="admonition language-javascript">
|
|
<p>Not supported for JavaScript.</p>
|
|
</div>
|
|
<dl>
|
|
<dt>ptr</dt>
|
|
<dd>Block of memory to be resized. If this is null, then a new block of memory is allocated and no memory is freed.</dd>
|
|
<dt>size</dt>
|
|
<dd>
|
|
<p>Size of the memory to be reallocated.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Bytes</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>type</dt>
|
|
<dd>Memory allocation type. (<a class="apilink" href="core-api-common.html#fmod_memory_type">FMOD_MEMORY_TYPE</a>)</dd>
|
|
<dt>sourcestr</dt>
|
|
<dd>String with the FMOD source code filename and line number in it. Only valid in logging versions of FMOD. (<a href="glossary.html#string-format">UTF-8 string</a>)</dd>
|
|
</dl>
|
|
<p>When allocating new memory, the contents of the old memory block must be preserved.</p>
|
|
<p>Returning an aligned pointer, of 16 byte alignment is recommended for performance reasons.</p>
|
|
<div class="admonition language-csharp">
|
|
<p>The 'sourcestr' argument can be used via <code>StringWrapper</code> by using <code>FMOD.StringWrapper sourceStr = new FMOD.StringWrapper(sourcestr);</code></p>
|
|
</div>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-common.html#memory_initialize">Memory_Initialize</a>, <a class="apilink" href="core-api-common.html#memory_getstats">Memory_GetStats</a>, <a class="apilink" href="core-api-common.html#fmod_memory_alloc_callback">FMOD_MEMORY_ALLOC_CALLBACK</a>, <a class="apilink" href="core-api-common.html#fmod_memory_free_callback">FMOD_MEMORY_FREE_CALLBACK</a></p>
|
|
<h2 api="define" id="fmod_memory_type"><a href="#fmod_memory_type">FMOD_MEMORY_TYPE</a></h2>
|
|
<p>Bitfields for memory allocation type being passed into FMOD memory callbacks.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="cp">#define FMOD_MEMORY_NORMAL 0x00000000</span>
|
|
<span class="cp">#define FMOD_MEMORY_STREAM_FILE 0x00000001</span>
|
|
<span class="cp">#define FMOD_MEMORY_STREAM_DECODE 0x00000002</span>
|
|
<span class="cp">#define FMOD_MEMORY_SAMPLEDATA 0x00000004</span>
|
|
<span class="cp">#define FMOD_MEMORY_DSP_BUFFER 0x00000008</span>
|
|
<span class="cp">#define FMOD_MEMORY_PLUGIN 0x00000010</span>
|
|
<span class="cp">#define FMOD_MEMORY_PERSISTENT 0x00200000</span>
|
|
<span class="cp">#define FMOD_MEMORY_ALL 0xFFFFFFFF</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="na">[Flags]</span>
|
|
<span class="k">enum</span> <span class="n">MEMORY_TYPE</span> <span class="p">:</span> <span class="kt">uint</span>
|
|
<span class="p">{</span>
|
|
<span class="n">NORMAL</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000000</span><span class="p">,</span>
|
|
<span class="n">STREAM_FILE</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000001</span><span class="p">,</span>
|
|
<span class="n">STREAM_DECODE</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000002</span><span class="p">,</span>
|
|
<span class="n">SAMPLEDATA</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000004</span><span class="p">,</span>
|
|
<span class="n">DSP_BUFFER</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000008</span><span class="p">,</span>
|
|
<span class="n">PLUGIN</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000010</span><span class="p">,</span>
|
|
<span class="n">PERSISTENT</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00200000</span><span class="p">,</span>
|
|
<span class="n">ALL</span> <span class="p">=</span> <span class="m">0</span><span class="n">xFFFFFFFF</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="admonition language-javascript">
|
|
<p>Not supported for JavaScript.</p>
|
|
</div>
|
|
<dl>
|
|
<dt id="fmod_memory_normal">FMOD_MEMORY_NORMAL</dt>
|
|
<dd>Standard memory.</dd>
|
|
<dt id="fmod_memory_stream_file">FMOD_MEMORY_STREAM_FILE</dt>
|
|
<dd>Stream file buffer, size controllable with <a class="apilink" href="core-api-system.html#system_setstreambuffersize">System::setStreamBufferSize</a>.</dd>
|
|
<dt id="fmod_memory_stream_decode">FMOD_MEMORY_STREAM_DECODE</dt>
|
|
<dd>Stream decode buffer, size controllable with <a class="apilink" href="core-api-system.html#fmod_createsoundexinfo_decodebuffersize">FMOD_CREATESOUNDEXINFO::decodebuffersize</a>. </dd>
|
|
<dt id="fmod_memory_sampledata">FMOD_MEMORY_SAMPLEDATA</dt>
|
|
<dd>Sample data buffer. Raw audio data, usually PCM/MPEG/ADPCM/XMA data.</dd>
|
|
<dt id="fmod_memory_dsp_buffer">FMOD_MEMORY_DSP_BUFFER</dt>
|
|
<dd>Deprecated.</dd>
|
|
<dt id="fmod_memory_plugin">FMOD_MEMORY_PLUGIN</dt>
|
|
<dd>Memory allocated by a third party plugin.</dd>
|
|
<dt id="fmod_memory_persistent">FMOD_MEMORY_PERSISTENT</dt>
|
|
<dd>Persistent memory. Memory will be freed when <a class="apilink" href="core-api-system.html#system_release">System::release</a> is called. </dd>
|
|
<dt id="fmod_memory_all">FMOD_MEMORY_ALL</dt>
|
|
<dd>Mask specifying all memory types.</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-common.html#fmod_memory_alloc_callback">FMOD_MEMORY_ALLOC_CALLBACK</a>, <a class="apilink" href="core-api-common.html#fmod_memory_realloc_callback">FMOD_MEMORY_REALLOC_CALLBACK</a>, <a class="apilink" href="core-api-common.html#fmod_memory_free_callback">FMOD_MEMORY_FREE_CALLBACK</a>, <a class="apilink" href="core-api-common.html#memory_initialize">Memory_Initialize</a></p>
|
|
<h2 api="define" id="fmod_mode"><a href="#fmod_mode">FMOD_MODE</a></h2>
|
|
<p>Sound description bitfields, bitwise OR them together for loading and describing Sounds.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="cp">#define FMOD_DEFAULT 0x00000000</span>
|
|
<span class="cp">#define FMOD_LOOP_OFF 0x00000001</span>
|
|
<span class="cp">#define FMOD_LOOP_NORMAL 0x00000002</span>
|
|
<span class="cp">#define FMOD_LOOP_BIDI 0x00000004</span>
|
|
<span class="cp">#define FMOD_2D 0x00000008</span>
|
|
<span class="cp">#define FMOD_3D 0x00000010</span>
|
|
<span class="cp">#define FMOD_CREATESTREAM 0x00000080</span>
|
|
<span class="cp">#define FMOD_CREATESAMPLE 0x00000100</span>
|
|
<span class="cp">#define FMOD_CREATECOMPRESSEDSAMPLE 0x00000200</span>
|
|
<span class="cp">#define FMOD_OPENUSER 0x00000400</span>
|
|
<span class="cp">#define FMOD_OPENMEMORY 0x00000800</span>
|
|
<span class="cp">#define FMOD_OPENMEMORY_POINT 0x10000000</span>
|
|
<span class="cp">#define FMOD_OPENRAW 0x00001000</span>
|
|
<span class="cp">#define FMOD_OPENONLY 0x00002000</span>
|
|
<span class="cp">#define FMOD_ACCURATETIME 0x00004000</span>
|
|
<span class="cp">#define FMOD_MPEGSEARCH 0x00008000</span>
|
|
<span class="cp">#define FMOD_NONBLOCKING 0x00010000</span>
|
|
<span class="cp">#define FMOD_UNIQUE 0x00020000</span>
|
|
<span class="cp">#define FMOD_3D_HEADRELATIVE 0x00040000</span>
|
|
<span class="cp">#define FMOD_3D_WORLDRELATIVE 0x00080000</span>
|
|
<span class="cp">#define FMOD_3D_INVERSEROLLOFF 0x00100000</span>
|
|
<span class="cp">#define FMOD_3D_LINEARROLLOFF 0x00200000</span>
|
|
<span class="cp">#define FMOD_3D_LINEARSQUAREROLLOFF 0x00400000</span>
|
|
<span class="cp">#define FMOD_3D_INVERSETAPEREDROLLOFF 0x00800000</span>
|
|
<span class="cp">#define FMOD_3D_CUSTOMROLLOFF 0x04000000</span>
|
|
<span class="cp">#define FMOD_3D_IGNOREGEOMETRY 0x40000000</span>
|
|
<span class="cp">#define FMOD_IGNORETAGS 0x02000000</span>
|
|
<span class="cp">#define FMOD_LOWMEM 0x08000000</span>
|
|
<span class="cp">#define FMOD_VIRTUAL_PLAYFROMSTART 0x80000000</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="na">[Flags]</span>
|
|
<span class="k">enum</span> <span class="n">MODE</span> <span class="p">:</span> <span class="kt">uint</span>
|
|
<span class="p">{</span>
|
|
<span class="n">DEFAULT</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000000</span><span class="p">,</span>
|
|
<span class="n">LOOP_OFF</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000001</span><span class="p">,</span>
|
|
<span class="n">LOOP_NORMAL</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000002</span><span class="p">,</span>
|
|
<span class="n">LOOP_BIDI</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000004</span><span class="p">,</span>
|
|
<span class="n">_2D</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000008</span><span class="p">,</span>
|
|
<span class="n">_3D</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000010</span><span class="p">,</span>
|
|
<span class="n">CREATESTREAM</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000080</span><span class="p">,</span>
|
|
<span class="n">CREATESAMPLE</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000100</span><span class="p">,</span>
|
|
<span class="n">CREATECOMPRESSEDSAMPLE</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000200</span><span class="p">,</span>
|
|
<span class="n">OPENUSER</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000400</span><span class="p">,</span>
|
|
<span class="n">OPENMEMORY</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000800</span><span class="p">,</span>
|
|
<span class="n">OPENMEMORY_POINT</span> <span class="p">=</span> <span class="m">0</span><span class="n">x10000000</span><span class="p">,</span>
|
|
<span class="n">OPENRAW</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00001000</span><span class="p">,</span>
|
|
<span class="n">OPENONLY</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00002000</span><span class="p">,</span>
|
|
<span class="n">ACCURATETIME</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00004000</span><span class="p">,</span>
|
|
<span class="n">MPEGSEARCH</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00008000</span><span class="p">,</span>
|
|
<span class="n">NONBLOCKING</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00010000</span><span class="p">,</span>
|
|
<span class="n">UNIQUE</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00020000</span><span class="p">,</span>
|
|
<span class="n">_3D_HEADRELATIVE</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00040000</span><span class="p">,</span>
|
|
<span class="n">_3D_WORLDRELATIVE</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00080000</span><span class="p">,</span>
|
|
<span class="n">_3D_INVERSEROLLOFF</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00100000</span><span class="p">,</span>
|
|
<span class="n">_3D_LINEARROLLOFF</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00200000</span><span class="p">,</span>
|
|
<span class="n">_3D_LINEARSQUAREROLLOFF</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00400000</span><span class="p">,</span>
|
|
<span class="n">_3D_INVERSETAPEREDROLLOFF</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00800000</span><span class="p">,</span>
|
|
<span class="n">_3D_CUSTOMROLLOFF</span> <span class="p">=</span> <span class="m">0</span><span class="n">x04000000</span><span class="p">,</span>
|
|
<span class="n">_3D_IGNOREGEOMETRY</span> <span class="p">=</span> <span class="m">0</span><span class="n">x40000000</span><span class="p">,</span>
|
|
<span class="n">IGNORETAGS</span> <span class="p">=</span> <span class="m">0</span><span class="n">x02000000</span><span class="p">,</span>
|
|
<span class="n">LOWMEM</span> <span class="p">=</span> <span class="m">0</span><span class="n">x08000000</span><span class="p">,</span>
|
|
<span class="n">VIRTUAL_PLAYFROMSTART</span> <span class="p">=</span> <span class="m">0</span><span class="n">x80000000</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">DEFAULT</span> <span class="o">=</span> <span class="mh">0x00000000</span>
|
|
<span class="nx">LOOP_OFF</span> <span class="o">=</span> <span class="mh">0x00000001</span>
|
|
<span class="nx">LOOP_NORMAL</span> <span class="o">=</span> <span class="mh">0x00000002</span>
|
|
<span class="nx">LOOP_BIDI</span> <span class="o">=</span> <span class="mh">0x00000004</span>
|
|
<span class="nx">_2D</span> <span class="o">=</span> <span class="mh">0x00000008</span>
|
|
<span class="nx">_3D</span> <span class="o">=</span> <span class="mh">0x00000010</span>
|
|
<span class="nx">CREATESTREAM</span> <span class="o">=</span> <span class="mh">0x00000080</span>
|
|
<span class="nx">CREATESAMPLE</span> <span class="o">=</span> <span class="mh">0x00000100</span>
|
|
<span class="nx">CREATECOMPRESSEDSAMPLE</span> <span class="o">=</span> <span class="mh">0x00000200</span>
|
|
<span class="nx">OPENUSER</span> <span class="o">=</span> <span class="mh">0x00000400</span>
|
|
<span class="nx">OPENMEMORY</span> <span class="o">=</span> <span class="mh">0x00000800</span>
|
|
<span class="nx">OPENMEMORY_POINT</span> <span class="o">=</span> <span class="mh">0x10000000</span>
|
|
<span class="nx">OPENRAW</span> <span class="o">=</span> <span class="mh">0x00001000</span>
|
|
<span class="nx">OPENONLY</span> <span class="o">=</span> <span class="mh">0x00002000</span>
|
|
<span class="nx">ACCURATETIME</span> <span class="o">=</span> <span class="mh">0x00004000</span>
|
|
<span class="nx">MPEGSEARCH</span> <span class="o">=</span> <span class="mh">0x00008000</span>
|
|
<span class="nx">NONBLOCKING</span> <span class="o">=</span> <span class="mh">0x00010000</span>
|
|
<span class="nx">UNIQUE</span> <span class="o">=</span> <span class="mh">0x00020000</span>
|
|
<span class="nx">_3D_HEADRELATIVE</span> <span class="o">=</span> <span class="mh">0x00040000</span>
|
|
<span class="nx">_3D_WORLDRELATIVE</span> <span class="o">=</span> <span class="mh">0x00080000</span>
|
|
<span class="nx">_3D_INVERSEROLLOFF</span> <span class="o">=</span> <span class="mh">0x00100000</span>
|
|
<span class="nx">_3D_LINEARROLLOFF</span> <span class="o">=</span> <span class="mh">0x00200000</span>
|
|
<span class="nx">_3D_LINEARSQUAREROLLOFF</span> <span class="o">=</span> <span class="mh">0x00400000</span>
|
|
<span class="nx">_3D_INVERSETAPEREDROLLOFF</span> <span class="o">=</span> <span class="mh">0x00800000</span>
|
|
<span class="nx">_3D_CUSTOMROLLOFF</span> <span class="o">=</span> <span class="mh">0x04000000</span>
|
|
<span class="nx">_3D_IGNOREGEOMETRY</span> <span class="o">=</span> <span class="mh">0x40000000</span>
|
|
<span class="nx">IGNORETAGS</span> <span class="o">=</span> <span class="mh">0x02000000</span>
|
|
<span class="nx">LOWMEM</span> <span class="o">=</span> <span class="mh">0x08000000</span>
|
|
<span class="nx">VIRTUAL_PLAYFROMSTART</span> <span class="o">=</span> <span class="mh">0x80000000</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt id="fmod_default">FMOD_DEFAULT</dt>
|
|
<dd>Default for all modes listed below. <a class="apilink" href="core-api-common.html#fmod_loop_off">FMOD_LOOP_OFF</a>, <a class="apilink" href="core-api-common.html#fmod_2d">FMOD_2D</a>, <a class="apilink" href="core-api-common.html#fmod_3d_worldrelative">FMOD_3D_WORLDRELATIVE</a>, <a class="apilink" href="core-api-common.html#fmod_3d_inverserolloff">FMOD_3D_INVERSEROLLOFF</a></dd>
|
|
<dt id="fmod_loop_off">FMOD_LOOP_OFF</dt>
|
|
<dd>For non looping <a class="apilink" href="core-api-sound.html">Sound</a>s. (DEFAULT). Overrides <a class="apilink" href="core-api-common.html#fmod_loop_normal">FMOD_LOOP_NORMAL</a> / <a class="apilink" href="core-api-common.html#fmod_loop_bidi">FMOD_LOOP_BIDI</a>.</dd>
|
|
<dt id="fmod_loop_normal">FMOD_LOOP_NORMAL</dt>
|
|
<dd>For forward looping <a class="apilink" href="core-api-sound.html">Sound</a>s.</dd>
|
|
<dt id="fmod_loop_bidi">FMOD_LOOP_BIDI</dt>
|
|
<dd>For bidirectional looping <a class="apilink" href="core-api-sound.html">Sound</a>s. (only works on non-streaming, real voices).</dd>
|
|
<dt id="fmod_2d">FMOD_2D</dt>
|
|
<dd>Ignores any 3d processing. (DEFAULT).</dd>
|
|
<dt id="fmod_3d">FMOD_3D</dt>
|
|
<dd>Makes the <a class="apilink" href="core-api-sound.html">Sound</a> positionable in 3D. Overrides <a class="apilink" href="core-api-common.html#fmod_2d">FMOD_2D</a>.</dd>
|
|
<dt id="fmod_createstream">FMOD_CREATESTREAM</dt>
|
|
<dd>Decompress at runtime, streaming from the source provided (ie from disk). Overrides <a class="apilink" href="core-api-common.html#fmod_createsample">FMOD_CREATESAMPLE</a> and <a class="apilink" href="core-api-common.html#fmod_createcompressedsample">FMOD_CREATECOMPRESSEDSAMPLE</a>. Note a stream can only be played once at a time due to a stream only having 1 stream buffer and file handle. Open multiple streams to have them play concurrently.</dd>
|
|
<dt id="fmod_createsample">FMOD_CREATESAMPLE</dt>
|
|
<dd>Decompress at loadtime, decompressing or decoding whole file into memory as the target sample format (ie PCM). Fastest for playback and most flexible.</dd>
|
|
<dt id="fmod_createcompressedsample">FMOD_CREATECOMPRESSEDSAMPLE</dt>
|
|
<dd>Load MP2/MP3/FADPCM/IMAADPCM/Vorbis/AT9 or XMA into memory and leave it compressed. Vorbis/AT9/FADPCM encoding only supported in the .FSB container format. During playback the FMOD software mixer will decode it in realtime as a 'compressed sample'. Overrides <a class="apilink" href="core-api-common.html#fmod_createsample">FMOD_CREATESAMPLE</a>. If the sound data is not one of the supported formats, it will behave as if it was created with <a class="apilink" href="core-api-common.html#fmod_createsample">FMOD_CREATESAMPLE</a> and decode the sound into PCM.</dd>
|
|
<dt id="fmod_openuser">FMOD_OPENUSER</dt>
|
|
<dd>Opens a user-created static sample or stream. When used, the first argument of <a class="apilink" href="core-api-system.html#system_createsound">System::createSound</a> and <a class="apilink" href="core-api-system.html#system_createstream">System::createStream</a>, <code>name_or_data</code>, is ignored, so recommended practice is to pass null or equivalent. The following data must be provided using <a class="apilink" href="core-api-system.html#fmod_createsoundexinfo">FMOD_CREATESOUNDEXINFO</a>: <code>cbsize</code>, <code>length</code>, <code>numchannels</code>, <code>defaultfrequency</code>, <code>format</code>, and optionally <code>readcallback</code>. If a user-created 'sample' is created with no read callback, the sample will be empty. If this is the case, use <a class="apilink" href="core-api-sound.html#sound_lock">Sound::lock</a> and <a class="apilink" href="core-api-sound.html#sound_unlock">Sound::unlock</a> to place sound data into the <a class="apilink" href="core-api-sound.html">Sound</a>. </dd>
|
|
<dt id="fmod_openmemory">FMOD_OPENMEMORY</dt>
|
|
<dd>When used, the first argument of <a class="apilink" href="core-api-system.html#system_createsound">System::createSound</a> and <a class="apilink" href="core-api-system.html#system_createstream">System::createStream</a>, <code>name_or_data</code>, is interpreted as a pointer to memory instead of filename for creating sounds. The following data must be provided using <a class="apilink" href="core-api-system.html#fmod_createsoundexinfo">FMOD_CREATESOUNDEXINFO</a>: <code>cbsize</code>, and <code>length</code>. If used with <a class="apilink" href="core-api-common.html#fmod_createsample">FMOD_CREATESAMPLE</a> or <a class="apilink" href="core-api-common.html#fmod_createcompressedsample">FMOD_CREATECOMPRESSEDSAMPLE</a>, FMOD duplicates the memory into its own buffers. Your own buffer can be freed after open, unless you are using <a class="apilink" href="core-api-common.html#fmod_nonblocking">FMOD_NONBLOCKING</a> then wait until the <a class="apilink" href="core-api-sound.html">Sound</a> is in the <a class="apilink" href="core-api-sound.html#fmod_openstate_ready">FMOD_OPENSTATE_READY</a> state. If used with <a class="apilink" href="core-api-common.html#fmod_createstream">FMOD_CREATESTREAM</a>, FMOD will stream out of the buffer whose pointer you passed in. In this case, your own buffer should not be freed until you have finished with and released the stream.</dd>
|
|
<dt id="fmod_openmemory_point">FMOD_OPENMEMORY_POINT</dt>
|
|
<dd>When used, the first argument of <a class="apilink" href="core-api-system.html#system_createsound">System::createSound</a> and <a class="apilink" href="core-api-system.html#system_createstream">System::createStream</a>, <code>name_or_data</code>, is interpreted as a pointer to memory instead of filename for creating sounds. The following data must be provided using <a class="apilink" href="core-api-system.html#fmod_createsoundexinfo">FMOD_CREATESOUNDEXINFO</a>: <code>cbsize</code>, and <code>length</code>. This differs to <a class="apilink" href="core-api-common.html#fmod_openmemory">FMOD_OPENMEMORY</a> in that it uses the memory as is, without duplicating the memory into its own buffers. Cannot be freed after open, only after <a class="apilink" href="core-api-sound.html#sound_release">Sound::release</a>. Will not work if the data is compressed and <a class="apilink" href="core-api-common.html#fmod_createcompressedsample">FMOD_CREATECOMPRESSEDSAMPLE</a> is not used. Cannot be used in conjunction with <a class="apilink" href="core-api-system.html#fmod_createsoundexinfo_encryptionkey">FMOD_CREATESOUNDEXINFO::encryptionkey</a>.</dd>
|
|
<dt id="fmod_openraw">FMOD_OPENRAW</dt>
|
|
<dd>Will ignore file format and treat as raw pcm. The following data must be provided using <a class="apilink" href="core-api-system.html#fmod_createsoundexinfo">FMOD_CREATESOUNDEXINFO</a>: <code>cbsize</code>, <code>numchannels</code>, <code>defaultfrequency</code>, and <code>format</code>. Must be little endian data.</dd>
|
|
<dt id="fmod_openonly">FMOD_OPENONLY</dt>
|
|
<dd>Just open the file, don't prebuffer or read. Good for fast opens for info, or when <a class="apilink" href="core-api-sound.html#sound_readdata">Sound::readData</a> is to be used. </dd>
|
|
<dt id="fmod_accuratetime">FMOD_ACCURATETIME</dt>
|
|
<dd>For <a class="apilink" href="core-api-system.html#system_createsound">System::createSound</a> - for accurate <a class="apilink" href="core-api-sound.html#sound_getlength">Sound::getLength</a> / <a class="apilink" href="core-api-channel.html#channel_setposition">Channel::setPosition</a> on VBR MP3, and MOD/S3M/XM/IT/MIDI files. Scans file first, so takes longer to open. <a class="apilink" href="core-api-common.html#fmod_openonly">FMOD_OPENONLY</a> does not affect this.</dd>
|
|
<dt id="fmod_mpegsearch">FMOD_MPEGSEARCH</dt>
|
|
<dd>For corrupted / bad MP3 files. This will search all the way through the file until it hits a valid MPEG header. Normally only searches for 4k.</dd>
|
|
<dt id="fmod_nonblocking">FMOD_NONBLOCKING</dt>
|
|
<dd>For opening <a class="apilink" href="core-api-sound.html">Sound</a>s and getting streamed subsounds (seeking) asynchronously. Use <a class="apilink" href="core-api-sound.html#sound_getopenstate">Sound::getOpenState</a> to poll the state of the <a class="apilink" href="core-api-sound.html">Sound</a> as it opens or retrieves the subsound in the background.</dd>
|
|
<dt id="fmod_unique">FMOD_UNIQUE</dt>
|
|
<dd>Unique <a class="apilink" href="core-api-sound.html">Sound</a>, can only be played one at a time.</dd>
|
|
<dt id="fmod_3d_headrelative">FMOD_3D_HEADRELATIVE</dt>
|
|
<dd>Make the <a class="apilink" href="core-api-sound.html">Sound</a>'s position, velocity and orientation relative to the listener.</dd>
|
|
<dt id="fmod_3d_worldrelative">FMOD_3D_WORLDRELATIVE</dt>
|
|
<dd>Make the <a class="apilink" href="core-api-sound.html">Sound</a>'s position, velocity and orientation absolute (relative to the world). (DEFAULT)</dd>
|
|
<dt id="fmod_3d_inverserolloff">FMOD_3D_INVERSEROLLOFF</dt>
|
|
<dd>This sound follows an inverse roll-off model. Below <code>mindistance</code>, the volume is unattenuated; as <code>distance</code> increases above <code>mindistance</code>, the volume attenuates using <code>mindistance/distance</code> as the gradient until it reaches <code>maxdistance</code>, where it stops attenuating. For this roll-off mode, distance values greater than <code>mindistance</code> are scaled according to the <a href="core-api-system.html#system_set3dsettings">rolloffscale</a>. This roll-off mode accurately models the way sounds attenuate over distance in the real world. (DEFAULT)</dd>
|
|
<dd><img alt="Inverse Roll-off Graph" src="images/dsp-pan-3d-rolloff-inverse.svg" title="Inverse roll-off" /></dd>
|
|
<dt id="fmod_3d_linearrolloff">FMOD_3D_LINEARROLLOFF</dt>
|
|
<dd>This sound follows a linear roll-off model. Below <code>mindistance</code>, the volume is unattenuated; as <code>distance</code> increases from <code>mindistance</code> to <code>maxdistance</code>, the volume attenuates to silence using a linear gradient. For this roll-off mode, distance values greater than <code>mindistance</code> are scaled according to the <a href="core-api-system.html#system_set3dsettings">rolloffscale</a>. While this roll-off mode is not as realistic as inverse roll-off mode, it is easier to comprehend.</dd>
|
|
<dd><img alt="Linear Roll-off Graph" src="images/dsp-pan-3d-rolloff-linear.svg" title="Linear roll-off" /></dd>
|
|
<dt id="fmod_3d_linearsquarerolloff">FMOD_3D_LINEARSQUAREROLLOFF</dt>
|
|
<dd>This sound follows a linear-square roll-off model. Below <code>mindistance</code>, the volume is unattenuated; as <code>distance</code> increases from <code>mindistance</code> to <code>maxdistance</code>, the volume attenuates to silence according to a linear squared gradient. For this roll-off mode, <code>distance</code> values greater than <code>mindistance</code> are scaled according to the <a href="core-api-system.html#system_set3dsettings">rolloffscale</a>. This roll-off mode provides steeper volume ramping close to the <code>mindistance</code>, and more gradual ramping close to the <code>maxdistance</code>, than linear roll-off mode.</dd>
|
|
<dd><img alt="Linear Square Roll-off Graph" src="images/dsp-pan-3d-rolloff-linsquared.svg" title="Linear square roll-off" /></dd>
|
|
<dt id="fmod_3d_inversetaperedrolloff">FMOD_3D_INVERSETAPEREDROLLOFF</dt>
|
|
<dd>This sound follows a combination of the inverse and linear-square roll-off models. At short distances where inverse roll-off would provide greater attenuation, it functions as inverse roll-off mode; then at greater distances where linear-square roll-off mode would provide greater attenuation, it uses that roll-off mode instead. For this roll-off mode, distance values greater than <code>mindistance</code> are scaled according to the <a href="core-api-system.html#system_set3dsettings">rolloffscale</a>. Inverse tapered roll-off mode approximates realistic behavior while still guaranteeing the sound attenuates to silence at <code>maxdistance</code>.</dd>
|
|
<dd><img alt="Inverse Tapered Roll-off Graph" src="images/dsp-pan-3d-rolloff-invtaper.svg" title="Inverse tapered roll-off" /></dd>
|
|
<dt id="fmod_3d_customrolloff">FMOD_3D_CUSTOMROLLOFF</dt>
|
|
<dd>This sound follow a roll-off model defined by <a class="apilink" href="core-api-sound.html#sound_set3dcustomrolloff">Sound::set3DCustomRolloff</a> / <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dcustomrolloff">ChannelControl::set3DCustomRolloff</a>. This roll-off mode provides greater freedom and flexibility than any other, but must be defined manually.</dd>
|
|
<dt id="fmod_3d_ignoregeometry">FMOD_3D_IGNOREGEOMETRY</dt>
|
|
<dd>Is not affected by geometry occlusion. If not specified in <a class="apilink" href="core-api-sound.html#sound_setmode">Sound::setMode</a>, or <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmode">ChannelControl::setMode</a>, the flag is cleared and it is affected by geometry again.</dd>
|
|
<dt id="fmod_ignoretags">FMOD_IGNORETAGS</dt>
|
|
<dd>Skips id3v2/asf/etc tag checks when opening a <a class="apilink" href="core-api-sound.html">Sound</a>, to reduce seek/read overhead when opening files.</dd>
|
|
<dt id="fmod_lowmem">FMOD_LOWMEM</dt>
|
|
<dd>Removes some features from samples to give a lower memory overhead, like <a class="apilink" href="core-api-sound.html#sound_getname">Sound::getName</a>.</dd>
|
|
<dt id="fmod_virtual_playfromstart">FMOD_VIRTUAL_PLAYFROMSTART</dt>
|
|
<dd>For <a class="apilink" href="core-api-channel.html">Channel</a>s that start virtual (due to being quiet or low importance), instead of swapping back to audible, and playing at the correct offset according to time, this flag makes the <a class="apilink" href="core-api-channel.html">Channel</a> play from the start.</dd>
|
|
</dl>
|
|
<p>By default a <a class="apilink" href="core-api-sound.html">Sound</a> will open as a static sound that is decompressed fully into memory to PCM. (ie equivalent of <a class="apilink" href="core-api-common.html#fmod_createsample">FMOD_CREATESAMPLE</a>) To have a stream instead, use <a class="apilink" href="core-api-common.html#fmod_createstream">FMOD_CREATESTREAM</a>, or use the wrapper function <a class="apilink" href="core-api-system.html#system_createstream">System::createStream</a>.</p>
|
|
<p>Some opening modes (ie <a class="apilink" href="core-api-common.html#fmod_openuser">FMOD_OPENUSER</a>, <a class="apilink" href="core-api-common.html#fmod_openmemory">FMOD_OPENMEMORY</a>, <a class="apilink" href="core-api-common.html#fmod_openmemory_point">FMOD_OPENMEMORY_POINT</a>, <a class="apilink" href="core-api-common.html#fmod_openraw">FMOD_OPENRAW</a>) will need extra information. This can be provided using the <a class="apilink" href="core-api-system.html#fmod_createsoundexinfo">FMOD_CREATESOUNDEXINFO</a> structure.</p>
|
|
<p>Specifying <a class="apilink" href="core-api-common.html#fmod_openmemory_point">FMOD_OPENMEMORY_POINT</a> will POINT to your memory rather allocating its own sound buffers and duplicating it internally. This means you cannot free the memory while FMOD is using it, until after <a class="apilink" href="core-api-sound.html#sound_release">Sound::release</a> is called.</p>
|
|
<p>With <a class="apilink" href="core-api-common.html#fmod_openmemory_point">FMOD_OPENMEMORY_POINT</a>, for PCM formats, only WAV, FSB, and RAW are supported. For compressed formats, only those formats supported by <a class="apilink" href="core-api-common.html#fmod_createcompressedsample">FMOD_CREATECOMPRESSEDSAMPLE</a> are supported.</p>
|
|
<p>With <a class="apilink" href="core-api-common.html#fmod_openmemory_point">FMOD_OPENMEMORY_POINT</a> and <a class="apilink" href="core-api-common.html#fmod_openraw">FMOD_OPENRAW</a> or PCM, if using them together, note that you must pad the data on each side by 16 bytes. This is so fmod can modify the ends of the data for looping / interpolation / mixing purposes. If a wav file, you will need to insert silence, and then reset loop points to stop the playback from playing that silence.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-system.html#system_createsound">System::createSound</a>, <a class="apilink" href="core-api-system.html#system_createstream">System::createStream</a>, <a class="apilink" href="core-api-sound.html#sound_setmode">Sound::setMode</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmode">ChannelControl::setMode</a></p>
|
|
<h2 api="enum" id="fmod_result"><a href="#fmod_result">FMOD_RESULT</a></h2>
|
|
<p>Error codes returned from every function.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="k">typedef</span> <span class="k">enum</span> <span class="n">FMOD_RESULT</span> <span class="p">{</span>
|
|
<span class="n">FMOD_OK</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_BADCOMMAND</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_CHANNEL_ALLOC</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_CHANNEL_STOLEN</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_DMA</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_DSP_CONNECTION</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_DSP_DONTPROCESS</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_DSP_FORMAT</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_DSP_INUSE</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_DSP_NOTFOUND</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_DSP_RESERVED</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_DSP_SILENCE</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_DSP_TYPE</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_FILE_BAD</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_FILE_COULDNOTSEEK</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_FILE_DISKEJECTED</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_FILE_EOF</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_FILE_ENDOFDATA</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_FILE_NOTFOUND</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_FORMAT</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_HEADER_MISMATCH</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_HTTP</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_HTTP_ACCESS</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_HTTP_PROXY_AUTH</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_HTTP_SERVER_ERROR</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_HTTP_TIMEOUT</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_INITIALIZATION</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_INITIALIZED</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_INTERNAL</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_INVALID_FLOAT</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_INVALID_HANDLE</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_INVALID_PARAM</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_INVALID_POSITION</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_INVALID_SPEAKER</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_INVALID_SYNCPOINT</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_INVALID_THREAD</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_INVALID_VECTOR</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_MAXAUDIBLE</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_MEMORY</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_MEMORY_CANTPOINT</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_NEEDS3D</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_NEEDSHARDWARE</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_NET_CONNECT</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_NET_SOCKET_ERROR</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_NET_URL</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_NET_WOULD_BLOCK</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_NOTREADY</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_OUTPUT_ALLOCATED</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_OUTPUT_CREATEBUFFER</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_OUTPUT_DRIVERCALL</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_OUTPUT_FORMAT</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_OUTPUT_INIT</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_OUTPUT_NODRIVERS</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_PLUGIN</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_PLUGIN_MISSING</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_PLUGIN_RESOURCE</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_PLUGIN_VERSION</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_RECORD</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_REVERB_CHANNELGROUP</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_REVERB_INSTANCE</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_SUBSOUNDS</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_SUBSOUND_ALLOCATED</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_SUBSOUND_CANTMOVE</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_TAGNOTFOUND</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_TOOMANYCHANNELS</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_TRUNCATED</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_UNIMPLEMENTED</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_UNINITIALIZED</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_UNSUPPORTED</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_VERSION</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_EVENT_ALREADY_LOADED</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_EVENT_LIVEUPDATE_BUSY</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_EVENT_LIVEUPDATE_MISMATCH</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_EVENT_LIVEUPDATE_TIMEOUT</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_EVENT_NOTFOUND</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_STUDIO_UNINITIALIZED</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_STUDIO_NOT_LOADED</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_INVALID_STRING</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_ALREADY_LOCKED</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_NOT_LOCKED</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_RECORD_DISCONNECTED</span><span class="p">,</span>
|
|
<span class="n">FMOD_ERR_TOOMANYSAMPLES</span>
|
|
<span class="p">}</span> <span class="n">FMOD_RESULT</span><span class="p">;</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">enum</span> <span class="n">RESULT</span> <span class="p">:</span> <span class="kt">int</span>
|
|
<span class="p">{</span>
|
|
<span class="n">OK</span><span class="p">,</span>
|
|
<span class="n">ERR_BADCOMMAND</span><span class="p">,</span>
|
|
<span class="n">ERR_CHANNEL_ALLOC</span><span class="p">,</span>
|
|
<span class="n">ERR_CHANNEL_STOLEN</span><span class="p">,</span>
|
|
<span class="n">ERR_DMA</span><span class="p">,</span>
|
|
<span class="n">ERR_DSP_CONNECTION</span><span class="p">,</span>
|
|
<span class="n">ERR_DSP_DONTPROCESS</span><span class="p">,</span>
|
|
<span class="n">ERR_DSP_FORMAT</span><span class="p">,</span>
|
|
<span class="n">ERR_DSP_INUSE</span><span class="p">,</span>
|
|
<span class="n">ERR_DSP_NOTFOUND</span><span class="p">,</span>
|
|
<span class="n">ERR_DSP_RESERVED</span><span class="p">,</span>
|
|
<span class="n">ERR_DSP_SILENCE</span><span class="p">,</span>
|
|
<span class="n">ERR_DSP_TYPE</span><span class="p">,</span>
|
|
<span class="n">ERR_FILE_BAD</span><span class="p">,</span>
|
|
<span class="n">ERR_FILE_COULDNOTSEEK</span><span class="p">,</span>
|
|
<span class="n">ERR_FILE_DISKEJECTED</span><span class="p">,</span>
|
|
<span class="n">ERR_FILE_EOF</span><span class="p">,</span>
|
|
<span class="n">ERR_FILE_ENDOFDATA</span><span class="p">,</span>
|
|
<span class="n">ERR_FILE_NOTFOUND</span><span class="p">,</span>
|
|
<span class="n">ERR_FORMAT</span><span class="p">,</span>
|
|
<span class="n">ERR_HEADER_MISMATCH</span><span class="p">,</span>
|
|
<span class="n">ERR_HTTP</span><span class="p">,</span>
|
|
<span class="n">ERR_HTTP_ACCESS</span><span class="p">,</span>
|
|
<span class="n">ERR_HTTP_PROXY_AUTH</span><span class="p">,</span>
|
|
<span class="n">ERR_HTTP_SERVER_ERROR</span><span class="p">,</span>
|
|
<span class="n">ERR_HTTP_TIMEOUT</span><span class="p">,</span>
|
|
<span class="n">ERR_INITIALIZATION</span><span class="p">,</span>
|
|
<span class="n">ERR_INITIALIZED</span><span class="p">,</span>
|
|
<span class="n">ERR_INTERNAL</span><span class="p">,</span>
|
|
<span class="n">ERR_INVALID_FLOAT</span><span class="p">,</span>
|
|
<span class="n">ERR_INVALID_HANDLE</span><span class="p">,</span>
|
|
<span class="n">ERR_INVALID_PARAM</span><span class="p">,</span>
|
|
<span class="n">ERR_INVALID_POSITION</span><span class="p">,</span>
|
|
<span class="n">ERR_INVALID_SPEAKER</span><span class="p">,</span>
|
|
<span class="n">ERR_INVALID_SYNCPOINT</span><span class="p">,</span>
|
|
<span class="n">ERR_INVALID_THREAD</span><span class="p">,</span>
|
|
<span class="n">ERR_INVALID_VECTOR</span><span class="p">,</span>
|
|
<span class="n">ERR_MAXAUDIBLE</span><span class="p">,</span>
|
|
<span class="n">ERR_MEMORY</span><span class="p">,</span>
|
|
<span class="n">ERR_MEMORY_CANTPOINT</span><span class="p">,</span>
|
|
<span class="n">ERR_NEEDS3D</span><span class="p">,</span>
|
|
<span class="n">ERR_NEEDSHARDWARE</span><span class="p">,</span>
|
|
<span class="n">ERR_NET_CONNECT</span><span class="p">,</span>
|
|
<span class="n">ERR_NET_SOCKET_ERROR</span><span class="p">,</span>
|
|
<span class="n">ERR_NET_URL</span><span class="p">,</span>
|
|
<span class="n">ERR_NET_WOULD_BLOCK</span><span class="p">,</span>
|
|
<span class="n">ERR_NOTREADY</span><span class="p">,</span>
|
|
<span class="n">ERR_OUTPUT_ALLOCATED</span><span class="p">,</span>
|
|
<span class="n">ERR_OUTPUT_CREATEBUFFER</span><span class="p">,</span>
|
|
<span class="n">ERR_OUTPUT_DRIVERCALL</span><span class="p">,</span>
|
|
<span class="n">ERR_OUTPUT_FORMAT</span><span class="p">,</span>
|
|
<span class="n">ERR_OUTPUT_INIT</span><span class="p">,</span>
|
|
<span class="n">ERR_OUTPUT_NODRIVERS</span><span class="p">,</span>
|
|
<span class="n">ERR_PLUGIN</span><span class="p">,</span>
|
|
<span class="n">ERR_PLUGIN_MISSING</span><span class="p">,</span>
|
|
<span class="n">ERR_PLUGIN_RESOURCE</span><span class="p">,</span>
|
|
<span class="n">ERR_PLUGIN_VERSION</span><span class="p">,</span>
|
|
<span class="n">ERR_RECORD</span><span class="p">,</span>
|
|
<span class="n">ERR_REVERB_CHANNELGROUP</span><span class="p">,</span>
|
|
<span class="n">ERR_REVERB_INSTANCE</span><span class="p">,</span>
|
|
<span class="n">ERR_SUBSOUNDS</span><span class="p">,</span>
|
|
<span class="n">ERR_SUBSOUND_ALLOCATED</span><span class="p">,</span>
|
|
<span class="n">ERR_SUBSOUND_CANTMOVE</span><span class="p">,</span>
|
|
<span class="n">ERR_TAGNOTFOUND</span><span class="p">,</span>
|
|
<span class="n">ERR_TOOMANYCHANNELS</span><span class="p">,</span>
|
|
<span class="n">ERR_TRUNCATED</span><span class="p">,</span>
|
|
<span class="n">ERR_UNIMPLEMENTED</span><span class="p">,</span>
|
|
<span class="n">ERR_UNINITIALIZED</span><span class="p">,</span>
|
|
<span class="n">ERR_UNSUPPORTED</span><span class="p">,</span>
|
|
<span class="n">ERR_VERSION</span><span class="p">,</span>
|
|
<span class="n">ERR_EVENT_ALREADY_LOADED</span><span class="p">,</span>
|
|
<span class="n">ERR_EVENT_LIVEUPDATE_BUSY</span><span class="p">,</span>
|
|
<span class="n">ERR_EVENT_LIVEUPDATE_MISMATCH</span><span class="p">,</span>
|
|
<span class="n">ERR_EVENT_LIVEUPDATE_TIMEOUT</span><span class="p">,</span>
|
|
<span class="n">ERR_EVENT_NOTFOUND</span><span class="p">,</span>
|
|
<span class="n">ERR_STUDIO_UNINITIALIZED</span><span class="p">,</span>
|
|
<span class="n">ERR_STUDIO_NOT_LOADED</span><span class="p">,</span>
|
|
<span class="n">ERR_INVALID_STRING</span><span class="p">,</span>
|
|
<span class="n">ERR_ALREADY_LOCKED</span><span class="p">,</span>
|
|
<span class="n">ERR_NOT_LOCKED</span><span class="p">,</span>
|
|
<span class="n">ERR_RECORD_DISCONNECTED</span><span class="p">,</span>
|
|
<span class="n">ERR_TOOMANYSAMPLES</span><span class="p">,</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">OK</span>
|
|
<span class="nx">ERR_BADCOMMAND</span>
|
|
<span class="nx">ERR_CHANNEL_ALLOC</span>
|
|
<span class="nx">ERR_CHANNEL_STOLEN</span>
|
|
<span class="nx">ERR_DMA</span>
|
|
<span class="nx">ERR_DSP_CONNECTION</span>
|
|
<span class="nx">ERR_DSP_DONTPROCESS</span>
|
|
<span class="nx">ERR_DSP_FORMAT</span>
|
|
<span class="nx">ERR_DSP_INUSE</span>
|
|
<span class="nx">ERR_DSP_NOTFOUND</span>
|
|
<span class="nx">ERR_DSP_RESERVED</span>
|
|
<span class="nx">ERR_DSP_SILENCE</span>
|
|
<span class="nx">ERR_DSP_TYPE</span>
|
|
<span class="nx">ERR_FILE_BAD</span>
|
|
<span class="nx">ERR_FILE_COULDNOTSEEK</span>
|
|
<span class="nx">ERR_FILE_DISKEJECTED</span>
|
|
<span class="nx">ERR_FILE_EOF</span>
|
|
<span class="nx">ERR_FILE_ENDOFDATA</span>
|
|
<span class="nx">ERR_FILE_NOTFOUND</span>
|
|
<span class="nx">ERR_FORMAT</span>
|
|
<span class="nx">ERR_HEADER_MISMATCH</span>
|
|
<span class="nx">ERR_HTTP</span>
|
|
<span class="nx">ERR_HTTP_ACCESS</span>
|
|
<span class="nx">ERR_HTTP_PROXY_AUTH</span>
|
|
<span class="nx">ERR_HTTP_SERVER_ERROR</span>
|
|
<span class="nx">ERR_HTTP_TIMEOUT</span>
|
|
<span class="nx">ERR_INITIALIZATION</span>
|
|
<span class="nx">ERR_INITIALIZED</span>
|
|
<span class="nx">ERR_INTERNAL</span>
|
|
<span class="nx">ERR_INVALID_FLOAT</span>
|
|
<span class="nx">ERR_INVALID_HANDLE</span>
|
|
<span class="nx">ERR_INVALID_PARAM</span>
|
|
<span class="nx">ERR_INVALID_POSITION</span>
|
|
<span class="nx">ERR_INVALID_SPEAKER</span>
|
|
<span class="nx">ERR_INVALID_SYNCPOINT</span>
|
|
<span class="nx">ERR_INVALID_THREAD</span>
|
|
<span class="nx">ERR_INVALID_VECTOR</span>
|
|
<span class="nx">ERR_MAXAUDIBLE</span>
|
|
<span class="nx">ERR_MEMORY</span>
|
|
<span class="nx">ERR_MEMORY_CANTPOINT</span>
|
|
<span class="nx">ERR_NEEDS3D</span>
|
|
<span class="nx">ERR_NEEDSHARDWARE</span>
|
|
<span class="nx">ERR_NET_CONNECT</span>
|
|
<span class="nx">ERR_NET_SOCKET_ERROR</span>
|
|
<span class="nx">ERR_NET_URL</span>
|
|
<span class="nx">ERR_NET_WOULD_BLOCK</span>
|
|
<span class="nx">ERR_NOTREADY</span>
|
|
<span class="nx">ERR_OUTPUT_ALLOCATED</span>
|
|
<span class="nx">ERR_OUTPUT_CREATEBUFFER</span>
|
|
<span class="nx">ERR_OUTPUT_DRIVERCALL</span>
|
|
<span class="nx">ERR_OUTPUT_FORMAT</span>
|
|
<span class="nx">ERR_OUTPUT_INIT</span>
|
|
<span class="nx">ERR_OUTPUT_NODRIVERS</span>
|
|
<span class="nx">ERR_PLUGIN</span>
|
|
<span class="nx">ERR_PLUGIN_MISSING</span>
|
|
<span class="nx">ERR_PLUGIN_RESOURCE</span>
|
|
<span class="nx">ERR_PLUGIN_VERSION</span>
|
|
<span class="nx">ERR_RECORD</span>
|
|
<span class="nx">ERR_REVERB_CHANNELGROUP</span>
|
|
<span class="nx">ERR_REVERB_INSTANCE</span>
|
|
<span class="nx">ERR_SUBSOUNDS</span>
|
|
<span class="nx">ERR_SUBSOUND_ALLOCATED</span>
|
|
<span class="nx">ERR_SUBSOUND_CANTMOVE</span>
|
|
<span class="nx">ERR_TAGNOTFOUND</span>
|
|
<span class="nx">ERR_TOOMANYCHANNELS</span>
|
|
<span class="nx">ERR_TRUNCATED</span>
|
|
<span class="nx">ERR_UNIMPLEMENTED</span>
|
|
<span class="nx">ERR_UNINITIALIZED</span>
|
|
<span class="nx">ERR_UNSUPPORTED</span>
|
|
<span class="nx">ERR_VERSION</span>
|
|
<span class="nx">ERR_EVENT_ALREADY_LOADED</span>
|
|
<span class="nx">ERR_EVENT_LIVEUPDATE_BUSY</span>
|
|
<span class="nx">ERR_EVENT_LIVEUPDATE_MISMATCH</span>
|
|
<span class="nx">ERR_EVENT_LIVEUPDATE_TIMEOUT</span>
|
|
<span class="nx">ERR_EVENT_NOTFOUND</span>
|
|
<span class="nx">ERR_STUDIO_UNINITIALIZED</span>
|
|
<span class="nx">ERR_STUDIO_NOT_LOADED</span>
|
|
<span class="nx">ERR_INVALID_STRING</span>
|
|
<span class="nx">ERR_ALREADY_LOCKED</span>
|
|
<span class="nx">ERR_NOT_LOCKED</span>
|
|
<span class="nx">ERR_RECORD_DISCONNECTED</span>
|
|
<span class="nx">ERR_TOOMANYSAMPLES</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt id="fmod_ok">FMOD_OK</dt>
|
|
<dd>No errors.</dd>
|
|
<dt id="fmod_err_badcommand">FMOD_ERR_BADCOMMAND</dt>
|
|
<dd>Tried to call a function on a data type that does not allow this type of functionality (ie calling <a class="apilink" href="core-api-sound.html#sound_lock">Sound::lock</a> on a streaming <a class="apilink" href="core-api-sound.html">Sound</a>).</dd>
|
|
<dt id="fmod_err_channel_alloc">FMOD_ERR_CHANNEL_ALLOC</dt>
|
|
<dd>Error trying to allocate a <a class="apilink" href="core-api-channel.html">Channel</a>.</dd>
|
|
<dt id="fmod_err_channel_stolen">FMOD_ERR_CHANNEL_STOLEN</dt>
|
|
<dd>The specified <a class="apilink" href="core-api-channel.html">Channel</a> has been reused to play another <a class="apilink" href="core-api-sound.html">Sound</a>.</dd>
|
|
<dt id="fmod_err_dma">FMOD_ERR_DMA</dt>
|
|
<dd>DMA Failure. See debug output for more information.</dd>
|
|
<dt id="fmod_err_dsp_connection">FMOD_ERR_DSP_CONNECTION</dt>
|
|
<dd><a href="glossary.html#dsp">DSP</a> connection error. Connection possibly caused a cyclic dependency or connected DSPs with incompatible buffer counts.</dd>
|
|
<dt id="fmod_err_dsp_dontprocess">FMOD_ERR_DSP_DONTPROCESS</dt>
|
|
<dd><a href="glossary.html#dsp">DSP</a> return code from a DSP process query callback. Tells mixer not to call the process callback and therefore not consume CPU. Use this to optimize the DSP graph.</dd>
|
|
<dt id="fmod_err_dsp_format">FMOD_ERR_DSP_FORMAT</dt>
|
|
<dd><a href="glossary.html#dsp">DSP</a> format error. A DSP unit may have attempted to connect to this <a href="glossary.html#dsp-graph">graph</a> with the wrong format, or a matrix may have been set with the wrong size if the target unit has a specified channel map.</dd>
|
|
<dt id="fmod_err_dsp_inuse">FMOD_ERR_DSP_INUSE</dt>
|
|
<dd><a href="glossary.html#dsp">DSP</a> is already in the mixer's <a href="glossary.html#dsp-graph">DSP graph</a>. It must be removed before being reinserted or released.</dd>
|
|
<dt id="fmod_err_dsp_notfound">FMOD_ERR_DSP_NOTFOUND</dt>
|
|
<dd><a href="glossary.html#dsp">DSP</a> connection error. Couldn't find the DSP unit specified.</dd>
|
|
<dt id="fmod_err_dsp_reserved">FMOD_ERR_DSP_RESERVED</dt>
|
|
<dd><a href="glossary.html#dsp">DSP</a> operation error. Cannot perform operation on this DSP as it is reserved by the system.</dd>
|
|
<dt id="fmod_err_dsp_silence">FMOD_ERR_DSP_SILENCE</dt>
|
|
<dd><a href="glossary.html#dsp">DSP</a> return code from a DSP process query callback. Tells the mixer silence would be produced from read, so go idle and not consume CPU. Use this to optimize the DSP graph.</dd>
|
|
<dt id="fmod_err_dsp_type">FMOD_ERR_DSP_TYPE</dt>
|
|
<dd><a href="glossary.html#dsp">DSP</a> operation cannot be performed on a DSP of this type.</dd>
|
|
<dt id="fmod_err_file_bad">FMOD_ERR_FILE_BAD</dt>
|
|
<dd>Error loading file.</dd>
|
|
<dt id="fmod_err_file_couldnotseek">FMOD_ERR_FILE_COULDNOTSEEK</dt>
|
|
<dd>Couldn't perform seek operation. This is a limitation of the medium (ie netstreams) or the file format.</dd>
|
|
<dt id="fmod_err_file_diskejected">FMOD_ERR_FILE_DISKEJECTED</dt>
|
|
<dd>Media was ejected while reading.</dd>
|
|
<dt id="fmod_err_file_eof">FMOD_ERR_FILE_EOF</dt>
|
|
<dd>End of file unexpectedly reached while trying to read essential data (truncated?).</dd>
|
|
<dt id="fmod_err_file_endofdata">FMOD_ERR_FILE_ENDOFDATA</dt>
|
|
<dd>End of current chunk reached while trying to read data.</dd>
|
|
<dt id="fmod_err_file_notfound">FMOD_ERR_FILE_NOTFOUND</dt>
|
|
<dd>File not found.</dd>
|
|
<dt id="fmod_err_format">FMOD_ERR_FORMAT</dt>
|
|
<dd>Unsupported file or audio format.</dd>
|
|
<dt id="fmod_err_header_mismatch">FMOD_ERR_HEADER_MISMATCH</dt>
|
|
<dd>There is a version mismatch between the FMOD header and either the <a href="glossary.html#fmod-studio">FMOD API</a> library or the Core API library.</dd>
|
|
<dt id="fmod_err_http">FMOD_ERR_HTTP</dt>
|
|
<dd>A HTTP error occurred. This is a catch-all for HTTP errors not listed elsewhere.</dd>
|
|
<dt id="fmod_err_http_access">FMOD_ERR_HTTP_ACCESS</dt>
|
|
<dd>The specified resource requires authentication or is forbidden.</dd>
|
|
<dt id="fmod_err_http_proxy_auth">FMOD_ERR_HTTP_PROXY_AUTH</dt>
|
|
<dd>Proxy authentication is required to access the specified resource.</dd>
|
|
<dt id="fmod_err_http_server_error">FMOD_ERR_HTTP_SERVER_ERROR</dt>
|
|
<dd>A HTTP server error occurred.</dd>
|
|
<dt id="fmod_err_http_timeout">FMOD_ERR_HTTP_TIMEOUT</dt>
|
|
<dd>The HTTP request timed out.</dd>
|
|
<dt id="fmod_err_initialization">FMOD_ERR_INITIALIZATION</dt>
|
|
<dd>FMOD was not initialized correctly to support this function.</dd>
|
|
<dt id="fmod_err_initialized">FMOD_ERR_INITIALIZED</dt>
|
|
<dd>Cannot call this command after <a class="apilink" href="core-api-system.html#system_init">System::init</a>.</dd>
|
|
<dt id="fmod_err_internal">FMOD_ERR_INTERNAL</dt>
|
|
<dd>An error occured in the FMOD system. <a href="core-api-common.html#debug_initialize">Use the logging version of FMOD</a> for more information.</dd>
|
|
<dt id="fmod_err_invalid_float">FMOD_ERR_INVALID_FLOAT</dt>
|
|
<dd>Value passed in was a NaN, Inf or denormalized float.</dd>
|
|
<dt id="fmod_err_invalid_handle">FMOD_ERR_INVALID_HANDLE</dt>
|
|
<dd>An invalid object handle was used.</dd>
|
|
<dt id="fmod_err_invalid_param">FMOD_ERR_INVALID_PARAM</dt>
|
|
<dd>An invalid parameter was passed to this function.</dd>
|
|
<dt id="fmod_err_invalid_position">FMOD_ERR_INVALID_POSITION</dt>
|
|
<dd>An invalid seek position was passed to this function.</dd>
|
|
<dt id="fmod_err_invalid_speaker">FMOD_ERR_INVALID_SPEAKER</dt>
|
|
<dd>An invalid speaker was passed to this function based on the current speaker mode.</dd>
|
|
<dt id="fmod_err_invalid_syncpoint">FMOD_ERR_INVALID_SYNCPOINT</dt>
|
|
<dd>The syncpoint did not come from this <a class="apilink" href="core-api-sound.html">Sound</a> handle.</dd>
|
|
<dt id="fmod_err_invalid_thread">FMOD_ERR_INVALID_THREAD</dt>
|
|
<dd>Tried to call a function on a thread that is not supported.</dd>
|
|
<dt id="fmod_err_invalid_vector">FMOD_ERR_INVALID_VECTOR</dt>
|
|
<dd>The vectors passed in are not unit length, or perpendicular.</dd>
|
|
<dt id="fmod_err_maxaudible">FMOD_ERR_MAXAUDIBLE</dt>
|
|
<dd>Reached maximum audible playback count for this <a class="apilink" href="core-api-sound.html">Sound</a>'s <a class="apilink" href="core-api-soundgroup.html">SoundGroup</a>.</dd>
|
|
<dt id="fmod_err_memory">FMOD_ERR_MEMORY</dt>
|
|
<dd>Not enough memory or resources.</dd>
|
|
<dt id="fmod_err_memory_cantpoint">FMOD_ERR_MEMORY_CANTPOINT</dt>
|
|
<dd>Can't use <a class="apilink" href="core-api-common.html#fmod_openmemory_point">FMOD_OPENMEMORY_POINT</a> on non PCM source data, or non mp3/xma/adpcm data if <a class="apilink" href="core-api-common.html#fmod_createcompressedsample">FMOD_CREATECOMPRESSEDSAMPLE</a> was used.</dd>
|
|
<dt id="fmod_err_needs3d">FMOD_ERR_NEEDS3D</dt>
|
|
<dd>Tried to call a command on a 2D <a class="apilink" href="core-api-sound.html">Sound</a> when the command was meant for 3D <a class="apilink" href="core-api-sound.html">Sound</a>.</dd>
|
|
<dt id="fmod_err_needshardware">FMOD_ERR_NEEDSHARDWARE</dt>
|
|
<dd>Tried to use a feature that requires hardware support.</dd>
|
|
<dt id="fmod_err_net_connect">FMOD_ERR_NET_CONNECT</dt>
|
|
<dd>Couldn't connect to the specified host.</dd>
|
|
<dt id="fmod_err_net_socket_error">FMOD_ERR_NET_SOCKET_ERROR</dt>
|
|
<dd>A socket error occurred. This is a catch-all for socket-related errors not listed elsewhere.</dd>
|
|
<dt id="fmod_err_net_url">FMOD_ERR_NET_URL</dt>
|
|
<dd>The specified URL couldn't be resolved.</dd>
|
|
<dt id="fmod_err_net_would_block">FMOD_ERR_NET_WOULD_BLOCK</dt>
|
|
<dd>Operation on a non-blocking socket could not complete immediately.</dd>
|
|
<dt id="fmod_err_notready">FMOD_ERR_NOTREADY</dt>
|
|
<dd>Operation could not be performed because specified <a class="apilink" href="core-api-sound.html">Sound</a>/<a class="apilink" href="core-api-dsp.html">DSP</a> connection is not ready.</dd>
|
|
<dt id="fmod_err_output_allocated">FMOD_ERR_OUTPUT_ALLOCATED</dt>
|
|
<dd>Error initializing output device, but more specifically, the output device is already in use and cannot be reused.</dd>
|
|
<dt id="fmod_err_output_createbuffer">FMOD_ERR_OUTPUT_CREATEBUFFER</dt>
|
|
<dd>Error creating hardware sound buffer.</dd>
|
|
<dt id="fmod_err_output_drivercall">FMOD_ERR_OUTPUT_DRIVERCALL</dt>
|
|
<dd>A call to a standard soundcard driver failed, which could possibly mean a bug in the driver or resources were missing or exhausted.</dd>
|
|
<dt id="fmod_err_output_format">FMOD_ERR_OUTPUT_FORMAT</dt>
|
|
<dd>Soundcard does not support the specified format.</dd>
|
|
<dt id="fmod_err_output_init">FMOD_ERR_OUTPUT_INIT</dt>
|
|
<dd>Error initializing output device.</dd>
|
|
<dt id="fmod_err_output_nodrivers">FMOD_ERR_OUTPUT_NODRIVERS</dt>
|
|
<dd>The output device has no drivers installed. If pre-init, FMOD_OUTPUT_NOSOUND is selected as the output mode. If post-init, the function just fails.</dd>
|
|
<dt id="fmod_err_plugin">FMOD_ERR_PLUGIN</dt>
|
|
<dd>An unspecified error has been returned from a plug-in.</dd>
|
|
<dt id="fmod_err_plugin_missing">FMOD_ERR_PLUGIN_MISSING</dt>
|
|
<dd>A requested output, <a href="glossary.html#dsp">dsp unit</a> type or codec was not available.</dd>
|
|
<dt id="fmod_err_plugin_resource">FMOD_ERR_PLUGIN_RESOURCE</dt>
|
|
<dd>A resource that the plug-in requires (e.g.: The DLS file for MIDI playback) cannot be allocated or found. </dd>
|
|
<dt id="fmod_err_plugin_version">FMOD_ERR_PLUGIN_VERSION</dt>
|
|
<dd>A plug-in was built with an unsupported SDK version.</dd>
|
|
<dt id="fmod_err_record">FMOD_ERR_RECORD</dt>
|
|
<dd>An error occurred trying to initialize the recording device.</dd>
|
|
<dt id="fmod_err_reverb_channelgroup">FMOD_ERR_REVERB_CHANNELGROUP</dt>
|
|
<dd>Reverb properties cannot be set on this <a class="apilink" href="core-api-channel.html">Channel</a> because a parent <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> owns the reverb connection.</dd>
|
|
<dt id="fmod_err_reverb_instance">FMOD_ERR_REVERB_INSTANCE</dt>
|
|
<dd>Specified instance in <a class="apilink" href="core-api-system.html#fmod_reverb_properties">FMOD_REVERB_PROPERTIES</a> couldn't be set. Most likely because it is an invalid instance number or the reverb doesn't exist.</dd>
|
|
<dt id="fmod_err_subsounds">FMOD_ERR_SUBSOUNDS</dt>
|
|
<dd>The error occurred because the <a class="apilink" href="core-api-sound.html">Sound</a> referenced contains subsounds when it shouldn't have, or it doesn't contain subsounds when it should have. The operation may also not be able to be performed on a parent <a class="apilink" href="core-api-sound.html">Sound</a>.</dd>
|
|
<dt id="fmod_err_subsound_allocated">FMOD_ERR_SUBSOUND_ALLOCATED</dt>
|
|
<dd>This subsound is already being used by another <a class="apilink" href="core-api-sound.html">Sound</a>, you cannot have more than one parent to a <a class="apilink" href="core-api-sound.html">Sound</a>. Null out the other parent's entry first.</dd>
|
|
<dt id="fmod_err_subsound_cantmove">FMOD_ERR_SUBSOUND_CANTMOVE</dt>
|
|
<dd>Shared subsounds cannot be replaced or moved from their parent stream, such as when the parent stream is an FSB file.</dd>
|
|
<dt id="fmod_err_tagnotfound">FMOD_ERR_TAGNOTFOUND</dt>
|
|
<dd>The specified tag could not be found or there are no tags.</dd>
|
|
<dt id="fmod_err_toomanychannels">FMOD_ERR_TOOMANYCHANNELS</dt>
|
|
<dd>The <a class="apilink" href="core-api-sound.html">Sound</a> created exceeds the allowable input channel count. This can be increased using the 'maxinputchannels' parameter in <a class="apilink" href="core-api-system.html#system_setsoftwareformat">System::setSoftwareFormat</a>.</dd>
|
|
<dt id="fmod_err_truncated">FMOD_ERR_TRUNCATED</dt>
|
|
<dd>The retrieved string is too long to fit in the supplied buffer and has been truncated.</dd>
|
|
<dt id="fmod_err_unimplemented">FMOD_ERR_UNIMPLEMENTED</dt>
|
|
<dd>Something in FMOD hasn't been implemented when it should be. Contact support.</dd>
|
|
<dt id="fmod_err_uninitialized">FMOD_ERR_UNINITIALIZED</dt>
|
|
<dd>This command failed because <a class="apilink" href="core-api-system.html#system_init">System::init</a> or <a class="apilink" href="core-api-system.html#system_setdriver">System::setDriver</a> was not called.</dd>
|
|
<dt id="fmod_err_unsupported">FMOD_ERR_UNSUPPORTED</dt>
|
|
<dd>A command issued was not supported by this object. Possibly a plug-in without certain callbacks specified.</dd>
|
|
<dt id="fmod_err_version">FMOD_ERR_VERSION</dt>
|
|
<dd>The version number of this file format is not supported.</dd>
|
|
<dt id="fmod_err_event_already_loaded">FMOD_ERR_EVENT_ALREADY_LOADED</dt>
|
|
<dd>The specified <a href="glossary.html#bank-file">bank</a> has already been loaded.</dd>
|
|
<dt id="fmod_err_event_liveupdate_busy">FMOD_ERR_EVENT_LIVEUPDATE_BUSY</dt>
|
|
<dd>The live update connection failed due to the game already being connected.</dd>
|
|
<dt id="fmod_err_event_liveupdate_mismatch">FMOD_ERR_EVENT_LIVEUPDATE_MISMATCH</dt>
|
|
<dd>The live update connection failed due to the game data being out of sync with the tool.</dd>
|
|
<dt id="fmod_err_event_liveupdate_timeout">FMOD_ERR_EVENT_LIVEUPDATE_TIMEOUT</dt>
|
|
<dd>The live update connection timed out.</dd>
|
|
<dt id="fmod_err_event_notfound">FMOD_ERR_EVENT_NOTFOUND</dt>
|
|
<dd>The requested event, parameter, bus or vca could not be found.</dd>
|
|
<dt id="fmod_err_studio_uninitialized">FMOD_ERR_STUDIO_UNINITIALIZED</dt>
|
|
<dd>The Studio::System object is not yet initialized.</dd>
|
|
<dt id="fmod_err_studio_not_loaded">FMOD_ERR_STUDIO_NOT_LOADED</dt>
|
|
<dd>The specified resource is not loaded, so it can't be unloaded.</dd>
|
|
<dt id="fmod_err_invalid_string">FMOD_ERR_INVALID_STRING</dt>
|
|
<dd>An invalid string was passed to this function.</dd>
|
|
<dt id="fmod_err_already_locked">FMOD_ERR_ALREADY_LOCKED</dt>
|
|
<dd>The specified resource is already locked.</dd>
|
|
<dt id="fmod_err_not_locked">FMOD_ERR_NOT_LOCKED</dt>
|
|
<dd>The specified resource is not locked, so it can't be unlocked.</dd>
|
|
<dt id="fmod_err_record_disconnected">FMOD_ERR_RECORD_DISCONNECTED</dt>
|
|
<dd>The specified recording driver has been disconnected.</dd>
|
|
<dt id="fmod_err_toomanysamples">FMOD_ERR_TOOMANYSAMPLES</dt>
|
|
<dd>The length provided exceeds the allowable limit.</dd>
|
|
</dl>
|
|
<h2 api="enum" id="fmod_speaker"><a href="#fmod_speaker">FMOD_SPEAKER</a></h2>
|
|
<p>Assigns an enumeration for a speaker index.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="k">typedef</span> <span class="k">enum</span> <span class="n">FMOD_SPEAKER</span> <span class="p">{</span>
|
|
<span class="n">FMOD_SPEAKER_NONE</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKER_FRONT_LEFT</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKER_FRONT_RIGHT</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKER_FRONT_CENTER</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKER_LOW_FREQUENCY</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKER_SURROUND_LEFT</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKER_SURROUND_RIGHT</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKER_BACK_LEFT</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKER_BACK_RIGHT</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKER_TOP_FRONT_LEFT</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKER_TOP_FRONT_RIGHT</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKER_TOP_BACK_LEFT</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKER_TOP_BACK_RIGHT</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKER_MAX</span>
|
|
<span class="p">}</span> <span class="n">FMOD_SPEAKER</span><span class="p">;</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">enum</span> <span class="n">SPEAKER</span> <span class="p">:</span> <span class="kt">int</span>
|
|
<span class="p">{</span>
|
|
<span class="n">NONE</span> <span class="p">=</span> <span class="p">-</span><span class="m">1</span><span class="p">,</span>
|
|
<span class="n">FRONT_LEFT</span><span class="p">,</span>
|
|
<span class="n">FRONT_RIGHT</span><span class="p">,</span>
|
|
<span class="n">FRONT_CENTER</span><span class="p">,</span>
|
|
<span class="n">LOW_FREQUENCY</span><span class="p">,</span>
|
|
<span class="n">SURROUND_LEFT</span><span class="p">,</span>
|
|
<span class="n">SURROUND_RIGHT</span><span class="p">,</span>
|
|
<span class="n">BACK_LEFT</span><span class="p">,</span>
|
|
<span class="n">BACK_RIGHT</span><span class="p">,</span>
|
|
<span class="n">TOP_FRONT_LEFT</span><span class="p">,</span>
|
|
<span class="n">TOP_FRONT_RIGHT</span><span class="p">,</span>
|
|
<span class="n">TOP_BACK_LEFT</span><span class="p">,</span>
|
|
<span class="n">TOP_BACK_RIGHT</span><span class="p">,</span>
|
|
<span class="n">MAX</span><span class="p">,</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">SPEAKER_NONE</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
|
|
<span class="nx">SPEAKER_FRONT_LEFT</span>
|
|
<span class="nx">SPEAKER_FRONT_RIGHT</span>
|
|
<span class="nx">SPEAKER_FRONT_CENTER</span>
|
|
<span class="nx">SPEAKER_LOW_FREQUENCY</span>
|
|
<span class="nx">SPEAKER_SURROUND_LEFT</span>
|
|
<span class="nx">SPEAKER_SURROUND_RIGHT</span>
|
|
<span class="nx">SPEAKER_BACK_LEFT</span>
|
|
<span class="nx">SPEAKER_BACK_RIGHT</span>
|
|
<span class="nx">SPEAKER_TOP_FRONT_LEFT</span>
|
|
<span class="nx">SPEAKER_TOP_FRONT_RIGHT</span>
|
|
<span class="nx">SPEAKER_TOP_BACK_LEFT</span>
|
|
<span class="nx">SPEAKER_TOP_BACK_RIGHT</span>
|
|
<span class="nx">SPEAKER_MAX</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt id="fmod_speaker_none">FMOD_SPEAKER_NONE</dt>
|
|
<dd>No speaker</dd>
|
|
<dt id="fmod_speaker_front_left">FMOD_SPEAKER_FRONT_LEFT</dt>
|
|
<dd>The front left speaker</dd>
|
|
<dt id="fmod_speaker_front_right">FMOD_SPEAKER_FRONT_RIGHT</dt>
|
|
<dd>The front right speaker</dd>
|
|
<dt id="fmod_speaker_front_center">FMOD_SPEAKER_FRONT_CENTER</dt>
|
|
<dd>The front center speaker</dd>
|
|
<dt id="fmod_speaker_low_frequency">FMOD_SPEAKER_LOW_FREQUENCY</dt>
|
|
<dd>The LFE or 'subwoofer' speaker</dd>
|
|
<dt id="fmod_speaker_surround_left">FMOD_SPEAKER_SURROUND_LEFT</dt>
|
|
<dd>The surround left (usually to the side) speaker</dd>
|
|
<dt id="fmod_speaker_surround_right">FMOD_SPEAKER_SURROUND_RIGHT</dt>
|
|
<dd>The surround right (usually to the side) speaker</dd>
|
|
<dt id="fmod_speaker_back_left">FMOD_SPEAKER_BACK_LEFT</dt>
|
|
<dd>The back left speaker</dd>
|
|
<dt id="fmod_speaker_back_right">FMOD_SPEAKER_BACK_RIGHT</dt>
|
|
<dd>The back right speaker</dd>
|
|
<dt id="fmod_speaker_top_front_left">FMOD_SPEAKER_TOP_FRONT_LEFT</dt>
|
|
<dd>The top front left speaker</dd>
|
|
<dt id="fmod_speaker_top_front_right">FMOD_SPEAKER_TOP_FRONT_RIGHT</dt>
|
|
<dd>The top front right speaker</dd>
|
|
<dt id="fmod_speaker_top_back_left">FMOD_SPEAKER_TOP_BACK_LEFT</dt>
|
|
<dd>The top back left speaker</dd>
|
|
<dt id="fmod_speaker_top_back_right">FMOD_SPEAKER_TOP_BACK_RIGHT</dt>
|
|
<dd>The top back right speaker</dd>
|
|
<dt id="fmod_speaker_max">FMOD_SPEAKER_MAX</dt>
|
|
<dd>Maximum number of speaker types supported.</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-system.html#system_setspeakerposition">System::setSpeakerPosition</a>, <a class="apilink" href="core-api-system.html#system_getspeakerposition">System::getSpeakerPosition</a></p>
|
|
<h2 api="enum" id="fmod_speakermode"><a href="#fmod_speakermode">FMOD_SPEAKERMODE</a></h2>
|
|
<p>Speaker mode types.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="k">typedef</span> <span class="k">enum</span> <span class="n">FMOD_SPEAKERMODE</span> <span class="p">{</span>
|
|
<span class="n">FMOD_SPEAKERMODE_DEFAULT</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKERMODE_RAW</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKERMODE_MONO</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKERMODE_STEREO</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKERMODE_QUAD</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKERMODE_SURROUND</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKERMODE_5POINT1</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKERMODE_7POINT1</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKERMODE_7POINT1POINT4</span><span class="p">,</span>
|
|
<span class="n">FMOD_SPEAKERMODE_MAX</span>
|
|
<span class="p">}</span> <span class="n">FMOD_SPEAKERMODE</span><span class="p">;</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">enum</span> <span class="n">SPEAKERMODE</span> <span class="p">:</span> <span class="kt">int</span>
|
|
<span class="p">{</span>
|
|
<span class="n">DEFAULT</span><span class="p">,</span>
|
|
<span class="n">RAW</span><span class="p">,</span>
|
|
<span class="n">MONO</span><span class="p">,</span>
|
|
<span class="n">STEREO</span><span class="p">,</span>
|
|
<span class="n">QUAD</span><span class="p">,</span>
|
|
<span class="n">SURROUND</span><span class="p">,</span>
|
|
<span class="n">_5POINT1</span><span class="p">,</span>
|
|
<span class="n">_7POINT1</span><span class="p">,</span>
|
|
<span class="n">_7POINT1POINT4</span><span class="p">,</span>
|
|
<span class="n">MAX</span><span class="p">,</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">SPEAKERMODE_DEFAULT</span>
|
|
<span class="nx">SPEAKERMODE_RAW</span>
|
|
<span class="nx">SPEAKERMODE_MONO</span>
|
|
<span class="nx">SPEAKERMODE_STEREO</span>
|
|
<span class="nx">SPEAKERMODE_QUAD</span>
|
|
<span class="nx">SPEAKERMODE_SURROUND</span>
|
|
<span class="nx">SPEAKERMODE_5POINT1</span>
|
|
<span class="nx">SPEAKERMODE_7POINT1</span>
|
|
<span class="nx">SPEAKERMODE_7POINT1POINT4</span>
|
|
<span class="nx">SPEAKERMODE_MAX</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt id="fmod_speakermode_default">FMOD_SPEAKERMODE_DEFAULT</dt>
|
|
<dd>Default speaker mode for the chosen output mode which will resolve after <a class="apilink" href="core-api-system.html#system_init">System::init</a>.</dd>
|
|
<dt id="fmod_speakermode_raw">FMOD_SPEAKERMODE_RAW</dt>
|
|
<dd>Assume there is no special mapping from a given channel to a speaker, channels map 1:1 in order. Use <a class="apilink" href="core-api-system.html#system_setsoftwareformat">System::setSoftwareFormat</a> to specify the speaker count.</dd>
|
|
<dt id="fmod_speakermode_mono">FMOD_SPEAKERMODE_MONO</dt>
|
|
<dd>1 speaker setup (monaural).</dd>
|
|
<dt id="fmod_speakermode_stereo">FMOD_SPEAKERMODE_STEREO</dt>
|
|
<dd>2 speaker setup (stereo) front left, front right.</dd>
|
|
<dt id="fmod_speakermode_quad">FMOD_SPEAKERMODE_QUAD</dt>
|
|
<dd>4 speaker setup (4.0) front left, front right, surround left, surround right.</dd>
|
|
<dt id="fmod_speakermode_surround">FMOD_SPEAKERMODE_SURROUND</dt>
|
|
<dd>5 speaker setup (5.0) front left, front right, center, surround left, surround right.</dd>
|
|
<dt id="fmod_speakermode_5point1">FMOD_SPEAKERMODE_5POINT1</dt>
|
|
<dd>6 speaker setup (5.1) front left, front right, center, low frequency, surround left, surround right.</dd>
|
|
<dt id="fmod_speakermode_7point1">FMOD_SPEAKERMODE_7POINT1</dt>
|
|
<dd>8 speaker setup (7.1) front left, front right, center, low frequency, surround left, surround right, back left, back right.</dd>
|
|
<dt id="fmod_speakermode_7point1point4">FMOD_SPEAKERMODE_7POINT1POINT4</dt>
|
|
<dd>12 speaker setup (7.1.4) front left, front right, center, low frequency, surround left, surround right, back left, back right, top front left, top front right, top back left, top back right.</dd>
|
|
<dt id="fmod_speakermode_max">FMOD_SPEAKERMODE_MAX</dt>
|
|
<dd>Maximum number of speaker modes supported.</dd>
|
|
</dl>
|
|
<p>Note below the phrase 'sound channels' is used. These are the subchannels inside a sound, they are not related and have nothing to do with the FMOD class "Channel".</p>
|
|
<p>For example a mono sound has 1 sound channel, a stereo sound has 2 sound channels, and an AC3 or 6 channel wav file have 6 "sound channels".</p>
|
|
<p><a class="apilink" href="core-api-common.html#fmod_speakermode_raw">FMOD_SPEAKERMODE_RAW</a><br />
|
|
This mode is for output devices that are not specifically mono/stereo/quad/surround/5.1 or 7.1, but are multi-channel.</p>
|
|
<ul>
|
|
<li>Use <a class="apilink" href="core-api-system.html#system_setsoftwareformat">System::setSoftwareFormat</a> to specify the number of speakers you want to address, otherwise it will default to 2 (stereo).</li>
|
|
<li>Sound channels map to speakers sequentially, so a mono sound maps to output speaker 0, stereo sound maps to output speaker 0 & 1.</li>
|
|
<li>The user assumes knowledge of the speaker order. <a class="apilink" href="core-api-common.html#fmod_speaker">FMOD_SPEAKER</a> enumerations may not apply, so raw channel indices should be used.</li>
|
|
<li>Multi-channel sounds map input channels to output channels 1:1.</li>
|
|
<li>Speaker levels must be manually set with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixmatrix">ChannelControl::setMixMatrix</a>.</li>
|
|
<li><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpan">ChannelControl::setPan</a> and <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixlevelsoutput">ChannelControl::setMixLevelsOutput</a> do not work.</li>
|
|
</ul>
|
|
<p><a class="apilink" href="core-api-common.html#fmod_speakermode_mono">FMOD_SPEAKERMODE_MONO</a><br />
|
|
This mode is for a 1 speaker arrangement.</p>
|
|
<ul>
|
|
<li>Panning does not work in this speaker mode.</li>
|
|
<li>Mono, stereo and multi-channel sounds have each sound channel played on the one speaker at unity.</li>
|
|
<li>Mix behavior for multi-channel sounds can be set with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixmatrix">ChannelControl::setMixMatrix</a>.</li>
|
|
</ul>
|
|
<p><a class="apilink" href="core-api-common.html#fmod_speakermode_stereo">FMOD_SPEAKERMODE_STEREO</a><br />
|
|
This mode is for 2 speaker arrangements that have a left and right speaker.</p>
|
|
<ul>
|
|
<li>Mono sounds default to an even distribution between left and right. They can be panned with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpan">ChannelControl::setPan</a>.</li>
|
|
<li>Stereo sounds default to the middle, or full left in the left speaker and full right in the right speaker. They can be cross faded with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpan">ChannelControl::setPan</a>.</li>
|
|
<li>Multi-channel sounds have each sound channel played on each speaker at unity.</li>
|
|
<li>Mix behavior for multi-channel sounds can be set with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixmatrix">ChannelControl::setMixMatrix</a>.</li>
|
|
</ul>
|
|
<p><a class="apilink" href="core-api-common.html#fmod_speakermode_quad">FMOD_SPEAKERMODE_QUAD</a><br />
|
|
This mode is for 4 speaker arrangements that have a front left, front right, surround left and a surround right speaker.</p>
|
|
<ul>
|
|
<li>Mono sounds default to an even distribution between front left and front right. They can be panned with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpan">ChannelControl::setPan</a>.</li>
|
|
<li>Stereo sounds default to the left sound channel played on the front left, and the right sound channel played on the front right. They can be cross faded with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpan">ChannelControl::setPan</a>.</li>
|
|
<li>Multi-channel sounds default to all of their sound channels being played on each speaker in order of input.</li>
|
|
<li>Mix behavior for multi-channel sounds can be set with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixmatrix">ChannelControl::setMixMatrix</a>.</li>
|
|
</ul>
|
|
<p><a class="apilink" href="core-api-common.html#fmod_speakermode_surround">FMOD_SPEAKERMODE_SURROUND</a><br />
|
|
This mode is for 5 speaker arrangements that have a left/right/center/surround left/surround right.</p>
|
|
<ul>
|
|
<li>Mono sounds default to the center speaker. They can be panned with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpan">ChannelControl::setPan</a>.</li>
|
|
<li>Stereo sounds default to the left sound channel played on the front left, and the right sound channel played on the front right. They can be cross faded with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpan">ChannelControl::setPan</a>.</li>
|
|
<li>Multi-channel sounds default to all of their sound channels being played on each speaker in order of input.</li>
|
|
<li>Mix behavior for multi-channel sounds can be set with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixmatrix">ChannelControl::setMixMatrix</a>.</li>
|
|
</ul>
|
|
<p><a class="apilink" href="core-api-common.html#fmod_speakermode_5point1">FMOD_SPEAKERMODE_5POINT1</a><br />
|
|
This mode is for 5.1 speaker arrangements that have a left/right/center/surround left/surround right and a subwoofer speaker.</p>
|
|
<ul>
|
|
<li>Mono sounds default to the center speaker. They can be panned with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpan">ChannelControl::setPan</a>.</li>
|
|
<li>Stereo sounds default to the left sound channel played on the front left, and the right sound channel played on the front right. They can be cross faded with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpan">ChannelControl::setPan</a>.</li>
|
|
<li>Multi-channel sounds default to all of their sound channels being played on each speaker in order of input.</li>
|
|
<li>Mix behavior for multi-channel sounds can be set with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixmatrix">ChannelControl::setMixMatrix</a>.</li>
|
|
</ul>
|
|
<p><a class="apilink" href="core-api-common.html#fmod_speakermode_7point1">FMOD_SPEAKERMODE_7POINT1</a><br />
|
|
This mode is for 7.1 speaker arrangements that have a left/right/center/surround left/surround right/rear left/rear right and a subwoofer speaker.</p>
|
|
<ul>
|
|
<li>Mono sounds default to the center speaker. They can be panned with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpan">ChannelControl::setPan</a>.</li>
|
|
<li>Stereo sounds default to the left sound channel played on the front left, and the right sound channel played on the front right. They can be cross faded with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpan">ChannelControl::setPan</a>.</li>
|
|
<li>Multi-channel sounds default to all of their sound channels being played on each speaker in order of input.</li>
|
|
<li>Mix behavior for multi-channel sounds can be set with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixmatrix">ChannelControl::setMixMatrix</a>.</li>
|
|
</ul>
|
|
<p>See the <a href="https://fmod.com/docs/2.03/studio/mixing.html#channel-formats">FMOD Studio Mixing Guide</a> for graphical depictions of each speaker mode.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-system.html#system_getsoftwareformat">System::getSoftwareFormat</a>, <a class="apilink" href="core-api-dsp.html#dsp_setchannelformat">DSP::setChannelFormat</a></p>
|
|
<h2 api="struct" id="fmod_syncpoint"><a href="#fmod_syncpoint">FMOD_SYNCPOINT</a></h2>
|
|
<p>Named marker for a given point in time.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="k">typedef</span> <span class="k">struct</span> <span class="n">FMOD_SYNCPOINT</span> <span class="n">FMOD_SYNCPOINT</span><span class="p">;</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">IntPtr</span>
|
|
</pre></div>
|
|
|
|
<div class="admonition language-javascript">
|
|
<p>Not supported for JavaScript.</p>
|
|
</div>
|
|
<p>This is an opaque type that you fetch with <a class="apilink" href="core-api-sound.html#sound_getsyncpoint">Sound::getSyncPoint</a> then query with <a class="apilink" href="core-api-sound.html#sound_getsyncpointinfo">Sound::getSyncPointInfo</a>.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-sound.html#sound_addsyncpoint">Sound::addSyncPoint</a>, <a class="apilink" href="core-api-sound.html#sound_deletesyncpoint">Sound::deleteSyncPoint</a></p>
|
|
<h2 api="define" id="fmod_thread_affinity"><a href="#fmod_thread_affinity">FMOD_THREAD_AFFINITY</a></h2>
|
|
<p>Bitfield for specifying the CPU core a given thread runs on.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="cp">#define FMOD_THREAD_AFFINITY_GROUP_DEFAULT 0x4000000000000000</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_GROUP_A 0x4000000000000001</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_GROUP_B 0x4000000000000002</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_GROUP_C 0x4000000000000003</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_MIXER FMOD_THREAD_AFFINITY_GROUP_A</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_FEEDER FMOD_THREAD_AFFINITY_GROUP_C</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_STREAM FMOD_THREAD_AFFINITY_GROUP_C</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_FILE FMOD_THREAD_AFFINITY_GROUP_C</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_NONBLOCKING FMOD_THREAD_AFFINITY_GROUP_C</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_RECORD FMOD_THREAD_AFFINITY_GROUP_C</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_GEOMETRY FMOD_THREAD_AFFINITY_GROUP_C</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_PROFILER FMOD_THREAD_AFFINITY_GROUP_C</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_STUDIO_UPDATE FMOD_THREAD_AFFINITY_GROUP_B</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_STUDIO_LOAD_BANK FMOD_THREAD_AFFINITY_GROUP_C</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_STUDIO_LOAD_SAMPLE FMOD_THREAD_AFFINITY_GROUP_C</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_CORE_ALL 0</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_CORE_0 (1 << 0)</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_CORE_1 (1 << 1)</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_CORE_2 (1 << 2)</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_CORE_3 (1 << 3)</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_CORE_4 (1 << 4)</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_CORE_5 (1 << 5)</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_CORE_6 (1 << 6)</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_CORE_7 (1 << 7)</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_CORE_8 (1 << 8)</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_CORE_9 (1 << 9)</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_CORE_10 (1 << 10)</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_CORE_11 (1 << 11)</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_CORE_12 (1 << 12)</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_CORE_13 (1 << 13)</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_CORE_14 (1 << 14)</span>
|
|
<span class="cp">#define FMOD_THREAD_AFFINITY_CORE_15 (1 << 15)</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="na">[Flags]</span>
|
|
<span class="k">enum</span> <span class="n">THREAD_AFFINITY</span> <span class="p">:</span> <span class="kt">long</span>
|
|
<span class="p">{</span>
|
|
<span class="n">GROUP_DEFAULT</span> <span class="p">=</span> <span class="m">0</span><span class="n">x4000000000000000</span><span class="p">,</span>
|
|
<span class="n">GROUP_A</span> <span class="p">=</span> <span class="m">0</span><span class="n">x4000000000000001</span><span class="p">,</span>
|
|
<span class="n">GROUP_B</span> <span class="p">=</span> <span class="m">0</span><span class="n">x4000000000000002</span><span class="p">,</span>
|
|
<span class="n">GROUP_C</span> <span class="p">=</span> <span class="m">0</span><span class="n">x4000000000000003</span><span class="p">,</span>
|
|
<span class="n">MIXER</span> <span class="p">=</span> <span class="n">GROUP_A</span><span class="p">,</span>
|
|
<span class="n">FEEDER</span> <span class="p">=</span> <span class="n">GROUP_C</span><span class="p">,</span>
|
|
<span class="n">STREAM</span> <span class="p">=</span> <span class="n">GROUP_C</span><span class="p">,</span>
|
|
<span class="n">FILE</span> <span class="p">=</span> <span class="n">GROUP_C</span><span class="p">,</span>
|
|
<span class="n">NONBLOCKING</span> <span class="p">=</span> <span class="n">GROUP_C</span><span class="p">,</span>
|
|
<span class="n">RECORD</span> <span class="p">=</span> <span class="n">GROUP_C</span><span class="p">,</span>
|
|
<span class="n">GEOMETRY</span> <span class="p">=</span> <span class="n">GROUP_C</span><span class="p">,</span>
|
|
<span class="n">PROFILER</span> <span class="p">=</span> <span class="n">GROUP_C</span><span class="p">,</span>
|
|
<span class="n">STUDIO_UPDATE</span> <span class="p">=</span> <span class="n">GROUP_B</span><span class="p">,</span>
|
|
<span class="n">STUDIO_LOAD_BANK</span> <span class="p">=</span> <span class="n">GROUP_C</span><span class="p">,</span>
|
|
<span class="n">STUDIO_LOAD_SAMPLE</span> <span class="p">=</span> <span class="n">GROUP_C</span><span class="p">,</span>
|
|
<span class="n">CORE_ALL</span> <span class="p">=</span> <span class="m">0</span><span class="p">,</span>
|
|
<span class="n">CORE_0</span> <span class="p">=</span> <span class="m">1</span> <span class="p"><<</span> <span class="m">0</span><span class="p">,</span>
|
|
<span class="n">CORE_1</span> <span class="p">=</span> <span class="m">1</span> <span class="p"><<</span> <span class="m">1</span><span class="p">,</span>
|
|
<span class="n">CORE_2</span> <span class="p">=</span> <span class="m">1</span> <span class="p"><<</span> <span class="m">2</span><span class="p">,</span>
|
|
<span class="n">CORE_3</span> <span class="p">=</span> <span class="m">1</span> <span class="p"><<</span> <span class="m">3</span><span class="p">,</span>
|
|
<span class="n">CORE_4</span> <span class="p">=</span> <span class="m">1</span> <span class="p"><<</span> <span class="m">4</span><span class="p">,</span>
|
|
<span class="n">CORE_5</span> <span class="p">=</span> <span class="m">1</span> <span class="p"><<</span> <span class="m">5</span><span class="p">,</span>
|
|
<span class="n">CORE_6</span> <span class="p">=</span> <span class="m">1</span> <span class="p"><<</span> <span class="m">6</span><span class="p">,</span>
|
|
<span class="n">CORE_7</span> <span class="p">=</span> <span class="m">1</span> <span class="p"><<</span> <span class="m">7</span><span class="p">,</span>
|
|
<span class="n">CORE_8</span> <span class="p">=</span> <span class="m">1</span> <span class="p"><<</span> <span class="m">8</span><span class="p">,</span>
|
|
<span class="n">CORE_9</span> <span class="p">=</span> <span class="m">1</span> <span class="p"><<</span> <span class="m">9</span><span class="p">,</span>
|
|
<span class="n">CORE_10</span> <span class="p">=</span> <span class="m">1</span> <span class="p"><<</span> <span class="m">10</span><span class="p">,</span>
|
|
<span class="n">CORE_11</span> <span class="p">=</span> <span class="m">1</span> <span class="p"><<</span> <span class="m">11</span><span class="p">,</span>
|
|
<span class="n">CORE_12</span> <span class="p">=</span> <span class="m">1</span> <span class="p"><<</span> <span class="m">12</span><span class="p">,</span>
|
|
<span class="n">CORE_13</span> <span class="p">=</span> <span class="m">1</span> <span class="p"><<</span> <span class="m">13</span><span class="p">,</span>
|
|
<span class="n">CORE_14</span> <span class="p">=</span> <span class="m">1</span> <span class="p"><<</span> <span class="m">14</span><span class="p">,</span>
|
|
<span class="n">CORE_15</span> <span class="p">=</span> <span class="m">1</span> <span class="p"><<</span> <span class="m">15</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="admonition language-javascript">
|
|
<p>Not supported for JavaScript.</p>
|
|
</div>
|
|
<dl>
|
|
<dt id="fmod_thread_affinity_group_default">FMOD_THREAD_AFFINITY_GROUP_DEFAULT</dt>
|
|
<dd>For a given thread use the default listed below, i.e. <a class="apilink" href="core-api-common.html#fmod_thread_type_mixer">FMOD_THREAD_TYPE_MIXER</a> uses <a class="apilink" href="core-api-common.html#fmod_thread_affinity_mixer">FMOD_THREAD_AFFINITY_MIXER</a>.</dd>
|
|
<dt id="fmod_thread_affinity_group_a">FMOD_THREAD_AFFINITY_GROUP_A</dt>
|
|
<dd>Grouping A is recommended to isolate the mixer thread <a class="apilink" href="core-api-common.html#fmod_thread_type_mixer">FMOD_THREAD_TYPE_MIXER</a>.</dd>
|
|
<dt id="fmod_thread_affinity_group_b">FMOD_THREAD_AFFINITY_GROUP_B</dt>
|
|
<dd>Grouping B is recommended to isolate the Studio update thread <a class="apilink" href="core-api-common.html#fmod_thread_type_studio_update">FMOD_THREAD_TYPE_STUDIO_UPDATE</a>.</dd>
|
|
<dt id="fmod_thread_affinity_group_c">FMOD_THREAD_AFFINITY_GROUP_C</dt>
|
|
<dd>Grouping C is recommended for all remaining threads.</dd>
|
|
<dt id="fmod_thread_affinity_mixer">FMOD_THREAD_AFFINITY_MIXER</dt>
|
|
<dd>Default affinity for <a class="apilink" href="core-api-common.html#fmod_thread_type_mixer">FMOD_THREAD_TYPE_MIXER</a>.</dd>
|
|
<dt id="fmod_thread_affinity_feeder">FMOD_THREAD_AFFINITY_FEEDER</dt>
|
|
<dd>Default affinity for <a class="apilink" href="core-api-common.html#fmod_thread_type_feeder">FMOD_THREAD_TYPE_FEEDER</a>.</dd>
|
|
<dt id="fmod_thread_affinity_stream">FMOD_THREAD_AFFINITY_STREAM</dt>
|
|
<dd>Default affinity for <a class="apilink" href="core-api-common.html#fmod_thread_type_stream">FMOD_THREAD_TYPE_STREAM</a>.</dd>
|
|
<dt id="fmod_thread_affinity_file">FMOD_THREAD_AFFINITY_FILE</dt>
|
|
<dd>Default affinity for <a class="apilink" href="core-api-common.html#fmod_thread_type_file">FMOD_THREAD_TYPE_FILE</a>.</dd>
|
|
<dt id="fmod_thread_affinity_nonblocking">FMOD_THREAD_AFFINITY_NONBLOCKING</dt>
|
|
<dd>Default affinity for <a class="apilink" href="core-api-common.html#fmod_thread_type_nonblocking">FMOD_THREAD_TYPE_NONBLOCKING</a>.</dd>
|
|
<dt id="fmod_thread_affinity_record">FMOD_THREAD_AFFINITY_RECORD</dt>
|
|
<dd>Default affinity for <a class="apilink" href="core-api-common.html#fmod_thread_type_record">FMOD_THREAD_TYPE_RECORD</a>.</dd>
|
|
<dt id="fmod_thread_affinity_geometry">FMOD_THREAD_AFFINITY_GEOMETRY</dt>
|
|
<dd>Default affinity for <a class="apilink" href="core-api-common.html#fmod_thread_type_geometry">FMOD_THREAD_TYPE_GEOMETRY</a>.</dd>
|
|
<dt id="fmod_thread_affinity_profiler">FMOD_THREAD_AFFINITY_PROFILER</dt>
|
|
<dd>Default affinity for <a class="apilink" href="core-api-common.html#fmod_thread_type_profiler">FMOD_THREAD_TYPE_PROFILER</a>.</dd>
|
|
<dt id="fmod_thread_affinity_studio_update">FMOD_THREAD_AFFINITY_STUDIO_UPDATE</dt>
|
|
<dd>Default affinity for <a class="apilink" href="core-api-common.html#fmod_thread_type_studio_update">FMOD_THREAD_TYPE_STUDIO_UPDATE</a>.</dd>
|
|
<dt id="fmod_thread_affinity_studio_load_bank">FMOD_THREAD_AFFINITY_STUDIO_LOAD_BANK</dt>
|
|
<dd>Default affinity for <a class="apilink" href="core-api-common.html#fmod_thread_type_studio_load_bank">FMOD_THREAD_TYPE_STUDIO_LOAD_BANK</a>.</dd>
|
|
<dt id="fmod_thread_affinity_studio_load_sample">FMOD_THREAD_AFFINITY_STUDIO_LOAD_SAMPLE</dt>
|
|
<dd>Default affinity for <a class="apilink" href="core-api-common.html#fmod_thread_type_studio_load_sample">FMOD_THREAD_TYPE_STUDIO_LOAD_SAMPLE</a>.</dd>
|
|
<dt id="fmod_thread_affinity_convolution1">FMOD_THREAD_AFFINITY_CONVOLUTION1</dt>
|
|
<dd>Default affinity for <a class="apilink" href="core-api-common.html#fmod_thread_type_convolution1">FMOD_THREAD_TYPE_CONVOLUTION1</a>.</dd>
|
|
<dt id="fmod_thread_affinity_convolution2">FMOD_THREAD_AFFINITY_CONVOLUTION2</dt>
|
|
<dd>Default affinity for <a class="apilink" href="core-api-common.html#fmod_thread_type_convolution2">FMOD_THREAD_TYPE_CONVOLUTION2</a>.</dd>
|
|
<dt id="fmod_thread_affinity_core_all">FMOD_THREAD_AFFINITY_CORE_ALL</dt>
|
|
<dd>Assign to all cores.</dd>
|
|
<dt id="fmod_thread_affinity_core_0">FMOD_THREAD_AFFINITY_CORE_0</dt>
|
|
<dd>Assign to core 0.</dd>
|
|
<dt id="fmod_thread_affinity_core_1">FMOD_THREAD_AFFINITY_CORE_1</dt>
|
|
<dd>Assign to core 1.</dd>
|
|
<dt id="fmod_thread_affinity_core_2">FMOD_THREAD_AFFINITY_CORE_2</dt>
|
|
<dd>Assign to core 2.</dd>
|
|
<dt id="fmod_thread_affinity_core_3">FMOD_THREAD_AFFINITY_CORE_3</dt>
|
|
<dd>Assign to core 3.</dd>
|
|
<dt id="fmod_thread_affinity_core_4">FMOD_THREAD_AFFINITY_CORE_4</dt>
|
|
<dd>Assign to core 4.</dd>
|
|
<dt id="fmod_thread_affinity_core_5">FMOD_THREAD_AFFINITY_CORE_5</dt>
|
|
<dd>Assign to core 5.</dd>
|
|
<dt id="fmod_thread_affinity_core_6">FMOD_THREAD_AFFINITY_CORE_6</dt>
|
|
<dd>Assign to core 6.</dd>
|
|
<dt id="fmod_thread_affinity_core_7">FMOD_THREAD_AFFINITY_CORE_7</dt>
|
|
<dd>Assign to core 7.</dd>
|
|
<dt id="fmod_thread_affinity_core_8">FMOD_THREAD_AFFINITY_CORE_8</dt>
|
|
<dd>Assign to core 8.</dd>
|
|
<dt id="fmod_thread_affinity_core_9">FMOD_THREAD_AFFINITY_CORE_9</dt>
|
|
<dd>Assign to core 9.</dd>
|
|
<dt id="fmod_thread_affinity_core_10">FMOD_THREAD_AFFINITY_CORE_10</dt>
|
|
<dd>Assign to core 10.</dd>
|
|
<dt id="fmod_thread_affinity_core_11">FMOD_THREAD_AFFINITY_CORE_11</dt>
|
|
<dd>Assign to core 11.</dd>
|
|
<dt id="fmod_thread_affinity_core_12">FMOD_THREAD_AFFINITY_CORE_12</dt>
|
|
<dd>Assign to core 12.</dd>
|
|
<dt id="fmod_thread_affinity_core_13">FMOD_THREAD_AFFINITY_CORE_13</dt>
|
|
<dd>Assign to core 13.</dd>
|
|
<dt id="fmod_thread_affinity_core_14">FMOD_THREAD_AFFINITY_CORE_14</dt>
|
|
<dd>Assign to core 14.</dd>
|
|
<dt id="fmod_thread_affinity_core_15">FMOD_THREAD_AFFINITY_CORE_15</dt>
|
|
<dd>Assign to core 15.</dd>
|
|
</dl>
|
|
<p>The platform agnostic thread groups, A, B and C give recommendations about FMOD threads that should be separated from one another.<br />
|
|
Platforms with fixed CPU core counts will try to honor this request, those that don't will leave affinity to the operating system.<br />
|
|
See the FMOD platform specific docs for each platform to see how the groups map to cores.</p>
|
|
<p>If an explicit core affinity is given, i.e. <a class="apilink" href="core-api-common.html#fmod_thread_affinity_core_11">FMOD_THREAD_AFFINITY_CORE_11</a> and that core is unavailable a fatal error will be produced.</p>
|
|
<p>Explicit core assignment up to <code>(1 << 61)</code> is supported for platforms with that many cores.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-common.html#thread_setattributes">Thread_SetAttributes</a></p>
|
|
<h2 api="define" id="fmod_thread_priority"><a href="#fmod_thread_priority">FMOD_THREAD_PRIORITY</a></h2>
|
|
<p>Scheduling priority to assign a given thread to.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="cp">#define FMOD_THREAD_PRIORITY_PLATFORM_MIN (-32 * 1024)</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_PLATFORM_MAX ( 32 * 1024)</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_DEFAULT (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 1)</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_LOW (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 2)</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_MEDIUM (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 3)</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_HIGH (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 4)</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_VERY_HIGH (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 5)</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_EXTREME (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 6)</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_CRITICAL (FMOD_THREAD_PRIORITY_PLATFORM_MIN - 7)</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_MIXER FMOD_THREAD_PRIORITY_EXTREME</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_FEEDER FMOD_THREAD_PRIORITY_CRITICAL</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_STREAM FMOD_THREAD_PRIORITY_VERY_HIGH</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_FILE FMOD_THREAD_PRIORITY_HIGH</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_NONBLOCKING FMOD_THREAD_PRIORITY_HIGH</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_RECORD FMOD_THREAD_PRIORITY_HIGH</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_GEOMETRY FMOD_THREAD_PRIORITY_LOW</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_PROFILER FMOD_THREAD_PRIORITY_MEDIUM</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_STUDIO_UPDATE FMOD_THREAD_PRIORITY_MEDIUM</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_STUDIO_LOAD_BANK FMOD_THREAD_PRIORITY_MEDIUM</span>
|
|
<span class="cp">#define FMOD_THREAD_PRIORITY_STUDIO_LOAD_SAMPLE FMOD_THREAD_PRIORITY_MEDIUM</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">enum</span> <span class="n">THREAD_PRIORITY</span> <span class="p">:</span> <span class="kt">int</span>
|
|
<span class="p">{</span>
|
|
<span class="n">PLATFORM_MIN</span> <span class="p">=</span> <span class="p">-</span><span class="m">32</span> <span class="p">*</span> <span class="m">1024</span><span class="p">,</span>
|
|
<span class="n">PLATFORM_MAX</span> <span class="p">=</span> <span class="m">32</span> <span class="p">*</span> <span class="m">1024</span><span class="p">,</span>
|
|
<span class="n">DEFAULT</span> <span class="p">=</span> <span class="n">PLATFORM_MIN</span> <span class="p">-</span> <span class="m">1</span><span class="p">,</span>
|
|
<span class="n">LOW</span> <span class="p">=</span> <span class="n">PLATFORM_MIN</span> <span class="p">-</span> <span class="m">2</span><span class="p">,</span>
|
|
<span class="n">MEDIUM</span> <span class="p">=</span> <span class="n">PLATFORM_MIN</span> <span class="p">-</span> <span class="m">3</span><span class="p">,</span>
|
|
<span class="n">HIGH</span> <span class="p">=</span> <span class="n">PLATFORM_MIN</span> <span class="p">-</span> <span class="m">4</span><span class="p">,</span>
|
|
<span class="n">VERY_HIGH</span> <span class="p">=</span> <span class="n">PLATFORM_MIN</span> <span class="p">-</span> <span class="m">5</span><span class="p">,</span>
|
|
<span class="n">EXTREME</span> <span class="p">=</span> <span class="n">PLATFORM_MIN</span> <span class="p">-</span> <span class="m">6</span><span class="p">,</span>
|
|
<span class="n">CRITICAL</span> <span class="p">=</span> <span class="n">PLATFORM_MIN</span> <span class="p">-</span> <span class="m">7</span><span class="p">,</span>
|
|
<span class="n">MIXER</span> <span class="p">=</span> <span class="n">EXTREME</span><span class="p">,</span>
|
|
<span class="n">FEEDER</span> <span class="p">=</span> <span class="n">CRITICAL</span><span class="p">,</span>
|
|
<span class="n">STREAM</span> <span class="p">=</span> <span class="n">VERY_HIGH</span><span class="p">,</span>
|
|
<span class="n">FILE</span> <span class="p">=</span> <span class="n">HIGH</span><span class="p">,</span>
|
|
<span class="n">NONBLOCKING</span> <span class="p">=</span> <span class="n">HIGH</span><span class="p">,</span>
|
|
<span class="n">RECORD</span> <span class="p">=</span> <span class="n">HIGH</span><span class="p">,</span>
|
|
<span class="n">GEOMETRY</span> <span class="p">=</span> <span class="n">LOW</span><span class="p">,</span>
|
|
<span class="n">PROFILER</span> <span class="p">=</span> <span class="n">MEDIUM</span><span class="p">,</span>
|
|
<span class="n">STUDIO_UPDATE</span> <span class="p">=</span> <span class="n">MEDIUM</span><span class="p">,</span>
|
|
<span class="n">STUDIO_LOAD_BANK</span> <span class="p">=</span> <span class="n">MEDIUM</span><span class="p">,</span>
|
|
<span class="n">STUDIO_LOAD_SAMPLE</span> <span class="p">=</span> <span class="n">MEDIUM</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="admonition language-javascript">
|
|
<p>Not supported for JavaScript.</p>
|
|
</div>
|
|
<dl>
|
|
<dt id="fmod_thread_priority_platform_min">FMOD_THREAD_PRIORITY_PLATFORM_MIN</dt>
|
|
<dd>Lower bound of platform specific priority range.</dd>
|
|
<dt id="fmod_thread_priority_platform_max">FMOD_THREAD_PRIORITY_PLATFORM_MAX</dt>
|
|
<dd>Upper bound of platform specific priority range.</dd>
|
|
<dt id="fmod_thread_priority_default">FMOD_THREAD_PRIORITY_DEFAULT</dt>
|
|
<dd>For a given thread use the default listed below, i.e. <a class="apilink" href="core-api-common.html#fmod_thread_type_mixer">FMOD_THREAD_TYPE_MIXER</a> uses <a class="apilink" href="core-api-common.html#fmod_thread_priority_mixer">FMOD_THREAD_PRIORITY_MIXER</a>.</dd>
|
|
<dt id="fmod_thread_priority_low">FMOD_THREAD_PRIORITY_LOW</dt>
|
|
<dd>Low platform agnostic priority.</dd>
|
|
<dt id="fmod_thread_priority_medium">FMOD_THREAD_PRIORITY_MEDIUM</dt>
|
|
<dd>Medium platform agnostic priority.</dd>
|
|
<dt id="fmod_thread_priority_high">FMOD_THREAD_PRIORITY_HIGH</dt>
|
|
<dd>High platform agnostic priority.</dd>
|
|
<dt id="fmod_thread_priority_very_high">FMOD_THREAD_PRIORITY_VERY_HIGH</dt>
|
|
<dd>Very high platform agnostic priority.</dd>
|
|
<dt id="fmod_thread_priority_extreme">FMOD_THREAD_PRIORITY_EXTREME</dt>
|
|
<dd>Extreme platform agnostic priority.</dd>
|
|
<dt id="fmod_thread_priority_critical">FMOD_THREAD_PRIORITY_CRITICAL</dt>
|
|
<dd>Critical platform agnostic priority.</dd>
|
|
<dt id="fmod_thread_priority_mixer">FMOD_THREAD_PRIORITY_MIXER</dt>
|
|
<dd>Default priority for <a class="apilink" href="core-api-common.html#fmod_thread_type_mixer">FMOD_THREAD_TYPE_MIXER</a>.</dd>
|
|
<dt id="fmod_thread_priority_feeder">FMOD_THREAD_PRIORITY_FEEDER</dt>
|
|
<dd>Default priority for <a class="apilink" href="core-api-common.html#fmod_thread_type_feeder">FMOD_THREAD_TYPE_FEEDER</a>.</dd>
|
|
<dt id="fmod_thread_priority_stream">FMOD_THREAD_PRIORITY_STREAM</dt>
|
|
<dd>Default priority for <a class="apilink" href="core-api-common.html#fmod_thread_type_stream">FMOD_THREAD_TYPE_STREAM</a>.</dd>
|
|
<dt id="fmod_thread_priority_file">FMOD_THREAD_PRIORITY_FILE</dt>
|
|
<dd>Default priority for <a class="apilink" href="core-api-common.html#fmod_thread_type_file">FMOD_THREAD_TYPE_FILE</a>.</dd>
|
|
<dt id="fmod_thread_priority_nonblocking">FMOD_THREAD_PRIORITY_NONBLOCKING</dt>
|
|
<dd>Default priority for <a class="apilink" href="core-api-common.html#fmod_thread_type_nonblocking">FMOD_THREAD_TYPE_NONBLOCKING</a>.</dd>
|
|
<dt id="fmod_thread_priority_record">FMOD_THREAD_PRIORITY_RECORD</dt>
|
|
<dd>Default priority for <a class="apilink" href="core-api-common.html#fmod_thread_type_record">FMOD_THREAD_TYPE_RECORD</a>.</dd>
|
|
<dt id="fmod_thread_priority_geometry">FMOD_THREAD_PRIORITY_GEOMETRY</dt>
|
|
<dd>Default priority for <a class="apilink" href="core-api-common.html#fmod_thread_type_geometry">FMOD_THREAD_TYPE_GEOMETRY</a>.</dd>
|
|
<dt id="fmod_thread_priority_profiler">FMOD_THREAD_PRIORITY_PROFILER</dt>
|
|
<dd>Default priority for <a class="apilink" href="core-api-common.html#fmod_thread_type_profiler">FMOD_THREAD_TYPE_PROFILER</a>.</dd>
|
|
<dt id="fmod_thread_priority_studio_update">FMOD_THREAD_PRIORITY_STUDIO_UPDATE</dt>
|
|
<dd>Default priority for <a class="apilink" href="core-api-common.html#fmod_thread_type_studio_update">FMOD_THREAD_TYPE_STUDIO_UPDATE</a>.</dd>
|
|
<dt id="fmod_thread_priority_studio_load_bank">FMOD_THREAD_PRIORITY_STUDIO_LOAD_BANK</dt>
|
|
<dd>Default priority for <a class="apilink" href="core-api-common.html#fmod_thread_type_studio_load_bank">FMOD_THREAD_TYPE_STUDIO_LOAD_BANK</a>.</dd>
|
|
<dt id="fmod_thread_priority_studio_load_sample">FMOD_THREAD_PRIORITY_STUDIO_LOAD_SAMPLE</dt>
|
|
<dd>Default priority for <a class="apilink" href="core-api-common.html#fmod_thread_type_studio_load_sample">FMOD_THREAD_TYPE_STUDIO_LOAD_SAMPLE</a>.</dd>
|
|
<dt id="fmod_thread_priority_convolution1">FMOD_THREAD_PRIORITY_CONVOLUTION1</dt>
|
|
<dd>Default priority for <a class="apilink" href="core-api-common.html#fmod_thread_type_convolution1">FMOD_THREAD_TYPE_CONVOLUTION1</a>.</dd>
|
|
<dt id="fmod_thread_priority_convolution2">FMOD_THREAD_PRIORITY_CONVOLUTION2</dt>
|
|
<dd>Default priority for <a class="apilink" href="core-api-common.html#fmod_thread_type_convolution2">FMOD_THREAD_TYPE_CONVOLUTION2</a>.</dd>
|
|
</dl>
|
|
<p>The platform agnostic priorities are used to rank FMOD threads against one another for best runtime scheduling.<br />
|
|
Platforms will translate these values in to platform specific priorities.<br />
|
|
See the FMOD platform specific docs for each platform to see how the agnostic priorities map to specific values.</p>
|
|
<p>Explicit platform specific priorities can be given within the range of <a class="apilink" href="core-api-common.html#fmod_thread_priority_platform_min">FMOD_THREAD_PRIORITY_PLATFORM_MIN</a> to <a class="apilink" href="core-api-common.html#fmod_thread_priority_platform_max">FMOD_THREAD_PRIORITY_PLATFORM_MAX</a>.<br />
|
|
See platform documentation for details on the available priority values for a given operating system.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-common.html#thread_setattributes">Thread_SetAttributes</a></p>
|
|
<h2 api="function" id="thread_setattributes"><a href="#thread_setattributes">Thread_SetAttributes</a></h2>
|
|
<p>Specify the affinity, priority and stack size for all FMOD created threads.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="nf">Thread_SetAttributes</span><span class="p">(</span>
|
|
<span class="n">FMOD_THREAD_TYPE</span> <span class="n">type</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_AFFINITY</span> <span class="n">affinity</span> <span class="o">=</span> <span class="n">FMOD_THREAD_AFFINITY_GROUP_DEFAULT</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_PRIORITY</span> <span class="n">priority</span> <span class="o">=</span> <span class="n">FMOD_THREAD_PRIORITY_DEFAULT</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_STACK_SIZE</span> <span class="n">stacksize</span> <span class="o">=</span> <span class="n">FMOD_THREAD_STACK_SIZE_DEFAULT</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-c"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="nf">FMOD_Thread_SetAttributes</span><span class="p">(</span>
|
|
<span class="n">FMOD_THREAD_TYPE</span> <span class="n">type</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_AFFINITY</span> <span class="n">affinity</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_PRIORITY</span> <span class="n">priority</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_STACK_SIZE</span> <span class="n">stacksize</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">static</span> <span class="n">RESULT</span> <span class="n">Thread</span><span class="p">.</span><span class="n">SetAttributes</span><span class="p">(</span>
|
|
<span class="n">THREAD_TYPE</span> <span class="n">type</span><span class="p">,</span>
|
|
<span class="n">THREAD_AFFINITY</span> <span class="n">affinity</span> <span class="p">=</span> <span class="n">THREAD_AFFINITY</span><span class="p">.</span><span class="n">GROUP_DEFAULT</span><span class="p">,</span>
|
|
<span class="n">THREAD_PRIORITY</span> <span class="n">priority</span> <span class="p">=</span> <span class="n">THREAD_PRIORITY</span><span class="p">.</span><span class="n">DEFAULT</span><span class="p">,</span>
|
|
<span class="n">THREAD_STACK_SIZE</span> <span class="n">stacksize</span> <span class="p">=</span> <span class="n">THREAD_STACK_SIZE</span><span class="p">.</span><span class="n">DEFAULT</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="admonition language-javascript">
|
|
<p>Not supported for JavaScript.</p>
|
|
</div>
|
|
<dl>
|
|
<dt>type</dt>
|
|
<dd>Identifier for an FMOD thread. (<a class="apilink" href="core-api-common.html#fmod_thread_type">FMOD_THREAD_TYPE</a>)</dd>
|
|
<dt>affinity <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>Bitfield of desired CPU cores to assign the given thread to. (<a class="apilink" href="core-api-common.html#fmod_thread_affinity">FMOD_THREAD_AFFINITY</a>)</dd>
|
|
<dt>priority <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>Scheduling priority to assign the given thread to. (<a class="apilink" href="core-api-common.html#fmod_thread_priority">FMOD_THREAD_PRIORITY</a>)</dd>
|
|
<dt>stacksize <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>Amount of stack space available to the given thread. (<a class="apilink" href="core-api-common.html#fmod_thread_stack_size">FMOD_THREAD_STACK_SIZE</a>)</dd>
|
|
</dl>
|
|
<p>You must call this function for the chosen thread before that thread is created for the settings to take effect.</p>
|
|
<p>Affinity can be specified using one (or more) of the <a class="apilink" href="core-api-common.html#fmod_thread_affinity">FMOD_THREAD_AFFINITY</a> constants or by providing the bits explicitly, i.e. (1<<3) for logical core three (core affinity is zero based).<br />
|
|
See platform documentation for details on the available cores for a given device.</p>
|
|
<p>Priority can be specified using one of the <a class="apilink" href="core-api-common.html#fmod_thread_priority">FMOD_THREAD_PRIORITY</a> constants or by providing the value explicitly, i.e. (-2) for the lowest thread priority on Windows.<br />
|
|
See platform documentation for details on the available priority values for a given operating system.</p>
|
|
<p>Stack size can be specified explicitly, however for each thread you should provide a size equal to or larger than the expected default or risk causing a stack overflow at runtime.</p>
|
|
<h2 api="define" id="fmod_thread_stack_size"><a href="#fmod_thread_stack_size">FMOD_THREAD_STACK_SIZE</a></h2>
|
|
<p>Stack space available to the given thread.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="cp">#define FMOD_THREAD_STACK_SIZE_DEFAULT 0</span>
|
|
<span class="cp">#define FMOD_THREAD_STACK_SIZE_MIXER (80 * 1024)</span>
|
|
<span class="cp">#define FMOD_THREAD_STACK_SIZE_FEEDER (16 * 1024)</span>
|
|
<span class="cp">#define FMOD_THREAD_STACK_SIZE_STREAM (96 * 1024)</span>
|
|
<span class="cp">#define FMOD_THREAD_STACK_SIZE_FILE (64 * 1024)</span>
|
|
<span class="cp">#define FMOD_THREAD_STACK_SIZE_NONBLOCKING (112 * 1024)</span>
|
|
<span class="cp">#define FMOD_THREAD_STACK_SIZE_RECORD (16 * 1024)</span>
|
|
<span class="cp">#define FMOD_THREAD_STACK_SIZE_GEOMETRY (48 * 1024)</span>
|
|
<span class="cp">#define FMOD_THREAD_STACK_SIZE_PROFILER (128 * 1024)</span>
|
|
<span class="cp">#define FMOD_THREAD_STACK_SIZE_STUDIO_UPDATE (96 * 1024)</span>
|
|
<span class="cp">#define FMOD_THREAD_STACK_SIZE_STUDIO_LOAD_BANK (96 * 1024)</span>
|
|
<span class="cp">#define FMOD_THREAD_STACK_SIZE_STUDIO_LOAD_SAMPLE (96 * 1024)</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">enum</span> <span class="n">THREAD_STACK_SIZE</span> <span class="p">:</span> <span class="kt">uint</span>
|
|
<span class="p">{</span>
|
|
<span class="n">DEFAULT</span> <span class="p">=</span> <span class="m">0</span><span class="p">,</span>
|
|
<span class="n">MIXER</span> <span class="p">=</span> <span class="m">80</span> <span class="p">*</span> <span class="m">1024</span><span class="p">,</span>
|
|
<span class="n">FEEDER</span> <span class="p">=</span> <span class="m">16</span> <span class="p">*</span> <span class="m">1024</span><span class="p">,</span>
|
|
<span class="n">STREAM</span> <span class="p">=</span> <span class="m">96</span> <span class="p">*</span> <span class="m">1024</span><span class="p">,</span>
|
|
<span class="n">FILE</span> <span class="p">=</span> <span class="m">64</span> <span class="p">*</span> <span class="m">1024</span><span class="p">,</span>
|
|
<span class="n">NONBLOCKING</span> <span class="p">=</span> <span class="m">112</span> <span class="p">*</span> <span class="m">1024</span><span class="p">,</span>
|
|
<span class="n">RECORD</span> <span class="p">=</span> <span class="m">16</span> <span class="p">*</span> <span class="m">1024</span><span class="p">,</span>
|
|
<span class="n">GEOMETRY</span> <span class="p">=</span> <span class="m">48</span> <span class="p">*</span> <span class="m">1024</span><span class="p">,</span>
|
|
<span class="n">PROFILER</span> <span class="p">=</span> <span class="m">128</span> <span class="p">*</span> <span class="m">1024</span><span class="p">,</span>
|
|
<span class="n">STUDIO_UPDATE</span> <span class="p">=</span> <span class="m">96</span> <span class="p">*</span> <span class="m">1024</span><span class="p">,</span>
|
|
<span class="n">STUDIO_LOAD_BANK</span> <span class="p">=</span> <span class="m">96</span> <span class="p">*</span> <span class="m">1024</span><span class="p">,</span>
|
|
<span class="n">STUDIO_LOAD_SAMPLE</span> <span class="p">=</span> <span class="m">96</span> <span class="p">*</span> <span class="m">1024</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="admonition language-javascript">
|
|
<p>Not supported for JavaScript.</p>
|
|
</div>
|
|
<dl>
|
|
<dt id="fmod_thread_stack_size_default">FMOD_THREAD_STACK_SIZE_DEFAULT</dt>
|
|
<dd>For a given thread use the default listed below, i.e. <a class="apilink" href="core-api-common.html#fmod_thread_type_mixer">FMOD_THREAD_TYPE_MIXER</a> uses <a class="apilink" href="core-api-common.html#fmod_thread_stack_size_mixer">FMOD_THREAD_STACK_SIZE_MIXER</a>.</dd>
|
|
<dt id="fmod_thread_stack_size_mixer">FMOD_THREAD_STACK_SIZE_MIXER</dt>
|
|
<dd>Default stack size for <a class="apilink" href="core-api-common.html#fmod_thread_type_mixer">FMOD_THREAD_TYPE_MIXER</a>.</dd>
|
|
<dt id="fmod_thread_stack_size_feeder">FMOD_THREAD_STACK_SIZE_FEEDER</dt>
|
|
<dd>Default stack size for <a class="apilink" href="core-api-common.html#fmod_thread_type_feeder">FMOD_THREAD_TYPE_FEEDER</a>.</dd>
|
|
<dt id="fmod_thread_stack_size_stream">FMOD_THREAD_STACK_SIZE_STREAM</dt>
|
|
<dd>Default stack size for <a class="apilink" href="core-api-common.html#fmod_thread_type_stream">FMOD_THREAD_TYPE_STREAM</a>.</dd>
|
|
<dt id="fmod_thread_stack_size_file">FMOD_THREAD_STACK_SIZE_FILE</dt>
|
|
<dd>Default stack size for <a class="apilink" href="core-api-common.html#fmod_thread_type_file">FMOD_THREAD_TYPE_FILE</a>.</dd>
|
|
<dt id="fmod_thread_stack_size_nonblocking">FMOD_THREAD_STACK_SIZE_NONBLOCKING</dt>
|
|
<dd>Default stack size for <a class="apilink" href="core-api-common.html#fmod_thread_type_nonblocking">FMOD_THREAD_TYPE_NONBLOCKING</a>.</dd>
|
|
<dt id="fmod_thread_stack_size_record">FMOD_THREAD_STACK_SIZE_RECORD</dt>
|
|
<dd>Default stack size for <a class="apilink" href="core-api-common.html#fmod_thread_type_record">FMOD_THREAD_TYPE_RECORD</a>.</dd>
|
|
<dt id="fmod_thread_stack_size_geometry">FMOD_THREAD_STACK_SIZE_GEOMETRY</dt>
|
|
<dd>Default stack size for <a class="apilink" href="core-api-common.html#fmod_thread_type_geometry">FMOD_THREAD_TYPE_GEOMETRY</a>.</dd>
|
|
<dt id="fmod_thread_stack_size_profiler">FMOD_THREAD_STACK_SIZE_PROFILER</dt>
|
|
<dd>Default stack size for <a class="apilink" href="core-api-common.html#fmod_thread_type_profiler">FMOD_THREAD_TYPE_PROFILER</a>.</dd>
|
|
<dt id="fmod_thread_stack_size_studio_update">FMOD_THREAD_STACK_SIZE_STUDIO_UPDATE</dt>
|
|
<dd>Default stack size for <a class="apilink" href="core-api-common.html#fmod_thread_type_studio_update">FMOD_THREAD_TYPE_STUDIO_UPDATE</a>.</dd>
|
|
<dt id="fmod_thread_stack_size_studio_load_bank">FMOD_THREAD_STACK_SIZE_STUDIO_LOAD_BANK</dt>
|
|
<dd>Default stack size for <a class="apilink" href="core-api-common.html#fmod_thread_type_studio_load_bank">FMOD_THREAD_TYPE_STUDIO_LOAD_BANK</a>.</dd>
|
|
<dt id="fmod_thread_stack_size_studio_load_sample">FMOD_THREAD_STACK_SIZE_STUDIO_LOAD_SAMPLE</dt>
|
|
<dd>Default stack size for <a class="apilink" href="core-api-common.html#fmod_thread_type_studio_load_sample">FMOD_THREAD_TYPE_STUDIO_LOAD_SAMPLE</a>.</dd>
|
|
<dt id="fmod_thread_stack_size_convolution1">FMOD_THREAD_STACK_SIZE_CONVOLUTION1</dt>
|
|
<dd>Default stack size for <a class="apilink" href="core-api-common.html#fmod_thread_type_convolution1">FMOD_THREAD_TYPE_CONVOLUTION1</a>.</dd>
|
|
<dt id="fmod_thread_stack_size_convolution2">FMOD_THREAD_STACK_SIZE_CONVOLUTION2</dt>
|
|
<dd>Default stack size for <a class="apilink" href="core-api-common.html#fmod_thread_type_convolution2">FMOD_THREAD_TYPE_CONVOLUTION2</a>.</dd>
|
|
</dl>
|
|
<p>Stack size can be specified explicitly, however for each thread you should provide a size equal to or larger than the expected default or risk causing a stack overflow at runtime.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-common.html#thread_setattributes">Thread_SetAttributes</a></p>
|
|
<h2 api="enum" id="fmod_thread_type"><a href="#fmod_thread_type">FMOD_THREAD_TYPE</a></h2>
|
|
<p>Named constants for threads created at runtime.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="k">typedef</span> <span class="k">enum</span> <span class="n">FMOD_THREAD_TYPE</span> <span class="p">{</span>
|
|
<span class="n">FMOD_THREAD_TYPE_MIXER</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_TYPE_FEEDER</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_TYPE_STREAM</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_TYPE_FILE</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_TYPE_NONBLOCKING</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_TYPE_RECORD</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_TYPE_GEOMETRY</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_TYPE_PROFILER</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_TYPE_STUDIO_UPDATE</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_TYPE_STUDIO_LOAD_BANK</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_TYPE_STUDIO_LOAD_SAMPLE</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_TYPE_CONVOLUTION1</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_TYPE_CONVOLUTION2</span><span class="p">,</span>
|
|
<span class="n">FMOD_THREAD_TYPE_MAX</span>
|
|
<span class="p">}</span> <span class="n">FMOD_THREAD_TYPE</span><span class="p">;</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">enum</span> <span class="n">THREAD_TYPE</span> <span class="p">:</span> <span class="kt">int</span>
|
|
<span class="p">{</span>
|
|
<span class="n">MIXER</span><span class="p">,</span>
|
|
<span class="n">FEEDER</span><span class="p">,</span>
|
|
<span class="n">STREAM</span><span class="p">,</span>
|
|
<span class="n">FILE</span><span class="p">,</span>
|
|
<span class="n">NONBLOCKING</span><span class="p">,</span>
|
|
<span class="n">RECORD</span><span class="p">,</span>
|
|
<span class="n">GEOMETRY</span><span class="p">,</span>
|
|
<span class="n">PROFILER</span><span class="p">,</span>
|
|
<span class="n">STUDIO_UPDATE</span><span class="p">,</span>
|
|
<span class="n">STUDIO_LOAD_BANK</span><span class="p">,</span>
|
|
<span class="n">STUDIO_LOAD_SAMPLE</span><span class="p">,</span>
|
|
<span class="n">CONVOLUTION1</span><span class="p">,</span>
|
|
<span class="n">CONVOLUTION2</span><span class="p">,</span>
|
|
<span class="n">MAX</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="admonition language-javascript">
|
|
<p>Not supported for JavaScript.</p>
|
|
</div>
|
|
<dl>
|
|
<dt id="fmod_thread_type_mixer">FMOD_THREAD_TYPE_MIXER</dt>
|
|
<dd>Thread responsible for mixing and processing blocks of audio.</dd>
|
|
<dt id="fmod_thread_type_feeder">FMOD_THREAD_TYPE_FEEDER</dt>
|
|
<dd>Thread used by some output plug-ins for transferring buffered audio from <a class="apilink" href="core-api-common.html#fmod_thread_type_mixer">FMOD_THREAD_TYPE_MIXER</a> to the sound output device.</dd>
|
|
<dt id="fmod_thread_type_stream">FMOD_THREAD_TYPE_STREAM</dt>
|
|
<dd>Thread that decodes compressed audio to PCM for Sounds created as <a class="apilink" href="core-api-common.html#fmod_createstream">FMOD_CREATESTREAM</a>.</dd>
|
|
<dt id="fmod_thread_type_file">FMOD_THREAD_TYPE_FILE</dt>
|
|
<dd>Thread that reads compressed audio from disk to be consumed by <a class="apilink" href="core-api-common.html#fmod_thread_type_stream">FMOD_THREAD_TYPE_STREAM</a>.</dd>
|
|
<dt id="fmod_thread_type_nonblocking">FMOD_THREAD_TYPE_NONBLOCKING</dt>
|
|
<dd>Thread that processes the creation of Sounds asynchronously when opened with <a class="apilink" href="core-api-common.html#fmod_nonblocking">FMOD_NONBLOCKING</a>.</dd>
|
|
<dt id="fmod_thread_type_record">FMOD_THREAD_TYPE_RECORD</dt>
|
|
<dd>Thread used by some output plug-ins for transferring audio from a microphone to <a class="apilink" href="core-api-common.html#fmod_thread_type_mixer">FMOD_THREAD_TYPE_MIXER</a>.</dd>
|
|
<dt id="fmod_thread_type_geometry">FMOD_THREAD_TYPE_GEOMETRY</dt>
|
|
<dd>Thread used by the <a class="apilink" href="core-api-geometry.html">Geometry</a> system for performing background calculations.</dd>
|
|
<dt id="fmod_thread_type_profiler">FMOD_THREAD_TYPE_PROFILER</dt>
|
|
<dd>Thread for network communication when using <a class="apilink" href="core-api-system.html#fmod_init_profile_enable">FMOD_INIT_PROFILE_ENABLE</a>.</dd>
|
|
<dt id="fmod_thread_type_studio_update">FMOD_THREAD_TYPE_STUDIO_UPDATE</dt>
|
|
<dd>Thread for processing Studio API commands and scheduling sound playback.</dd>
|
|
<dt id="fmod_thread_type_studio_load_bank">FMOD_THREAD_TYPE_STUDIO_LOAD_BANK</dt>
|
|
<dd>Thread for asynchronously loading <a class="apilink" href="studio-api-bank.html">Studio::Bank</a> metadata.</dd>
|
|
<dt id="fmod_thread_type_studio_load_sample">FMOD_THREAD_TYPE_STUDIO_LOAD_SAMPLE</dt>
|
|
<dd>Thread for asynchronously loading <a class="apilink" href="studio-api-bank.html">Studio::Bank</a> sample data.</dd>
|
|
<dt id="fmod_thread_type_convolution1">FMOD_THREAD_TYPE_CONVOLUTION1</dt>
|
|
<dd>Thread for processing medium size delay lines for <a class="apilink" href="core-api-common-dsp-effects.html#fmod_dsp_type_convolutionreverb">FMOD_DSP_TYPE_CONVOLUTIONREVERB</a>.</dd>
|
|
<dt id="fmod_thread_type_convolution2">FMOD_THREAD_TYPE_CONVOLUTION2</dt>
|
|
<dd>Thread for processing larger size delay lines for <a class="apilink" href="core-api-common-dsp-effects.html#fmod_dsp_type_convolutionreverb">FMOD_DSP_TYPE_CONVOLUTIONREVERB</a>.</dd>
|
|
<dt id="fmod_thread_type_max">FMOD_THREAD_TYPE_MAX</dt>
|
|
<dd>Maximum number of thread types supported.</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-common.html#thread_setattributes">Thread_SetAttributes</a></p>
|
|
<h2 api="define" id="fmod_timeunit"><a href="#fmod_timeunit">FMOD_TIMEUNIT</a></h2>
|
|
<p>Time types used for position or length.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="cp">#define FMOD_TIMEUNIT_MS 0x00000001</span>
|
|
<span class="cp">#define FMOD_TIMEUNIT_PCM 0x00000002</span>
|
|
<span class="cp">#define FMOD_TIMEUNIT_PCMBYTES 0x00000004</span>
|
|
<span class="cp">#define FMOD_TIMEUNIT_RAWBYTES 0x00000008</span>
|
|
<span class="cp">#define FMOD_TIMEUNIT_PCMFRACTION 0x00000010</span>
|
|
<span class="cp">#define FMOD_TIMEUNIT_MODORDER 0x00000100</span>
|
|
<span class="cp">#define FMOD_TIMEUNIT_MODROW 0x00000200</span>
|
|
<span class="cp">#define FMOD_TIMEUNIT_MODPATTERN 0x00000400</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="na">[Flags]</span>
|
|
<span class="k">enum</span> <span class="n">TIMEUNIT</span> <span class="p">:</span> <span class="kt">uint</span>
|
|
<span class="p">{</span>
|
|
<span class="n">MS</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000001</span><span class="p">,</span>
|
|
<span class="n">PCM</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000002</span><span class="p">,</span>
|
|
<span class="n">PCMBYTES</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000004</span><span class="p">,</span>
|
|
<span class="n">RAWBYTES</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000008</span><span class="p">,</span>
|
|
<span class="n">PCMFRACTION</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000010</span><span class="p">,</span>
|
|
<span class="n">MODORDER</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000100</span><span class="p">,</span>
|
|
<span class="n">MODROW</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000200</span><span class="p">,</span>
|
|
<span class="n">MODPATTERN</span> <span class="p">=</span> <span class="m">0</span><span class="n">x00000400</span><span class="p">,</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">TIMEUNIT_MS</span> <span class="o">=</span> <span class="mh">0x00000001</span>
|
|
<span class="nx">TIMEUNIT_PCM</span> <span class="o">=</span> <span class="mh">0x00000002</span>
|
|
<span class="nx">TIMEUNIT_PCMBYTES</span> <span class="o">=</span> <span class="mh">0x00000004</span>
|
|
<span class="nx">TIMEUNIT_RAWBYTES</span> <span class="o">=</span> <span class="mh">0x00000008</span>
|
|
<span class="nx">TIMEUNIT_PCMFRACTION</span> <span class="o">=</span> <span class="mh">0x00000010</span>
|
|
<span class="nx">TIMEUNIT_MODORDER</span> <span class="o">=</span> <span class="mh">0x00000100</span>
|
|
<span class="nx">TIMEUNIT_MODROW</span> <span class="o">=</span> <span class="mh">0x00000200</span>
|
|
<span class="nx">TIMEUNIT_MODPATTERN</span> <span class="o">=</span> <span class="mh">0x00000400</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt id="fmod_timeunit_ms">FMOD_TIMEUNIT_MS</dt>
|
|
<dd>Milliseconds. </dd>
|
|
<dt id="fmod_timeunit_pcm">FMOD_TIMEUNIT_PCM</dt>
|
|
<dd>PCM samples, related to milliseconds * samplerate / 1000. </dd>
|
|
<dt id="fmod_timeunit_pcmbytes">FMOD_TIMEUNIT_PCMBYTES</dt>
|
|
<dd>Bytes, related to PCM samples * channels * datawidth (ie 16bit = 2 bytes). </dd>
|
|
<dt id="fmod_timeunit_rawbytes">FMOD_TIMEUNIT_RAWBYTES</dt>
|
|
<dd>Raw file bytes of (compressed) sound data (does not include headers). Only used by <a class="apilink" href="core-api-sound.html#sound_getlength">Sound::getLength</a> and <a class="apilink" href="core-api-channel.html#channel_getposition">Channel::getPosition</a>. </dd>
|
|
<dt id="fmod_timeunit_pcmfraction">FMOD_TIMEUNIT_PCMFRACTION</dt>
|
|
<dd>Fractions of 1 PCM sample. Unsigned int range 0 to 0xFFFFFFFF. Used for sub-sample granularity for <a href="glossary.html#dsp">DSP</a> purposes. </dd>
|
|
<dt id="fmod_timeunit_modorder">FMOD_TIMEUNIT_MODORDER</dt>
|
|
<dd>MOD/S3M/XM/IT. Order in a sequenced module format. Use <a class="apilink" href="core-api-sound.html#sound_getformat">Sound::getFormat</a> to determine the PCM format being decoded to. </dd>
|
|
<dt id="fmod_timeunit_modrow">FMOD_TIMEUNIT_MODROW</dt>
|
|
<dd>MOD/S3M/XM/IT. Current row in a sequenced module format. Cannot use with <a class="apilink" href="core-api-channel.html#channel_setposition">Channel::setPosition</a>. <a class="apilink" href="core-api-sound.html#sound_getlength">Sound::getLength</a> will return the number of rows in the currently playing or seeked to pattern. </dd>
|
|
<dt id="fmod_timeunit_modpattern">FMOD_TIMEUNIT_MODPATTERN</dt>
|
|
<dd>MOD/S3M/XM/IT. Current pattern in a sequenced module format. Cannot use with <a class="apilink" href="core-api-channel.html#channel_setposition">Channel::setPosition</a>. <a class="apilink" href="core-api-sound.html#sound_getlength">Sound::getLength</a> will return the number of patterns in the song and <a class="apilink" href="core-api-channel.html#channel_getposition">Channel::getPosition</a> will return the currently playing pattern. </dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-sound.html#sound_getlength">Sound::getLength</a>, <a class="apilink" href="core-api-channel.html#channel_setposition">Channel::setPosition</a>, <a class="apilink" href="core-api-channel.html#channel_getposition">Channel::getPosition</a></p>
|
|
<h2 api="struct" id="fmod_vector"><a href="#fmod_vector">FMOD_VECTOR</a></h2>
|
|
<p>Structure describing a point in 3D space.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="k">typedef</span> <span class="k">struct</span> <span class="n">FMOD_VECTOR</span> <span class="p">{</span>
|
|
<span class="kt">float</span> <span class="n">x</span><span class="p">;</span>
|
|
<span class="kt">float</span> <span class="n">y</span><span class="p">;</span>
|
|
<span class="kt">float</span> <span class="n">z</span><span class="p">;</span>
|
|
<span class="p">}</span> <span class="n">FMOD_VECTOR</span><span class="p">;</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">struct</span> <span class="nc">VECTOR</span>
|
|
<span class="p">{</span>
|
|
<span class="kt">float</span> <span class="n">x</span><span class="p">;</span>
|
|
<span class="kt">float</span> <span class="n">y</span><span class="p">;</span>
|
|
<span class="kt">float</span> <span class="n">z</span><span class="p">;</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">FMOD_VECTOR</span>
|
|
<span class="p">{</span>
|
|
<span class="nx">x</span><span class="p">,</span>
|
|
<span class="nx">y</span><span class="p">,</span>
|
|
<span class="nx">z</span><span class="p">,</span>
|
|
<span class="p">};</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt id="fmod_vector_x">x</dt>
|
|
<dd>X coordinate in 3D space.</dd>
|
|
<dt id="fmod_vector_y">y</dt>
|
|
<dd>Y coordinate in 3D space.</dd>
|
|
<dt id="fmod_vector_z">z</dt>
|
|
<dd>Z coordinate in 3D space.</dd>
|
|
</dl>
|
|
<p>FMOD uses a left handed coordinate system by default.</p>
|
|
<p>To use a right handed coordinate system specify <a class="apilink" href="core-api-system.html#fmod_init_3d_righthanded">FMOD_INIT_3D_RIGHTHANDED</a> from <a class="apilink" href="core-api-system.html#fmod_initflags">FMOD_INITFLAGS</a> in <a class="apilink" href="core-api-system.html#system_init">System::init</a>.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-system.html#system_set3dlistenerattributes">System::set3DListenerAttributes</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dattributes">ChannelControl::set3DAttributes</a></p>
|
|
<h2 api="define" id="fmod_version"><a href="#fmod_version">FMOD_VERSION</a></h2>
|
|
<p>Current FMOD version number.</p>
|
|
<p>
|
|
<div class="language-selector">
|
|
<div class="language-tab" data-language="language-c">C</div>
|
|
<div class="language-tab" data-language="language-cpp">C++</div>
|
|
<div class="language-tab" data-language="language-csharp">C#</div>
|
|
<div class="language-tab" data-language="language-javascript">JS</div>
|
|
</div>
|
|
</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="cp">#define FMOD_VERSION ...</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">class</span> <span class="nc">VERSION</span>
|
|
<span class="p">{</span>
|
|
<span class="k">const</span> <span class="kt">int</span> <span class="n">number</span> <span class="p">=</span> <span class="p">...;</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="admonition language-javascript">
|
|
<p>Not supported for JavaScript.</p>
|
|
</div>
|
|
<dl>
|
|
<dt id="fmod_version">FMOD_VERSION</dt>
|
|
<dd>Current FMOD version number.</dd>
|
|
</dl>
|
|
<p>The version is a 32 bit hexadecimal value formatted as 16:8:8, with the upper 16 bits being the product version, the middle 8 bits being the major version and the bottom 8 bits being the minor version. For example a value of 0x00010203 is equal to 1.02.03.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="studio-api-system.html#studio_system_create">Studio::System::create</a>, <a class="apilink" href="core-api-system.html#system_getversion">System::getVersion</a></p></div>
|
|
|
|
<p class="manual-footer">FMOD Engine User Manual 2.03.07 (2025-04-02). © 2025 Firelight Technologies Pty Ltd.</p>
|
|
</body>
|
|
</html>
|
|
|
|
</div>
|