4008 lines
284 KiB
HTML
4008 lines
284 KiB
HTML
<html>
|
|
<head>
|
|
<title>Core API Reference | ChannelControl</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><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 class="manual-current-chapter manual-active-chapter"><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 | ChannelControl</h1>
|
|
<p>An interface that represents the shared APIs between <a class="apilink" href="core-api-channel.html">Channel</a> and <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a>.</p>
|
|
<p><strong>Playback:</strong></p>
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_isplaying" title="Retrieves the playing state.">ChannelControl::isPlaying</a> Retrieves the playing state.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_stop" title="Stops the Channel (or all Channels in nested ChannelGroups) from playing.">ChannelControl::stop</a> Stops the Channel (or all Channels in nested ChannelGroups) from playing.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpaused" title="Sets the paused state.">ChannelControl::setPaused</a> Sets the paused state.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getpaused" title="Retrieves the paused state.">ChannelControl::getPaused</a> Retrieves the paused state.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmode" title="Sets the playback mode that controls how this object behaves.">ChannelControl::setMode</a> Sets the playback mode that controls how this object behaves.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getmode" title="Retrieves the playback mode bits that control how this object behaves.">ChannelControl::getMode</a> Retrieves the playback mode bits that control how this object behaves.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpitch" title="Sets the relative pitch / playback rate.">ChannelControl::setPitch</a> Sets the relative pitch / playback rate.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getpitch" title="Retrieves the relative pitch / playback rate.">ChannelControl::getPitch</a> Retrieves the relative pitch / playback rate.</span></li>
|
|
</ul>
|
|
<p><strong>Volume levels:</strong></p>
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getaudibility" title="Gets the calculated audibility based on all attenuation factors which contribute to the final output volume.">ChannelControl::getAudibility</a> Gets the calculated audibility based on all attenuation factors which contribute to the final output volume.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setvolume" title="Sets the volume level.">ChannelControl::setVolume</a> Sets the volume level.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getvolume" title="Retrieves the volume level.">ChannelControl::getVolume</a> Retrieves the volume level.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setvolumeramp" title="Sets whether volume changes are ramped or instantaneous.">ChannelControl::setVolumeRamp</a> Sets whether volume changes are ramped or instantaneous.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getvolumeramp" title="Retrieves whether volume changes are ramped or instantaneous.">ChannelControl::getVolumeRamp</a> Retrieves whether volume changes are ramped or instantaneous.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmute" title="Sets the mute state.">ChannelControl::setMute</a> Sets the mute state.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getmute" title="Retrieves the mute state.">ChannelControl::getMute</a> Retrieves the mute state.</span></li>
|
|
</ul>
|
|
<p><strong>Spatialization:</strong></p>
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dattributes" title="Sets the 3D position and velocity used to apply panning, attenuation and doppler.">ChannelControl::set3DAttributes</a> Sets the 3D position and velocity used to apply panning, attenuation and doppler.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3dattributes" title="Retrieves the 3D position and velocity used to apply panning, attenuation and doppler.">ChannelControl::get3DAttributes</a> Retrieves the 3D position and velocity used to apply panning, attenuation and doppler.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dconeorientation" title="Sets the orientation of a 3D cone shape, used for simulated occlusion.">ChannelControl::set3DConeOrientation</a> Sets the orientation of a 3D cone shape, used for simulated occlusion.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3dconeorientation" title="Retrieves the orientation of a 3D cone shape, used for simulated occlusion.">ChannelControl::get3DConeOrientation</a> Retrieves the orientation of a 3D cone shape, used for simulated occlusion.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dconesettings" title="Sets the angles and attenuation levels of a 3D cone shape, for simulated occlusion which is based on direction.">ChannelControl::set3DConeSettings</a> Sets the angles and attenuation levels of a 3D cone shape, for simulated occlusion which is based on direction.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3dconesettings" title="Retrieves the angles and attenuation levels of a 3D cone shape, for simulated occlusion which is based on direction.">ChannelControl::get3DConeSettings</a> Retrieves the angles and attenuation levels of a 3D cone shape, for simulated occlusion which is based on direction.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dcustomrolloff" title="Sets a custom roll-off shape for 3D distance attenuation.">ChannelControl::set3DCustomRolloff</a> Sets a custom roll-off shape for 3D distance attenuation.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3dcustomrolloff" title="Retrieves the current custom roll-off shape for 3D distance attenuation.">ChannelControl::get3DCustomRolloff</a> Retrieves the current custom roll-off shape for 3D distance attenuation.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3ddistancefilter" title="Sets an override value for the 3D distance filter.">ChannelControl::set3DDistanceFilter</a> Sets an override value for the 3D distance filter.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3ddistancefilter" title="Retrieves the override values for the 3D distance filter.">ChannelControl::get3DDistanceFilter</a> Retrieves the override values for the 3D distance filter.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3ddopplerlevel" title="Sets the amount by which doppler is scaled.">ChannelControl::set3DDopplerLevel</a> Sets the amount by which doppler is scaled.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3ddopplerlevel" title="Retrieves the amount by which doppler is scaled.">ChannelControl::get3DDopplerLevel</a> Retrieves the amount by which doppler is scaled.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dlevel" title="Sets the blend between 3D panning and 2D panning.">ChannelControl::set3DLevel</a> Sets the blend between 3D panning and 2D panning.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3dlevel" title="Retrieves the blend between 3D panning and 2D panning.">ChannelControl::get3DLevel</a> Retrieves the blend between 3D panning and 2D panning.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dminmaxdistance" title="Sets the minimum and maximum distances used to calculate the 3D roll-off attenuation.">ChannelControl::set3DMinMaxDistance</a> Sets the minimum and maximum distances used to calculate the 3D roll-off attenuation.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3dminmaxdistance" title="Retrieves the minimum and maximum distances used to calculate the 3D roll-off attenuation.">ChannelControl::get3DMinMaxDistance</a> Retrieves the minimum and maximum distances used to calculate the 3D roll-off attenuation.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3docclusion" title="Sets the 3D attenuation factors for the direct and reverb paths.">ChannelControl::set3DOcclusion</a> Sets the 3D attenuation factors for the direct and reverb paths.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3docclusion" title="Retrieves the 3D attenuation factors for the direct and reverb paths.">ChannelControl::get3DOcclusion</a> Retrieves the 3D attenuation factors for the direct and reverb paths.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dspread" title="Sets the spread of a 3D sound in speaker space.">ChannelControl::set3DSpread</a> Sets the spread of a 3D sound in speaker space.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3dspread" title="Retrieves the spread of a 3D sound in speaker space.">ChannelControl::get3DSpread</a> Retrieves the spread of a 3D sound in speaker space.</span></li>
|
|
</ul>
|
|
<p><strong>Panning and level adjustment:</strong></p>
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpan" title="Sets the left/right pan level.">ChannelControl::setPan</a> Sets the left/right pan level.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixlevelsinput" title="Sets the incoming volume level for each channel of a multi-channel signal.">ChannelControl::setMixLevelsInput</a> Sets the incoming volume level for each channel of a multi-channel <a href="glossary.html#signal">signal</a>.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixlevelsoutput" title="Sets the outgoing volume levels for each speaker.">ChannelControl::setMixLevelsOutput</a> Sets the outgoing volume levels for each speaker.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixmatrix" title="Sets a two-dimensional pan matrix that maps the signal from input channels (columns) to output speakers (rows).">ChannelControl::setMixMatrix</a> Sets a two-dimensional pan matrix that maps the <a href="glossary.html#signal">signal</a> from input channels (columns) to output speakers (rows).</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getmixmatrix" title="Retrieves a 2 dimensional pan matrix that maps the signal from input channels (columns) to output speakers (rows).">ChannelControl::getMixMatrix</a> Retrieves a 2 dimensional pan matrix that maps the <a href="glossary.html#signal">signal</a> from input channels (columns) to output speakers (rows).</span></li>
|
|
</ul>
|
|
<p><strong>Filtering:</strong></p>
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setreverbproperties" title="Sets the wet / send level for a particular reverb instance.">ChannelControl::setReverbProperties</a> Sets the wet / send level for a particular reverb instance.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getreverbproperties" title="Retrieves the wet / send level for a particular reverb instance.">ChannelControl::getReverbProperties</a> Retrieves the wet / send level for a particular reverb instance.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setlowpassgain" title="Sets the gain of the dry signal when built in lowpass / distance filtering is applied.">ChannelControl::setLowPassGain</a> Sets the gain of the dry <a href="glossary.html#signal">signal</a> when built in lowpass / distance filtering is applied.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getlowpassgain" title="Retrieves the gain of the dry signal when built in lowpass / distance filtering is applied.">ChannelControl::getLowPassGain</a> Retrieves the gain of the dry <a href="glossary.html#signal">signal</a> when built in lowpass / distance filtering is applied.</span></li>
|
|
</ul>
|
|
<p><strong>DSP chain configuration:</strong></p>
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_adddsp" title="Adds a DSP unit to the specified index in the DSP chain.">ChannelControl::addDSP</a> Adds a <a href="glossary.html#dsp">DSP unit</a> to the specified index in the <a href="glossary.html#dsp-chain">DSP chain</a>.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_removedsp" title="Removes the specified DSP unit from the DSP chain.">ChannelControl::removeDSP</a> Removes the specified <a href="glossary.html#dsp">DSP unit</a> from the <a href="glossary.html#dsp-chain">DSP chain</a>.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getnumdsps" title="Retrieves the number of DSP units in the DSP chain.">ChannelControl::getNumDSPs</a> Retrieves the number of <a href="glossary.html#dsp">DSP units</a> in the <a href="glossary.html#dsp-chain">DSP chain</a>.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getdsp" title="Retrieves the DSP unit at the specified index in the DSP chain.">ChannelControl::getDSP</a> Retrieves the <a href="glossary.html#dsp">DSP unit</a> at the specified index in the <a href="glossary.html#dsp-chain">DSP chain</a>.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setdspindex" title="Sets the index in the DSP chain of the specified DSP.">ChannelControl::setDSPIndex</a> Sets the index in the <a href="glossary.html#dsp-chain">DSP chain</a> of the specified <a href="glossary.html#dsp">DSP</a>.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getdspindex" title="Retrieves the index of a DSP inside the Channel or ChannelGroup's DSP chain.">ChannelControl::getDSPIndex</a> Retrieves the index of a <a href="glossary.html#dsp">DSP</a> inside the <a href="core-api-channel.html">Channel</a> or <a href="core-api-channelgroup.html">ChannelGroup</a>'s <a href="glossary.html#dsp-chain">DSP chain</a>.</span></li>
|
|
</ul>
|
|
<hr />
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#fmod_channelcontrol_dsp_index" title="References to built-in DSP positions that reside in a Channel or ChannelGroup's DSP chain.">FMOD_CHANNELCONTROL_DSP_INDEX</a> References to built-in <a href="glossary.html#dsp">DSP</a> positions that reside in a <a href="core-api-channel.html">Channel</a> or <a href="core-api-channelgroup.html">ChannelGroup</a>'s <a href="glossary.html#dsp-chain">DSP chain</a>.</span></li>
|
|
</ul>
|
|
<p><strong>Sample accurate scheduling:</strong></p>
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getdspclock" title="Retrieves the DSP clock values at this point in time.">ChannelControl::getDSPClock</a> Retrieves the <a href="glossary.html#dsp-clock">DSP clock</a> values at this point in time.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setdelay" title="Sets a sample accurate start (and/or stop) time relative to the parent ChannelGroup DSP clock.">ChannelControl::setDelay</a> Sets a sample accurate start (and/or stop) time relative to the parent ChannelGroup <a href="glossary.html#dsp-clock">DSP clock</a>.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getdelay" title="Retrieves a sample accurate start (and/or stop) time relative to the parent ChannelGroup DSP clock.">ChannelControl::getDelay</a> Retrieves a sample accurate start (and/or stop) time relative to the parent ChannelGroup <a href="glossary.html#dsp-clock">DSP clock</a>.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_addfadepoint" title="Adds a sample accurate fade point at a time relative to the parent ChannelGroup DSP clock.">ChannelControl::addFadePoint</a> Adds a sample accurate fade point at a time relative to the parent ChannelGroup <a href="glossary.html#dsp-clock">DSP clock</a>.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setfadepointramp" title="Adds a volume ramp at the specified time in the future using fade points.">ChannelControl::setFadePointRamp</a> Adds a volume ramp at the specified time in the future using fade points.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_removefadepoints" title="Removes all fade points between the two specified clock values (inclusive).">ChannelControl::removeFadePoints</a> Removes all fade points between the two specified clock values (inclusive).</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getfadepoints" title="Retrieves information about stored fade points.">ChannelControl::getFadePoints</a> Retrieves information about stored fade points.</span></li>
|
|
</ul>
|
|
<p><strong>General:</strong></p>
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setcallback" title="Sets the callback for ChannelControl level notifications.">ChannelControl::setCallback</a> Sets the callback for ChannelControl level notifications.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setuserdata" title="Sets a user value associated with this object.">ChannelControl::setUserData</a> Sets a user value associated with this object.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getuserdata" title="Retrieves a user value associated with this object.">ChannelControl::getUserData</a> Retrieves a user value associated with this object.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getsystemobject" title="Retrieves the System that created this object.">ChannelControl::getSystemObject</a> Retrieves the System that created this object.</span></li>
|
|
</ul>
|
|
<hr />
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#fmod_channelcontrol_callback" title="Callback for Channel or ChannelGroup notifications.">FMOD_CHANNELCONTROL_CALLBACK</a> Callback for Channel or ChannelGroup notifications.</span></li>
|
|
</ul>
|
|
<hr />
|
|
<ul>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#fmod_channelcontrol_type" title="Identifier used to distinguish between Channel and ChannelGroup in the ChannelControl callback.">FMOD_CHANNELCONTROL_TYPE</a> Identifier used to distinguish between Channel and ChannelGroup in the ChannelControl callback.</span></li>
|
|
<li><span><a class="apilink" href="core-api-channelcontrol.html#fmod_channelcontrol_callback_type" title="Types of callbacks called by Channels and ChannelGroups.">FMOD_CHANNELCONTROL_CALLBACK_TYPE</a> Types of callbacks called by Channels and ChannelGroups.</span></li>
|
|
</ul>
|
|
<h2 api="function" id="channelcontrol_adddsp"><a href="#channelcontrol_adddsp">ChannelControl::addDSP</a></h2>
|
|
<p>Adds a <a href="glossary.html#dsp">DSP unit</a> to the specified index in the <a href="glossary.html#dsp-chain">DSP chain</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-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="n">ChannelControl</span><span class="o">::</span><span class="n">addDSP</span><span class="p">(</span>
|
|
<span class="kt">int</span> <span class="n">index</span><span class="p">,</span>
|
|
<span class="n">DSP</span> <span class="o">*</span><span class="n">dsp</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_Channel_AddDSP</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">index</span><span class="p">,</span>
|
|
<span class="n">FMOD_DSP</span> <span class="o">*</span><span class="n">dsp</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_AddDSP</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">index</span><span class="p">,</span>
|
|
<span class="n">FMOD_DSP</span> <span class="o">*</span><span class="n">dsp</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">addDSP</span><span class="p">(</span>
|
|
<span class="kt">int</span> <span class="n">index</span><span class="p">,</span>
|
|
<span class="n">DSP</span> <span class="n">dsp</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">addDSP</span><span class="p">(</span>
|
|
<span class="nx">index</span><span class="p">,</span>
|
|
<span class="nx">dsp</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">addDSP</span><span class="p">(</span>
|
|
<span class="nx">index</span><span class="p">,</span>
|
|
<span class="nx">dsp</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>index</dt>
|
|
<dd>
|
|
<p>Offset into the <a href="glossary.html#dsp-chain">DSP chain</a>, see <a class="apilink" href="core-api-channelcontrol.html#fmod_channelcontrol_dsp_index">FMOD_CHANNELCONTROL_DSP_INDEX</a> for special named offsets for 'head' and 'tail' and 'fader' units.</p>
|
|
<ul>
|
|
<li><span class="label">Range:</span> [0, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getnumdsps">ChannelControl::getNumDSPs</a>)</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>dsp</dt>
|
|
<dd>DSP unit to be added. (<a class="apilink" href="core-api-dsp.html">DSP</a>)</dd>
|
|
</dl>
|
|
<p>If <code>dsp</code> is already added to an existing object it will be removed and then added to this object.</p>
|
|
<p>For detailed information on FMOD's <a href="glossary.html#dsp-graph">DSP graph</a>, read the <a href="white-papers-dsp-architecture.html">DSP Architecture and Usage</a> white paper.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_removedsp">ChannelControl::removeDSP</a>, <a class="apilink" href="core-api-system.html#system_createdsp">System::createDSP</a>, <a class="apilink" href="core-api-system.html#system_createdspbytype">System::createDSPByType</a>, <a class="apilink" href="core-api-system.html#system_createdspbyplugin">System::createDSPByPlugin</a></p>
|
|
<h2 api="function" id="channelcontrol_addfadepoint"><a href="#channelcontrol_addfadepoint">ChannelControl::addFadePoint</a></h2>
|
|
<p>Adds a sample accurate fade point at a time relative to the parent ChannelGroup <a href="glossary.html#dsp-clock">DSP clock</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-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="n">ChannelControl</span><span class="o">::</span><span class="n">addFadePoint</span><span class="p">(</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">dspclock</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">volume</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_Channel_AddFadePoint</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">dspclock</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">volume</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_AddFadePoint</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">dspclock</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">volume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">addFadePoint</span><span class="p">(</span>
|
|
<span class="kt">ulong</span> <span class="n">dspclock</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">volume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">addFadePoint</span><span class="p">(</span>
|
|
<span class="nx">dspclock</span><span class="p">,</span>
|
|
<span class="nx">volume</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">addFadePoint</span><span class="p">(</span>
|
|
<span class="nx">dspclock</span><span class="p">,</span>
|
|
<span class="nx">volume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>dspclock</dt>
|
|
<dd>
|
|
<p><a href="glossary.html#dsp-clock">DSP clock</a> of the parent <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> to set the fade point volume.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Samples</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>volume</dt>
|
|
<dd>
|
|
<p>Volume level at the given <code>dspclock</code>. Values above 1.0 amplify the <a href="glossary.html#signal">signal</a>.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> [0, inf)</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>Fade points are scaled against other volume settings and in-between each fade point the volume will be linearly ramped.</p>
|
|
<p>To perform sample accurate fading use <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getdspclock">ChannelControl::getDSPClock</a> to query the parent clock value. If a parent <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> changes its pitch, the fade points will still be correct as the parent clock rate is adjusted by that pitch.</p>
|
|
<div class="highlight language-c"><pre><span></span><span class="cm">/* Example. Ramp from full volume to half volume over the next 4096 samples */</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">parentclock</span><span class="p">;</span>
|
|
<span class="n">FMOD_ChannelControl_GetDSPClock</span><span class="p">(</span><span class="n">target</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&</span><span class="n">parentclock</span><span class="p">);</span>
|
|
<span class="n">FMOD_ChannelControl_AddFadePoint</span><span class="p">(</span><span class="n">target</span><span class="p">,</span> <span class="n">parentclock</span><span class="p">,</span> <span class="mf">1.0f</span><span class="p">);</span>
|
|
<span class="n">FMOD_ChannelControl_AddFadePoint</span><span class="p">(</span><span class="n">target</span><span class="p">,</span> <span class="n">parentclock</span> <span class="o">+</span> <span class="mi">4096</span><span class="p">,</span> <span class="mf">0.5f</span><span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-cpp"><pre><span></span><span class="c1">// Example. Ramp from full volume to half volume over the next 4096 samples</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">parentclock</span><span class="p">;</span>
|
|
<span class="n">target</span><span class="o">-></span><span class="n">getDSPClock</span><span class="p">(</span><span class="k">nullptr</span><span class="p">,</span> <span class="o">&</span><span class="n">parentclock</span><span class="p">);</span>
|
|
<span class="n">target</span><span class="o">-></span><span class="n">addFadePoint</span><span class="p">(</span><span class="n">parentclock</span><span class="p">,</span> <span class="mf">1.0f</span><span class="p">);</span>
|
|
<span class="n">target</span><span class="o">-></span><span class="n">addFadePoint</span><span class="p">(</span><span class="n">parentclock</span> <span class="o">+</span> <span class="mi">4096</span><span class="p">,</span> <span class="mf">0.5f</span><span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_removefadepoints">ChannelControl::removeFadePoints</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setfadepointramp">ChannelControl::setFadePointRamp</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getfadepoints">ChannelControl::getFadePoints</a></p>
|
|
<h2 api="callback" id="fmod_channelcontrol_callback"><a href="#fmod_channelcontrol_callback">FMOD_CHANNELCONTROL_CALLBACK</a></h2>
|
|
<p>Callback for Channel or ChannelGroup notifications.</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_CHANNELCONTROL_CALLBACK</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELCONTROL</span> <span class="o">*</span><span class="n">channelcontrol</span><span class="p">,</span>
|
|
<span class="n">FMOD_CHANNELCONTROL_TYPE</span> <span class="n">controltype</span><span class="p">,</span>
|
|
<span class="n">FMOD_CHANNELCONTROL_CALLBACK_TYPE</span> <span class="n">callbacktype</span><span class="p">,</span>
|
|
<span class="kt">void</span> <span class="o">*</span><span class="n">commanddata1</span><span class="p">,</span>
|
|
<span class="kt">void</span> <span class="o">*</span><span class="n">commanddata2</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">CHANNELCONTROL_CALLBACK</span><span class="p">(</span>
|
|
<span class="n">IntPtr</span> <span class="n">channelcontrol</span><span class="p">,</span>
|
|
<span class="n">CHANNELCONTROL_TYPE</span> <span class="n">controltype</span><span class="p">,</span>
|
|
<span class="n">CHANNELCONTROL_CALLBACK_TYPE</span> <span class="n">callbacktype</span><span class="p">,</span>
|
|
<span class="n">IntPtr</span> <span class="n">commanddata1</span><span class="p">,</span>
|
|
<span class="n">IntPtr</span> <span class="n">commanddata2</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="kd">function</span> <span class="nx">FMOD_CHANNELCONTROL_CALLBACK</span><span class="p">(</span>
|
|
<span class="nx">channelcontrol</span><span class="p">,</span>
|
|
<span class="nx">controltype</span><span class="p">,</span>
|
|
<span class="nx">callbacktype</span><span class="p">,</span>
|
|
<span class="nx">commanddata1</span><span class="p">,</span>
|
|
<span class="nx">commanddata2</span>
|
|
<span class="p">)</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>channelcontrol</dt>
|
|
<dd>Base <a class="apilink" href="core-api-channel.html">Channel</a> or <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> handle. (<a class="apilink" href="core-api-channelcontrol.html">ChannelControl</a>)</dd>
|
|
<dt>controltype</dt>
|
|
<dd>Identifier to distinguish between <a class="apilink" href="core-api-channel.html">Channel</a> and <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a>. (<a class="apilink" href="core-api-channelcontrol.html#fmod_channelcontrol_type">FMOD_CHANNELCONTROL_TYPE</a>)</dd>
|
|
<dt>callbacktype</dt>
|
|
<dd>Type of callback. (<a class="apilink" href="core-api-channelcontrol.html#fmod_channelcontrol_callback_type">FMOD_CHANNELCONTROL_CALLBACK_TYPE</a>)</dd>
|
|
<dt>commanddata1 <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>First callback parameter, see <a class="apilink" href="core-api-channelcontrol.html#fmod_channelcontrol_callback_type">FMOD_CHANNELCONTROL_CALLBACK_TYPE</a> for details.</dd>
|
|
<dt>commanddata2 <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>Second callback parameter, see <a class="apilink" href="core-api-channelcontrol.html#fmod_channelcontrol_callback_type">FMOD_CHANNELCONTROL_CALLBACK_TYPE</a> for details.</dd>
|
|
</dl>
|
|
<div class="admonition language-cpp">
|
|
<p>The 'channelcontrol' argument can be cast to <code>FMOD::Channel *</code> or <code>FMOD::ChannelGroup *</code> given <code>controltype</code>.</p>
|
|
</div>
|
|
<div class="admonition language-c">
|
|
<p>The 'channelcontrol' argument can be cast to <code>FMOD_CHANNEL *</code> or <code>FMOD_CHANNELGROUP *</code> given <code>controltype</code>.</p>
|
|
</div>
|
|
<div class="admonition language-csharp">
|
|
<p>The 'channelcontrol' argument can be used via <code>Channel</code> or <code>ChannelGroup</code> by using <code>FMOD.Channel channel = new FMOD.Channel(channelcontrol);</code></p>
|
|
</div>
|
|
<p><strong>See Also:</strong> <a href="glossary.html#callback-behavior">Callback Behavior</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setcallback">ChannelControl::setCallback</a></p>
|
|
<h2 api="enum" id="fmod_channelcontrol_callback_type"><a href="#fmod_channelcontrol_callback_type">FMOD_CHANNELCONTROL_CALLBACK_TYPE</a></h2>
|
|
<p>Types of callbacks called by Channels and ChannelGroups.</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_CHANNELCONTROL_CALLBACK_TYPE</span> <span class="p">{</span>
|
|
<span class="n">FMOD_CHANNELCONTROL_CALLBACK_END</span><span class="p">,</span>
|
|
<span class="n">FMOD_CHANNELCONTROL_CALLBACK_VIRTUALVOICE</span><span class="p">,</span>
|
|
<span class="n">FMOD_CHANNELCONTROL_CALLBACK_SYNCPOINT</span><span class="p">,</span>
|
|
<span class="n">FMOD_CHANNELCONTROL_CALLBACK_OCCLUSION</span><span class="p">,</span>
|
|
<span class="n">FMOD_CHANNELCONTROL_CALLBACK_MAX</span>
|
|
<span class="p">}</span> <span class="n">FMOD_CHANNELCONTROL_CALLBACK_TYPE</span><span class="p">;</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">enum</span> <span class="n">CHANNELCONTROL_CALLBACK_TYPE</span> <span class="p">:</span> <span class="kt">int</span>
|
|
<span class="p">{</span>
|
|
<span class="n">END</span><span class="p">,</span>
|
|
<span class="n">VIRTUALVOICE</span><span class="p">,</span>
|
|
<span class="n">SYNCPOINT</span><span class="p">,</span>
|
|
<span class="n">OCCLUSION</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">CHANNELCONTROL_CALLBACK_END</span>
|
|
<span class="nx">CHANNELCONTROL_CALLBACK_VIRTUALVOICE</span>
|
|
<span class="nx">CHANNELCONTROL_CALLBACK_SYNCPOINT</span>
|
|
<span class="nx">CHANNELCONTROL_CALLBACK_OCCLUSION</span>
|
|
<span class="nx">CHANNELCONTROL_CALLBACK_MAX</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt id="fmod_channelcontrol_callback_end">FMOD_CHANNELCONTROL_CALLBACK_END</dt>
|
|
<dd>Called when a sound ends. Supported by <a class="apilink" href="core-api-channel.html">Channel</a> only.<br />
|
|
<code>commanddata1</code>: Unused.<br />
|
|
<code>commanddata2</code>: Unused.</dd>
|
|
<dt id="fmod_channelcontrol_callback_virtualvoice">FMOD_CHANNELCONTROL_CALLBACK_VIRTUALVOICE</dt>
|
|
<dd>Called when a <a class="apilink" href="core-api-channel.html">Channel</a> is made virtual or real. Supported by <a class="apilink" href="core-api-channel.html">Channel</a> objects only.<br />
|
|
<code>commanddata1</code>: (int) 0 represents 'virtual to real' and 1 represents 'real to virtual'.<br />
|
|
<code>commanddata2</code>: Unused.</dd>
|
|
<dt id="fmod_channelcontrol_callback_syncpoint">FMOD_CHANNELCONTROL_CALLBACK_SYNCPOINT</dt>
|
|
<dd>Called when a syncpoint is encountered. Can be from wav file markers or user added. Supported by <a class="apilink" href="core-api-channel.html">Channel</a> only.<br />
|
|
<code>commanddata1</code>: (int) representing the index of the sync point for use with <a class="apilink" href="core-api-sound.html#sound_getsyncpointinfo">Sound::getSyncPointInfo</a>.<br />
|
|
<code>commanddata2</code>: Unused.</dd>
|
|
<dt id="fmod_channelcontrol_callback_occlusion">FMOD_CHANNELCONTROL_CALLBACK_OCCLUSION</dt>
|
|
<dd>Called when geometry occlusion values are calculated. Can be used to clamp or change the value. Supported by <a class="apilink" href="core-api-channel.html">Channel</a> and <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a>.<br />
|
|
<code>commanddata1</code>: (float *) representing the calculated direct occlusion value, can be modified.<br />
|
|
<code>commanddata2</code>: (float *) representing the calculated reverb occlusion value, can be modified.</dd>
|
|
<dt id="fmod_channelcontrol_callback_max">FMOD_CHANNELCONTROL_CALLBACK_MAX</dt>
|
|
<dd>Maximum number of callback types supported.</dd>
|
|
</dl>
|
|
<p><code>commanddata1</code> and <code>commanddata2</code> are parameters passed into the callback and each callback may interpret them differently as specified above. See <a class="apilink" href="core-api-channelcontrol.html#fmod_channelcontrol_callback">FMOD_CHANNELCONTROL_CALLBACK</a>.</p>
|
|
<p>Callbacks are called from the game thread when set from the Core API or Studio API in synchronous mode, and from the Studio Update Thread when in default / async mode.</p>
|
|
<p><strong>See Also:</strong> <a href="glossary.html#callback-behavior">Callback Behavior</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setcallback">ChannelControl::setCallback</a></p>
|
|
<h2 api="enum" id="fmod_channelcontrol_dsp_index"><a href="#fmod_channelcontrol_dsp_index">FMOD_CHANNELCONTROL_DSP_INDEX</a></h2>
|
|
<p>References to built-in <a href="glossary.html#dsp">DSP</a> positions that reside in a <a href="core-api-channel.html">Channel</a> or <a href="core-api-channelgroup.html">ChannelGroup</a>'s <a href="glossary.html#dsp-chain">DSP chain</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_CHANNELCONTROL_DSP_INDEX</span> <span class="p">{</span>
|
|
<span class="n">FMOD_CHANNELCONTROL_DSP_HEAD</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
|
|
<span class="n">FMOD_CHANNELCONTROL_DSP_FADER</span> <span class="o">=</span> <span class="o">-</span><span class="mi">2</span><span class="p">,</span>
|
|
<span class="n">FMOD_CHANNELCONTROL_DSP_TAIL</span> <span class="o">=</span> <span class="o">-</span><span class="mi">3</span>
|
|
<span class="p">}</span> <span class="n">FMOD_CHANNELCONTROL_DSP_INDEX</span><span class="p">;</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">struct</span> <span class="nc">CHANNELCONTROL_DSP_INDEX</span>
|
|
<span class="p">{</span>
|
|
<span class="k">const</span> <span class="kt">int</span> <span class="n">HEAD</span> <span class="p">=</span> <span class="p">-</span><span class="m">1</span><span class="p">;</span>
|
|
<span class="k">const</span> <span class="kt">int</span> <span class="n">FADER</span> <span class="p">=</span> <span class="p">-</span><span class="m">2</span><span class="p">;</span>
|
|
<span class="k">const</span> <span class="kt">int</span> <span class="n">TAIL</span> <span class="p">=</span> <span class="p">-</span><span class="m">3</span><span class="p">;</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">CHANNELCONTROL_DSP_HEAD</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
|
|
<span class="nx">CHANNELCONTROL_DSP_FADER</span> <span class="o">=</span> <span class="o">-</span><span class="mi">2</span>
|
|
<span class="nx">CHANNELCONTROL_DSP_TAIL</span> <span class="o">=</span> <span class="o">-</span><span class="mi">3</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt id="fmod_channelcontrol_dsp_head">FMOD_CHANNELCONTROL_DSP_HEAD</dt>
|
|
<dd>Head of the <a href="glossary.html#dsp-chain">DSP chain</a>, closest to the output, equivalent of index 0.</dd>
|
|
<dt id="fmod_channelcontrol_dsp_fader">FMOD_CHANNELCONTROL_DSP_FADER</dt>
|
|
<dd>Built-in <a href="effects-reference.html#fader">fader DSP</a>.</dd>
|
|
<dt id="fmod_channelcontrol_dsp_tail">FMOD_CHANNELCONTROL_DSP_TAIL</dt>
|
|
<dd>Tail of the <a href="glossary.html#dsp-chain">DSP chain</a>, closest to the input, equivalent of the number of <a class="apilink" href="core-api-dsp.html">DSP</a>s minus 1.</dd>
|
|
</dl>
|
|
<p>Before any <a class="apilink" href="core-api-dsp.html">DSP</a>s have been added by the user, there is only one <a class="apilink" href="core-api-dsp.html">DSP</a> available for a <a class="apilink" href="core-api-channel.html">Channel</a> or <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a>. This is of type <a class="apilink" href="core-api-common-dsp-effects.html#fmod_dsp_type_fader">FMOD_DSP_TYPE_FADER</a>. This handles volume and panning for a <a class="apilink" href="core-api-channel.html">Channel</a> or <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a>.<br />
|
|
As only 1 <a class="apilink" href="core-api-dsp.html">DSP</a> exists by default, initially <code>CHANNELCONTROL_DSP_HEAD</code>, <code>CHANNELCONTROL_DSP_TAIL</code> and <code>CHANNELCONTROL_DSP_FADER</code> all reference the same <a class="apilink" href="core-api-dsp.html">DSP</a>.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getdsp">ChannelControl::getDSP</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getnumdsps">ChannelControl::getNumDSPs</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setdspindex">ChannelControl::setDSPIndex</a></p>
|
|
<h2 api="function" id="channelcontrol_get3dattributes"><a href="#channelcontrol_get3dattributes">ChannelControl::get3DAttributes</a></h2>
|
|
<p>Retrieves the 3D position and velocity used to apply panning, attenuation and doppler.</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="n">ChannelControl</span><span class="o">::</span><span class="n">get3DAttributes</span><span class="p">(</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">pos</span><span class="p">,</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">vel</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_Channel_Get3DAttributes</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">pos</span><span class="p">,</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">vel</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Get3DAttributes</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">pos</span><span class="p">,</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">vel</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">get3DAttributes</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="n">VECTOR</span> <span class="n">pos</span><span class="p">,</span>
|
|
<span class="k">out</span> <span class="n">VECTOR</span> <span class="n">vel</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">get3DAttributes</span><span class="p">(</span>
|
|
<span class="nx">pos</span><span class="p">,</span>
|
|
<span class="nx">vel</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">get3DAttributes</span><span class="p">(</span>
|
|
<span class="nx">pos</span><span class="p">,</span>
|
|
<span class="nx">vel</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>pos <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>
|
|
<p>Position in 3D 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>vel <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>
|
|
<p>Velocity in 3D 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>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dattributes">ChannelControl::set3DAttributes</a></p>
|
|
<h2 api="function" id="channelcontrol_get3dconeorientation"><a href="#channelcontrol_get3dconeorientation">ChannelControl::get3DConeOrientation</a></h2>
|
|
<p>Retrieves the orientation of a 3D cone shape, used for simulated occlusion.</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="n">ChannelControl</span><span class="o">::</span><span class="n">get3DConeOrientation</span><span class="p">(</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">orientation</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_Channel_Get3DConeOrientation</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">orientation</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Get3DConeOrientation</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">orientation</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">get3DConeOrientation</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="n">VECTOR</span> <span class="n">orientation</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">get3DConeOrientation</span><span class="p">(</span>
|
|
<span class="nx">orientation</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">get3DConeOrientation</span><span class="p">(</span>
|
|
<span class="nx">orientation</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>orientation <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>
|
|
<p>Normalized orientation vector, which represents the direction of the sound cone. (<a class="apilink" href="core-api-common.html#fmod_vector">FMOD_VECTOR</a>)</p>
|
|
<ul>
|
|
<li><span class="label">Default:</span> (0, 0, 1)</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dconeorientation">ChannelControl::set3DConeOrientation</a></p>
|
|
<h2 api="function" id="channelcontrol_get3dconesettings"><a href="#channelcontrol_get3dconesettings">ChannelControl::get3DConeSettings</a></h2>
|
|
<p>Retrieves the angles and attenuation levels of a 3D cone shape, for simulated occlusion which is based on direction.</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="n">ChannelControl</span><span class="o">::</span><span class="n">get3DConeSettings</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">insideconeangle</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">outsideconeangle</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">outsidevolume</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_Channel_Get3DConeSettings</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">insideconeangle</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">outsideconeangle</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">outsidevolume</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Get3DConeSettings</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">insideconeangle</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">outsideconeangle</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">outsidevolume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">get3DConeSettings</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">float</span> <span class="n">insideconeangle</span><span class="p">,</span>
|
|
<span class="k">out</span> <span class="kt">float</span> <span class="n">outsideconeangle</span><span class="p">,</span>
|
|
<span class="k">out</span> <span class="kt">float</span> <span class="n">outsidevolume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">get3DConeSettings</span><span class="p">(</span>
|
|
<span class="nx">insideconeangle</span><span class="p">,</span>
|
|
<span class="nx">outsideconeangle</span><span class="p">,</span>
|
|
<span class="nx">outsidevolume</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">get3DConeSettings</span><span class="p">(</span>
|
|
<span class="nx">insideconeangle</span><span class="p">,</span>
|
|
<span class="nx">outsideconeangle</span><span class="p">,</span>
|
|
<span class="nx">outsidevolume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>insideconeangle <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>
|
|
<p>Inside cone angle. This is the angle spread within which the sound is unattenuated.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Degrees</li>
|
|
<li><span class="label">Range:</span> [0, 360]</li>
|
|
<li><span class="label">Default:</span> 360</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>outsideconeangle <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>
|
|
<p>Outside cone angle. This is the angle spread outside of which the sound is attenuated to its <code>outsidevolume</code>.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Degrees</li>
|
|
<li><span class="label">Range:</span> [0, 360]</li>
|
|
<li><span class="label">Default:</span> 360</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>outsidevolume <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>
|
|
<p>Cone outside volume.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> [0, 1]</li>
|
|
<li><span class="label">Default:</span> 1</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>When <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dconeorientation">ChannelControl::set3DConeOrientation</a> is used and a 3D 'cone' is set up, attenuation will automatically occur for a sound based on the relative angle of the direction the cone is facing, vs the angle between the sound and the listener.</p>
|
|
<ul>
|
|
<li>If the relative angle is within the <code>insideconeangle</code>, the sound will not have any attenuation applied.</li>
|
|
<li>If the relative angle is between the <code>insideconeangle</code> and <code>outsideconeangle</code>, linear volume attenuation (between 1 and <code>outsidevolume</code>) is applied between the two angles until it reaches the <code>outsideconeangle</code>.</li>
|
|
<li>If the relative angle is outside of the <code>outsideconeangle</code> the volume does not attenuate any further.</li>
|
|
</ul>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dconesettings">ChannelControl::set3DConeSettings</a></p>
|
|
<h2 api="function" id="channelcontrol_get3dcustomrolloff"><a href="#channelcontrol_get3dcustomrolloff">ChannelControl::get3DCustomRolloff</a></h2>
|
|
<p>Retrieves the current custom roll-off shape for 3D distance attenuation.</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="n">ChannelControl</span><span class="o">::</span><span class="n">get3DCustomRolloff</span><span class="p">(</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="o">**</span><span class="n">points</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">numpoints</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_Channel_Get3DCustomRolloff</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="o">**</span><span class="n">points</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">numpoints</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Get3DCustomRolloff</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="o">**</span><span class="n">points</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">numpoints</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">get3DCustomRolloff</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="n">IntPtr</span> <span class="n">points</span><span class="p">,</span>
|
|
<span class="k">out</span> <span class="kt">int</span> <span class="n">numpoints</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">get3DCustomRolloff</span><span class="p">(</span>
|
|
<span class="nx">points</span><span class="p">,</span>
|
|
<span class="nx">numpoints</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">get3DCustomRolloff</span><span class="p">(</span>
|
|
<span class="nx">points</span><span class="p">,</span>
|
|
<span class="nx">numpoints</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>points <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>
|
|
<p>Array of vectors sorted by distance, where <code>x</code> = distance and <code>y</code> = volume from 0 to 1. <code>z</code> is unused. (<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>numpoints <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>Number of entries in the <code>points</code> array.</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dcustomrolloff">ChannelControl::set3DCustomRolloff</a></p>
|
|
<h2 api="function" id="channelcontrol_get3ddistancefilter"><a href="#channelcontrol_get3ddistancefilter">ChannelControl::get3DDistanceFilter</a></h2>
|
|
<p>Retrieves the override values for the 3D distance filter.</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="n">ChannelControl</span><span class="o">::</span><span class="n">get3DDistanceFilter</span><span class="p">(</span>
|
|
<span class="kt">bool</span> <span class="o">*</span><span class="n">custom</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">customLevel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">centerFreq</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_Channel_Get3DDistanceFilter</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="o">*</span><span class="n">custom</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">customLevel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">centerFreq</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Get3DDistanceFilter</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="o">*</span><span class="n">custom</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">customLevel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">centerFreq</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">get3DDistanceFilter</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">bool</span> <span class="n">custom</span><span class="p">,</span>
|
|
<span class="k">out</span> <span class="kt">float</span> <span class="n">customLevel</span><span class="p">,</span>
|
|
<span class="k">out</span> <span class="kt">float</span> <span class="n">centerFreq</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">get3DDistanceFilter</span><span class="p">(</span>
|
|
<span class="nx">custom</span><span class="p">,</span>
|
|
<span class="nx">customLevel</span><span class="p">,</span>
|
|
<span class="nx">centerFreq</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">get3DDistanceFilter</span><span class="p">(</span>
|
|
<span class="nx">custom</span><span class="p">,</span>
|
|
<span class="nx">customLevel</span><span class="p">,</span>
|
|
<span class="nx">centerFreq</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>custom <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>
|
|
<p>Override automatic distance filtering and use <code>customLevel</code> instead.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Boolean</li>
|
|
<li><span class="label">Default:</span> False</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>customLevel <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>
|
|
<p>Attenuation factor where 1 represents no attenuation and 0 represents complete attenuation.</p>
|
|
<ul>
|
|
<li><span class="label">Range:</span> [0, 1]</li>
|
|
<li><span class="label">Default:</span> 1</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>centerFreq <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>
|
|
<p>Center frequency of the band-pass filter used to simulate distance attenuation, 0 for default of <a class="apilink" href="core-api-system.html#fmod_advancedsettings_distancefiltercenterfreq">FMOD_ADVANCEDSETTINGS::distanceFilterCenterFreq</a>.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Hertz</li>
|
|
<li><span class="label">Range:</span> [10, 22050]</li>
|
|
<li><span class="label">Default:</span> <a class="apilink" href="core-api-system.html#fmod_advancedsettings_distancefiltercenterfreq">FMOD_ADVANCEDSETTINGS::distanceFilterCenterFreq</a></li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3ddistancefilter">ChannelControl::set3DDistanceFilter</a></p>
|
|
<h2 api="function" id="channelcontrol_get3ddopplerlevel"><a href="#channelcontrol_get3ddopplerlevel">ChannelControl::get3DDopplerLevel</a></h2>
|
|
<p>Retrieves the amount by which doppler is scaled.</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="n">ChannelControl</span><span class="o">::</span><span class="n">get3DDopplerLevel</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">level</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_Channel_Get3DDopplerLevel</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">level</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Get3DDopplerLevel</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">level</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">get3DDopplerLevel</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">float</span> <span class="n">level</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">get3DDopplerLevel</span><span class="p">(</span>
|
|
<span class="nx">level</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">get3DDopplerLevel</span><span class="p">(</span>
|
|
<span class="nx">level</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>level <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>
|
|
<p>Doppler scale where 0 represents no doppler, 1 represents natural doppler and 5 represents exaggerated doppler.</p>
|
|
<ul>
|
|
<li><span class="label">Range:</span> [0, 5]</li>
|
|
<li><span class="label">Default:</span> 1</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3ddopplerlevel">ChannelControl::set3DDopplerLevel</a></p>
|
|
<h2 api="function" id="channelcontrol_get3dlevel"><a href="#channelcontrol_get3dlevel">ChannelControl::get3DLevel</a></h2>
|
|
<p>Retrieves the blend between 3D panning and 2D panning.</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="n">ChannelControl</span><span class="o">::</span><span class="n">get3DLevel</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">level</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_Channel_Get3DLevel</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">level</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Get3DLevel</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">level</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">get3DLevel</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">float</span> <span class="n">level</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">get3DLevel</span><span class="p">(</span>
|
|
<span class="nx">level</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">get3DLevel</span><span class="p">(</span>
|
|
<span class="nx">level</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>level <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>
|
|
<p>3D pan level where 0 represents panning/attenuating solely with 2D panning functions and 1 represents solely 3D.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> [0, 1]</li>
|
|
<li><span class="label">Default:</span> 1</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>The <a class="apilink" href="core-api-common.html#fmod_3d">FMOD_3D</a> flag must be set on this object otherwise <a class="apilink" href="core-api-common.html#fmod_err_needs3d">FMOD_ERR_NEEDS3D</a> is returned.</p>
|
|
<p>2D functions include:</p>
|
|
<ul>
|
|
<li><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpan">ChannelControl::setPan</a></li>
|
|
<li><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixlevelsoutput">ChannelControl::setMixLevelsOutput</a></li>
|
|
<li><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixlevelsinput">ChannelControl::setMixLevelsInput</a></li>
|
|
<li><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixmatrix">ChannelControl::setMixMatrix</a></li>
|
|
</ul>
|
|
<p>3D functions include:</p>
|
|
<ul>
|
|
<li><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dattributes">ChannelControl::set3DAttributes</a></li>
|
|
<li><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dconeorientation">ChannelControl::set3DConeOrientation</a></li>
|
|
<li><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dcustomrolloff">ChannelControl::set3DCustomRolloff</a></li>
|
|
</ul>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dlevel">ChannelControl::set3DLevel</a></p>
|
|
<h2 api="function" id="channelcontrol_get3dminmaxdistance"><a href="#channelcontrol_get3dminmaxdistance">ChannelControl::get3DMinMaxDistance</a></h2>
|
|
<p>Retrieves the minimum and maximum distances used to calculate the 3D roll-off attenuation.</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="n">ChannelControl</span><span class="o">::</span><span class="n">get3DMinMaxDistance</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">mindistance</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">maxdistance</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_Channel_Get3DMinMaxDistance</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">mindistance</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">maxdistance</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Get3DMinMaxDistance</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">mindistance</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">maxdistance</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">get3DMinMaxDistance</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">float</span> <span class="n">mindistance</span><span class="p">,</span>
|
|
<span class="k">out</span> <span class="kt">float</span> <span class="n">maxdistance</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">get3DMinMaxDistance</span><span class="p">(</span>
|
|
<span class="nx">mindistance</span><span class="p">,</span>
|
|
<span class="nx">maxdistance</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">get3DMinMaxDistance</span><span class="p">(</span>
|
|
<span class="nx">mindistance</span><span class="p">,</span>
|
|
<span class="nx">maxdistance</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>mindistance <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>
|
|
<p>Distance from the source where attenuation begins.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> <a href="glossary.html#distance-units">Distance units</a></li>
|
|
<li><span class="label">Range:</span> [0, inf)</li>
|
|
<li><span class="label">Default:</span> 1</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>maxdistance <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>
|
|
<p>Distance from the source where attenuation ends.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> <a href="glossary.html#distance-units">Distance units</a></li>
|
|
<li><span class="label">Range:</span> [<code>mindistance</code>, inf)</li>
|
|
<li><span class="label">Default:</span> 1</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dminmaxdistance">ChannelControl::set3DMinMaxDistance</a>, <a class="apilink" href="core-api-system.html#system_set3dsettings">System::set3DSettings</a></p>
|
|
<h2 api="function" id="channelcontrol_get3docclusion"><a href="#channelcontrol_get3docclusion">ChannelControl::get3DOcclusion</a></h2>
|
|
<p>Retrieves the 3D attenuation factors for the direct and reverb paths.</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="n">ChannelControl</span><span class="o">::</span><span class="n">get3DOcclusion</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">directocclusion</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">reverbocclusion</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_Channel_Get3DOcclusion</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">directocclusion</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">reverbocclusion</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Get3DOcclusion</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">directocclusion</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">reverbocclusion</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">get3DOcclusion</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">float</span> <span class="n">directocclusion</span><span class="p">,</span>
|
|
<span class="k">out</span> <span class="kt">float</span> <span class="n">reverbocclusion</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">get3DOcclusion</span><span class="p">(</span>
|
|
<span class="nx">directocclusion</span><span class="p">,</span>
|
|
<span class="nx">reverbocclusion</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">get3DOcclusion</span><span class="p">(</span>
|
|
<span class="nx">directocclusion</span><span class="p">,</span>
|
|
<span class="nx">reverbocclusion</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>directocclusion <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>
|
|
<p>Occlusion factor for the direct path where 0 represents no occlusion and 1 represents full occlusion.</p>
|
|
<ul>
|
|
<li><span class="label">Range:</span> [0, 1]</li>
|
|
<li><span class="label">Default:</span> 0</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>reverbocclusion <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>
|
|
<p>Occlusion factor for the reverb path where 0 represents no occlusion and 1 represents full occlusion.</p>
|
|
<ul>
|
|
<li><span class="label">Range:</span> [0, 1]</li>
|
|
<li><span class="label">Default:</span> 0</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3docclusion">ChannelControl::set3DOcclusion</a></p>
|
|
<h2 api="function" id="channelcontrol_get3dspread"><a href="#channelcontrol_get3dspread">ChannelControl::get3DSpread</a></h2>
|
|
<p>Retrieves the spread of a 3D sound in speaker 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-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="n">ChannelControl</span><span class="o">::</span><span class="n">get3DSpread</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">angle</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_Channel_Get3DSpread</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">angle</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Get3DSpread</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">angle</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">get3DSpread</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">float</span> <span class="n">angle</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">get3DSpread</span><span class="p">(</span>
|
|
<span class="nx">angle</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">get3DSpread</span><span class="p">(</span>
|
|
<span class="nx">angle</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>angle <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>
|
|
<p>Angle over which the sound is spread.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Degrees</li>
|
|
<li><span class="label">Range:</span> [0, 360]</li>
|
|
<li><span class="label">Default:</span> 0</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dspread">ChannelControl::set3DSpread</a></p>
|
|
<h2 api="function" id="channelcontrol_getaudibility"><a href="#channelcontrol_getaudibility">ChannelControl::getAudibility</a></h2>
|
|
<p>Gets the calculated audibility based on all attenuation factors which contribute to the final output volume.</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="n">ChannelControl</span><span class="o">::</span><span class="n">getAudibility</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">audibility</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_Channel_GetAudibility</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">audibility</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_GetAudibility</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">audibility</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getAudibility</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">float</span> <span class="n">audibility</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">getAudibility</span><span class="p">(</span>
|
|
<span class="nx">audibility</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">getAudibility</span><span class="p">(</span>
|
|
<span class="nx">audibility</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>audibility <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>Estimated audibility.</dd>
|
|
</dl>
|
|
<p>The estimated volume is calculated using a number of factors which are detailed in the <a href="white-papers-virtual-voices.html#audibility-calculation">Virtual Voice System</a> white paper.</p>
|
|
<p>While this does not represent the actual waveform, <a class="apilink" href="core-api-channel.html">Channel</a>s playing FSB files will take into consideration the overall peak level of the file (if available).</p>
|
|
<p>This value is used to determine which <a class="apilink" href="core-api-channel.html">Channel</a>s should be audible and which <a class="apilink" href="core-api-channel.html">Channel</a>s to virtualize when resources are limited.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channel.html#channel_isvirtual">Channel::isVirtual</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getvolume">ChannelControl::getVolume</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3docclusion">ChannelControl::get3DOcclusion</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3dattributes">ChannelControl::get3DAttributes</a>, <a class="apilink" href="plugin-api-dsp.html#fmod_dsp_parameter_overallgain">FMOD_DSP_PARAMETER_OVERALLGAIN</a></p>
|
|
<h2 api="function" id="channelcontrol_getdelay"><a href="#channelcontrol_getdelay">ChannelControl::getDelay</a></h2>
|
|
<p>Retrieves a sample accurate start (and/or stop) time relative to the parent ChannelGroup <a href="glossary.html#dsp-clock">DSP clock</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-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="n">ChannelControl</span><span class="o">::</span><span class="n">getDelay</span><span class="p">(</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="o">*</span><span class="n">dspclock_start</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="o">*</span><span class="n">dspclock_end</span><span class="p">,</span>
|
|
<span class="kt">bool</span> <span class="o">*</span><span class="n">stopchannels</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_Channel_GetDelay</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="o">*</span><span class="n">dspclock_start</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="o">*</span><span class="n">dspclock_end</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="o">*</span><span class="n">stopchannels</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_GetDelay</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="o">*</span><span class="n">dspclock_start</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="o">*</span><span class="n">dspclock_end</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="o">*</span><span class="n">stopchannels</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getDelay</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">ulong</span> <span class="n">dspclock_start</span><span class="p">,</span>
|
|
<span class="k">out</span> <span class="kt">ulong</span> <span class="n">dspclock_end</span>
|
|
<span class="p">);</span>
|
|
<span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getDelay</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">ulong</span> <span class="n">dspclock_start</span><span class="p">,</span>
|
|
<span class="k">out</span> <span class="kt">ulong</span> <span class="n">dspclock_end</span><span class="p">,</span>
|
|
<span class="k">out</span> <span class="kt">bool</span> <span class="n">stopchannels</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">getDelay</span><span class="p">(</span>
|
|
<span class="nx">dspclock_start</span><span class="p">,</span>
|
|
<span class="nx">dspclock_end</span><span class="p">,</span>
|
|
<span class="nx">stopchannels</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">getDelay</span><span class="p">(</span>
|
|
<span class="nx">dspclock_start</span><span class="p">,</span>
|
|
<span class="nx">dspclock_end</span><span class="p">,</span>
|
|
<span class="nx">stopchannels</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>dspclock_start <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>
|
|
<p><a href="glossary.html#dsp-clock">DSP clock</a> of the parent <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> to audibly start playing sound at.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Samples</li>
|
|
<li><span class="label">Default:</span> 0</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>dspclock_end <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>
|
|
<p><a href="glossary.html#dsp-clock">DSP clock</a> of the parent <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> to audibly stop playing sound at.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Samples</li>
|
|
<li><span class="label">Default:</span> 0</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>stopchannels <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>
|
|
<p>True: When <code>dspclock_end</code> is reached, behaves like <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_stop">ChannelControl::stop</a> has been called.<br />
|
|
False: When <code>dspclock_end</code> is reached, behaves like <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpaused">ChannelControl::setPaused</a> has been called, a subsequent <code>dspclock_start</code> allows it to resume.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Boolean</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setdelay">ChannelControl::setDelay</a>,<a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getdspclock">ChannelControl::getDSPClock</a></p>
|
|
<h2 api="function" id="channelcontrol_getdsp"><a href="#channelcontrol_getdsp">ChannelControl::getDSP</a></h2>
|
|
<p>Retrieves the <a href="glossary.html#dsp">DSP unit</a> at the specified index in the <a href="glossary.html#dsp-chain">DSP chain</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-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="n">ChannelControl</span><span class="o">::</span><span class="n">getDSP</span><span class="p">(</span>
|
|
<span class="kt">int</span> <span class="n">index</span><span class="p">,</span>
|
|
<span class="n">DSP</span> <span class="o">**</span><span class="n">dsp</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_Channel_GetDSP</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">index</span><span class="p">,</span>
|
|
<span class="n">FMOD_DSP</span> <span class="o">**</span><span class="n">dsp</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_GetDSP</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">index</span><span class="p">,</span>
|
|
<span class="n">FMOD_DSP</span> <span class="o">**</span><span class="n">dsp</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getDSP</span><span class="p">(</span>
|
|
<span class="kt">int</span> <span class="n">index</span><span class="p">,</span>
|
|
<span class="k">out</span> <span class="n">DSP</span> <span class="n">dsp</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">getDSP</span><span class="p">(</span>
|
|
<span class="nx">index</span><span class="p">,</span>
|
|
<span class="nx">dsp</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">getDSP</span><span class="p">(</span>
|
|
<span class="nx">index</span><span class="p">,</span>
|
|
<span class="nx">dsp</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>index</dt>
|
|
<dd>
|
|
<p>Offset into the <a href="glossary.html#dsp-chain">DSP chain</a>, see <a class="apilink" href="core-api-channelcontrol.html#fmod_channelcontrol_dsp_index">FMOD_CHANNELCONTROL_DSP_INDEX</a> for special named offsets for 'head' and 'tail' and 'fader' units.</p>
|
|
<ul>
|
|
<li><span class="label">Range:</span> [0, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getnumdsps">ChannelControl::getNumDSPs</a>)</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>dsp <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd><a href="glossary.html#dsp">DSP unit</a> at the specified <code>index</code>. (<a class="apilink" href="core-api-dsp.html">DSP</a>)</dd>
|
|
</dl>
|
|
<h2 api="function" id="channelcontrol_getdspclock"><a href="#channelcontrol_getdspclock">ChannelControl::getDSPClock</a></h2>
|
|
<p>Retrieves the <a href="glossary.html#dsp-clock">DSP clock</a> values at this 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-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="n">ChannelControl</span><span class="o">::</span><span class="n">getDSPClock</span><span class="p">(</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="o">*</span><span class="n">dspclock</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="o">*</span><span class="n">parentclock</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_Channel_GetDSPClock</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="o">*</span><span class="n">dspclock</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="o">*</span><span class="n">parentclock</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_GetDSPClock</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="o">*</span><span class="n">dspclock</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="o">*</span><span class="n">parentclock</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getDSPClock</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">ulong</span> <span class="n">dspclock</span><span class="p">,</span>
|
|
<span class="k">out</span> <span class="kt">ulong</span> <span class="n">parentclock</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">getDSPClock</span><span class="p">(</span>
|
|
<span class="nx">dspclock</span><span class="p">,</span>
|
|
<span class="nx">parentclock</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">getDSPClock</span><span class="p">(</span>
|
|
<span class="nx">dspclock</span><span class="p">,</span>
|
|
<span class="nx">parentclock</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>dspclock <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>
|
|
<p><a href="glossary.html#dsp-clock">DSP clock</a> value for the tail <a class="apilink" href="core-api-dsp.html">DSP</a> (<a class="apilink" href="core-api-channelcontrol.html#fmod_channelcontrol_dsp_tail">FMOD_CHANNELCONTROL_DSP_TAIL</a>) node.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Samples</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>parentclock <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>
|
|
<p><a href="glossary.html#dsp-clock">DSP clock</a> value for the tail <a class="apilink" href="core-api-dsp.html">DSP</a> (<a class="apilink" href="core-api-channelcontrol.html#fmod_channelcontrol_dsp_tail">FMOD_CHANNELCONTROL_DSP_TAIL</a>) node of the parent ChannelGroup.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Samples</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>To perform sample accurate scheduling in conjunction with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setdelay">ChannelControl::setDelay</a> and <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_addfadepoint">ChannelControl::addFadePoint</a> query the <code>parentclock</code> value.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getdelay">ChannelControl::getDelay</a></p>
|
|
<h2 api="function" id="channelcontrol_getdspindex"><a href="#channelcontrol_getdspindex">ChannelControl::getDSPIndex</a></h2>
|
|
<p>Retrieves the index of a <a href="glossary.html#dsp">DSP</a> inside the <a href="core-api-channel.html">Channel</a> or <a href="core-api-channelgroup.html">ChannelGroup</a>'s <a href="glossary.html#dsp-chain">DSP chain</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-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="n">ChannelControl</span><span class="o">::</span><span class="n">getDSPIndex</span><span class="p">(</span>
|
|
<span class="n">DSP</span> <span class="o">*</span><span class="n">dsp</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">index</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_Channel_GetDSPIndex</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_DSP</span> <span class="o">*</span><span class="n">dsp</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">index</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_GetDSPIndex</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_DSP</span> <span class="o">*</span><span class="n">dsp</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">index</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getDSPIndex</span><span class="p">(</span>
|
|
<span class="n">DSP</span> <span class="n">dsp</span><span class="p">,</span>
|
|
<span class="k">out</span> <span class="kt">int</span> <span class="n">index</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">getDSPIndex</span><span class="p">(</span>
|
|
<span class="nx">dsp</span><span class="p">,</span>
|
|
<span class="nx">index</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">getDSPIndex</span><span class="p">(</span>
|
|
<span class="nx">dsp</span><span class="p">,</span>
|
|
<span class="nx">index</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>dsp</dt>
|
|
<dd><a href="glossary.html#dsp">DSP unit</a> that exists in the <a href="glossary.html#dsp-chain">DSP chain</a>. (<a class="apilink" href="core-api-dsp.html">DSP</a>)</dd>
|
|
<dt>index <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>Offset into the <a href="glossary.html#dsp-chain">DSP chain</a>.</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setdspindex">ChannelControl::setDSPIndex</a></p>
|
|
<h2 api="function" id="channelcontrol_getfadepoints"><a href="#channelcontrol_getfadepoints">ChannelControl::getFadePoints</a></h2>
|
|
<p>Retrieves information about stored fade points.</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="n">ChannelControl</span><span class="o">::</span><span class="n">getFadePoints</span><span class="p">(</span>
|
|
<span class="kt">unsigned</span> <span class="kt">int</span> <span class="o">*</span><span class="n">numpoints</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="o">*</span><span class="n">point_dspclock</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">point_volume</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_Channel_GetFadePoints</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">int</span> <span class="o">*</span><span class="n">numpoints</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="o">*</span><span class="n">point_dspclock</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">point_volume</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_GetFadePoints</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">int</span> <span class="o">*</span><span class="n">numpoints</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="o">*</span><span class="n">point_dspclock</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">point_volume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getFadePoints</span><span class="p">(</span>
|
|
<span class="k">ref</span> <span class="kt">uint</span> <span class="n">numpoints</span><span class="p">,</span>
|
|
<span class="kt">ulong</span><span class="p">[]</span> <span class="n">point_dspclock</span><span class="p">,</span>
|
|
<span class="kt">float</span><span class="p">[]</span> <span class="n">point_volume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">getFadePoints</span><span class="p">(</span>
|
|
<span class="nx">numpoints</span><span class="p">,</span>
|
|
<span class="nx">point_dspclock</span><span class="p">,</span>
|
|
<span class="nx">point_volume</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">getFadePoints</span><span class="p">(</span>
|
|
<span class="nx">numpoints</span><span class="p">,</span>
|
|
<span class="nx">point_dspclock</span><span class="p">,</span>
|
|
<span class="nx">point_volume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>numpoints <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>Number of fade points.</dd>
|
|
<dt>point_dspclock <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>
|
|
<p>Array of <a href="glossary.html#dsp-clock">DSP clock</a> values that represent the fade point times.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Samples</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>point_volume <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>
|
|
<p>Array of volume levels that represent the fade point values.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> [0, inf)</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>Passing NULL for <code>point_dspclock</code> and <code>point_volume</code> will allow you to query the number of fade points stored, with result stored in <code>numpoints</code>. <br />
|
|
If <code>numpoints</code> is specified by the user, the value will be used as an input for the maximum number of fade points to output. It will then output as the number of fadepoints retrieved.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_addfadepoint">ChannelControl::addFadePoint</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setfadepointramp">ChannelControl::setFadePointRamp</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_removefadepoints">ChannelControl::removeFadePoints</a></p>
|
|
<h2 api="function" id="channelcontrol_getlowpassgain"><a href="#channelcontrol_getlowpassgain">ChannelControl::getLowPassGain</a></h2>
|
|
<p>Retrieves the gain of the dry <a href="glossary.html#signal">signal</a> when built in lowpass / distance filtering is applied.</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="n">ChannelControl</span><span class="o">::</span><span class="n">getLowPassGain</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">gain</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_Channel_GetLowPassGain</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">gain</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_GetLowPassGain</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">gain</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getLowPassGain</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">float</span> <span class="n">gain</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">getLowPassGain</span><span class="p">(</span>
|
|
<span class="nx">gain</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">getLowPassGain</span><span class="p">(</span>
|
|
<span class="nx">gain</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>gain <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>
|
|
<p>gain level where 0 represents silent (full filtering) and 1 represents full volume (no filtering).</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> [0, 1]</li>
|
|
<li><span class="label">Default:</span> 1</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>Requires the built in lowpass to be created with <a class="apilink" href="core-api-system.html#fmod_init_channel_lowpass">FMOD_INIT_CHANNEL_LOWPASS</a> or <a class="apilink" href="core-api-system.html#fmod_init_channel_distancefilter">FMOD_INIT_CHANNEL_DISTANCEFILTER</a>.</p>
|
|
<div class="admonition warning">
|
|
<p>Currently only supported for Channel, not ChannelGroup.</p>
|
|
</div>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setlowpassgain">ChannelControl::setLowPassGain</a></p>
|
|
<h2 api="function" id="channelcontrol_getmixmatrix"><a href="#channelcontrol_getmixmatrix">ChannelControl::getMixMatrix</a></h2>
|
|
<p>Retrieves a 2 dimensional pan matrix that maps the <a href="glossary.html#signal">signal</a> from input channels (columns) to output speakers (rows).</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="n">ChannelControl</span><span class="o">::</span><span class="n">getMixMatrix</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">matrix</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">outchannels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">inchannels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">inchannel_hop</span> <span class="o">=</span> <span class="mi">0</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_Channel_GetMixMatrix</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">matrix</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">outchannels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">inchannels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">inchannel_hop</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_GetMixMatrix</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">matrix</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">outchannels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">inchannels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">inchannel_hop</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getMixMatrix</span><span class="p">(</span>
|
|
<span class="kt">float</span><span class="p">[]</span> <span class="n">matrix</span><span class="p">,</span>
|
|
<span class="k">out</span> <span class="kt">int</span> <span class="n">outchannels</span><span class="p">,</span>
|
|
<span class="k">out</span> <span class="kt">int</span> <span class="n">inchannels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">inchannel_hop</span> <span class="p">=</span> <span class="m">0</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">getMixMatrix</span><span class="p">(</span>
|
|
<span class="nx">matrix</span><span class="p">,</span>
|
|
<span class="nx">outchannels</span><span class="p">,</span>
|
|
<span class="nx">inchannels</span><span class="p">,</span>
|
|
<span class="nx">inchannel_hop</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">getMixMatrix</span><span class="p">(</span>
|
|
<span class="nx">matrix</span><span class="p">,</span>
|
|
<span class="nx">outchannels</span><span class="p">,</span>
|
|
<span class="nx">inchannels</span><span class="p">,</span>
|
|
<span class="nx">inchannel_hop</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>matrix <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>
|
|
<p>Two dimensional array of volume levels in row-major order. Each row represents an output speaker, each column represents an input channel.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> (-inf, inf)</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>outchannels <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>Number of valid output channels (rows) in <code>matrix</code>.</dd>
|
|
</dl>
|
|
<ul>
|
|
<li>Range: [0, <a class="apilink" href="core-api-common.html#fmod_max_channel_width">FMOD_MAX_CHANNEL_WIDTH</a>]</li>
|
|
</ul>
|
|
<dl>
|
|
<dt>inchannels <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>Number of valid input channels (columns) in <code>matrix</code>.</dd>
|
|
</dl>
|
|
<ul>
|
|
<li>Range: [0, <a class="apilink" href="core-api-common.html#fmod_max_channel_width">FMOD_MAX_CHANNEL_WIDTH</a>]</li>
|
|
</ul>
|
|
<dl>
|
|
<dt>inchannel_hop <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>Width (total number of columns) in destination <code>matrix</code>. A matrix element is referenced as 'outchannel * inchannel_hop + inchannel'.</dd>
|
|
</dl>
|
|
<p>Passing NULL for <code>matrix</code> will allow you to query <code>outchannels</code> and <code>inchannels</code> otherwise they are not optional.</p>
|
|
<p>Matrix element values can be below 0 to invert a signal and above 1 to amplify the signal. Note that increasing the signal level too far may cause audible distortion.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixmatrix">ChannelControl::setMixMatrix</a></p>
|
|
<h2 api="function" id="channelcontrol_getmode"><a href="#channelcontrol_getmode">ChannelControl::getMode</a></h2>
|
|
<p>Retrieves the playback mode bits that control how this object behaves.</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="n">ChannelControl</span><span class="o">::</span><span class="n">getMode</span><span class="p">(</span>
|
|
<span class="n">FMOD_MODE</span> <span class="o">*</span><span class="n">mode</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_Channel_GetMode</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_MODE</span> <span class="o">*</span><span class="n">mode</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_GetMode</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_MODE</span> <span class="o">*</span><span class="n">mode</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getMode</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="n">MODE</span> <span class="n">mode</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">getMode</span><span class="p">(</span>
|
|
<span class="nx">mode</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">getMode</span><span class="p">(</span>
|
|
<span class="nx">mode</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>mode <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>Playback mode bitfield. Test against a specific mode with the AND operator. (<a class="apilink" href="core-api-common.html#fmod_mode">FMOD_MODE</a>)</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmode">ChannelControl::setMode</a></p>
|
|
<h2 api="function" id="channelcontrol_getmute"><a href="#channelcontrol_getmute">ChannelControl::getMute</a></h2>
|
|
<p>Retrieves the mute state.</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="n">ChannelControl</span><span class="o">::</span><span class="n">getMute</span><span class="p">(</span>
|
|
<span class="kt">bool</span> <span class="o">*</span><span class="n">mute</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_Channel_GetMute</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="o">*</span><span class="n">mute</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_GetMute</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="o">*</span><span class="n">mute</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getMute</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">bool</span> <span class="n">mute</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">getMute</span><span class="p">(</span>
|
|
<span class="nx">mute</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">getMute</span><span class="p">(</span>
|
|
<span class="nx">mute</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>mute <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>
|
|
<p>Mute state. True = silent. False = audible.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Boolean</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>An individual mute state is kept for each object, a parent <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> being muted will effectively mute this object however when queried the individual mute state is returned. <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getaudibility">ChannelControl::getAudibility</a> can be used to calculate overall audibility for a <a class="apilink" href="core-api-channel.html">Channel</a> or <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a>.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmute">ChannelControl::setMute</a></p>
|
|
<h2 api="function" id="channelcontrol_getnumdsps"><a href="#channelcontrol_getnumdsps">ChannelControl::getNumDSPs</a></h2>
|
|
<p>Retrieves the number of <a href="glossary.html#dsp">DSP units</a> in the <a href="glossary.html#dsp-chain">DSP chain</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-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="n">ChannelControl</span><span class="o">::</span><span class="n">getNumDSPs</span><span class="p">(</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">numdsps</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_Channel_GetNumDSPs</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">numdsps</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_GetNumDSPs</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="o">*</span><span class="n">numdsps</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getNumDSPs</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">int</span> <span class="n">numdsps</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">getNumDSPs</span><span class="p">(</span>
|
|
<span class="nx">numdsps</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">getNumDSPs</span><span class="p">(</span>
|
|
<span class="nx">numdsps</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>numdsps <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>Number of <a href="glossary.html#dsp">DSP units</a> in the <a href="glossary.html#dsp-chain">DSP chain</a>.</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_adddsp">ChannelControl::addDSP</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_removedsp">ChannelControl::removeDSP</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getdsp">ChannelControl::getDSP</a></p>
|
|
<h2 api="function" id="channelcontrol_getpaused"><a href="#channelcontrol_getpaused">ChannelControl::getPaused</a></h2>
|
|
<p>Retrieves the paused state.</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="n">ChannelControl</span><span class="o">::</span><span class="n">getPaused</span><span class="p">(</span>
|
|
<span class="kt">bool</span> <span class="o">*</span><span class="n">paused</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_Channel_GetPaused</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="o">*</span><span class="n">paused</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_GetPaused</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="o">*</span><span class="n">paused</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getPaused</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">bool</span> <span class="n">paused</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">getPaused</span><span class="p">(</span>
|
|
<span class="nx">paused</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">getPaused</span><span class="p">(</span>
|
|
<span class="nx">paused</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>paused <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>
|
|
<p>Paused state. True = playback halted. False = playback active.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Boolean</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>An individual pause state is kept for each object, a parent <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> being paused will effectively pause this object however when queried the individual pause state is returned.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpaused">ChannelControl::setPaused</a></p>
|
|
<h2 api="function" id="channelcontrol_getpitch"><a href="#channelcontrol_getpitch">ChannelControl::getPitch</a></h2>
|
|
<p>Retrieves the relative pitch / playback rate.</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="n">ChannelControl</span><span class="o">::</span><span class="n">getPitch</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">pitch</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_Channel_GetPitch</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">pitch</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_GetPitch</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">pitch</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getPitch</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">float</span> <span class="n">pitch</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">getPitch</span><span class="p">(</span>
|
|
<span class="nx">pitch</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">getPitch</span><span class="p">(</span>
|
|
<span class="nx">pitch</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>pitch <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>Pitch value where 0.5 represents half pitch (one octave down), 1 represents unmodified pitch and 2 represents double pitch (one octave up).</dd>
|
|
</dl>
|
|
<p>An individual pitch value is kept for each object, a parent <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> pitch will effectively scale the pitch of this object however when queried the individual pitch value is returned.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpitch">ChannelControl::setPitch</a></p>
|
|
<h2 api="function" id="channelcontrol_getreverbproperties"><a href="#channelcontrol_getreverbproperties">ChannelControl::getReverbProperties</a></h2>
|
|
<p>Retrieves the wet / send level for a particular reverb instance.</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="n">ChannelControl</span><span class="o">::</span><span class="n">getReverbProperties</span><span class="p">(</span>
|
|
<span class="kt">int</span> <span class="n">instance</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">wet</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_Channel_GetReverbProperties</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">instance</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">wet</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_GetReverbProperties</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">instance</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">wet</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getReverbProperties</span><span class="p">(</span>
|
|
<span class="kt">int</span> <span class="n">instance</span><span class="p">,</span>
|
|
<span class="k">out</span> <span class="kt">float</span> <span class="n">wet</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">getReverbProperties</span><span class="p">(</span>
|
|
<span class="nx">instance</span><span class="p">,</span>
|
|
<span class="nx">wet</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">getReverbProperties</span><span class="p">(</span>
|
|
<span class="nx">instance</span><span class="p">,</span>
|
|
<span class="nx">wet</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>instance</dt>
|
|
<dd>
|
|
<p>Reverb instance index.</p>
|
|
<ul>
|
|
<li><span class="label">Range:</span> [0, <a class="apilink" href="core-api-system.html#fmod_reverb_maxinstances">FMOD_REVERB_MAXINSTANCES</a>]</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>wet <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>
|
|
<p>Send level for the <a href="glossary.html#signal">signal</a> to the reverb. 0 = none, 1 = full.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> (-inf, inf)</li>
|
|
<li><span class="label">Default:</span> 1 for <a class="apilink" href="core-api-channel.html">Channel</a>, 0 for <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a></li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setreverbproperties">ChannelControl::setReverbProperties</a></p>
|
|
<h2 api="function" id="channelcontrol_getsystemobject"><a href="#channelcontrol_getsystemobject">ChannelControl::getSystemObject</a></h2>
|
|
<p>Retrieves the System that created this object.</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="n">ChannelControl</span><span class="o">::</span><span class="n">getSystemObject</span><span class="p">(</span>
|
|
<span class="n">System</span> <span class="o">**</span><span class="n">system</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_Channel_GetSystemObject</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_SYSTEM</span> <span class="o">**</span><span class="n">system</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_GetSystemObject</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_SYSTEM</span> <span class="o">**</span><span class="n">system</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getSystemObject</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="n">System</span> <span class="n">system</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">getSystemObject</span><span class="p">(</span>
|
|
<span class="nx">system</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">getSystemObject</span><span class="p">(</span>
|
|
<span class="nx">system</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>system <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>System object. (<a class="apilink" href="core-api-system.html">System</a>)</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-system.html#system_createchannelgroup">System::createChannelGroup</a>, <a class="apilink" href="core-api-system.html#system_getmasterchannelgroup">System::getMasterChannelGroup</a>, <a class="apilink" href="core-api-system.html#system_playsound">System::playSound</a></p>
|
|
<h2 api="function" id="channelcontrol_getuserdata"><a href="#channelcontrol_getuserdata">ChannelControl::getUserData</a></h2>
|
|
<p>Retrieves a user value associated with this object.</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="n">ChannelControl</span><span class="o">::</span><span class="n">getUserData</span><span class="p">(</span>
|
|
<span class="kt">void</span> <span class="o">**</span><span class="n">userdata</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_Channel_GetUserData</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">void</span> <span class="o">**</span><span class="n">userdata</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_GetUserData</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">void</span> <span class="o">**</span><span class="n">userdata</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getUserData</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="n">IntPtr</span> <span class="n">userdata</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">getUserData</span><span class="p">(</span>
|
|
<span class="nx">userdata</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">getUserData</span><span class="p">(</span>
|
|
<span class="nx">userdata</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>userdata <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>User data set by calling <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setuserdata">ChannelControl::setUserData</a>.</dd>
|
|
</dl>
|
|
<p>This function allows arbitrary user data to be retrieved from this object. See the <a href="glossary.html#user-data">User Data</a> section of the glossary for an example of how to get and set user data.</p>
|
|
<h2 api="function" id="channelcontrol_getvolume"><a href="#channelcontrol_getvolume">ChannelControl::getVolume</a></h2>
|
|
<p>Retrieves the volume level.</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="n">ChannelControl</span><span class="o">::</span><span class="n">getVolume</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">volume</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_Channel_GetVolume</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">volume</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_GetVolume</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">volume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getVolume</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">float</span> <span class="n">volume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">getVolume</span><span class="p">(</span>
|
|
<span class="nx">volume</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">getVolume</span><span class="p">(</span>
|
|
<span class="nx">volume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>volume <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>
|
|
<p>Volume level.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> (-inf, inf)</li>
|
|
<li><span class="label">Default:</span> 1</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setvolume">ChannelControl::setVolume</a></p>
|
|
<h2 api="function" id="channelcontrol_getvolumeramp"><a href="#channelcontrol_getvolumeramp">ChannelControl::getVolumeRamp</a></h2>
|
|
<p>Retrieves whether volume changes are ramped or instantaneous.</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="n">ChannelControl</span><span class="o">::</span><span class="n">getVolumeRamp</span><span class="p">(</span>
|
|
<span class="kt">bool</span> <span class="o">*</span><span class="n">ramp</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_Channel_GetVolumeRamp</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="o">*</span><span class="n">ramp</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_GetVolumeRamp</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="o">*</span><span class="n">ramp</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">getVolumeRamp</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">bool</span> <span class="n">ramp</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">getVolumeRamp</span><span class="p">(</span>
|
|
<span class="nx">ramp</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">getVolumeRamp</span><span class="p">(</span>
|
|
<span class="nx">ramp</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>ramp <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>
|
|
<p>Ramp state. True = volume change is ramped. False = volume change is instantaeous.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Boolean</li>
|
|
<li><span class="label">Default:</span> True</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setvolumeramp">ChannelControl::setVolumeRamp</a></p>
|
|
<h2 api="function" id="channelcontrol_isplaying"><a href="#channelcontrol_isplaying">ChannelControl::isPlaying</a></h2>
|
|
<p>Retrieves the playing state.</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="n">ChannelControl</span><span class="o">::</span><span class="n">isPlaying</span><span class="p">(</span>
|
|
<span class="kt">bool</span> <span class="o">*</span><span class="n">isplaying</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_Channel_IsPlaying</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="o">*</span><span class="n">isplaying</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_IsPlaying</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="o">*</span><span class="n">isplaying</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">isPlaying</span><span class="p">(</span>
|
|
<span class="k">out</span> <span class="kt">bool</span> <span class="n">isplaying</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">isPlaying</span><span class="p">(</span>
|
|
<span class="nx">isplaying</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">isPlaying</span><span class="p">(</span>
|
|
<span class="nx">isplaying</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>isplaying <span><a class="token" href="glossary.html#documentation-conventions" title="Output">Out</a></span></dt>
|
|
<dd>
|
|
<p>Playing state.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Boolean</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>A <a class="apilink" href="core-api-channel.html">Channel</a> is considered playing after <a class="apilink" href="core-api-system.html#system_playsound">System::playSound</a> or <a class="apilink" href="core-api-system.html#system_playdsp">System::playDSP</a>, even if it is paused.</p>
|
|
<p>A <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> is considered playing if it has any playing Channels.</p>
|
|
<h2 api="function" id="channelcontrol_removedsp"><a href="#channelcontrol_removedsp">ChannelControl::removeDSP</a></h2>
|
|
<p>Removes the specified <a href="glossary.html#dsp">DSP unit</a> from the <a href="glossary.html#dsp-chain">DSP chain</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-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="n">ChannelControl</span><span class="o">::</span><span class="n">removeDSP</span><span class="p">(</span>
|
|
<span class="n">DSP</span> <span class="o">*</span><span class="n">dsp</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_Channel_RemoveDSP</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_DSP</span> <span class="o">*</span><span class="n">dsp</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_RemoveDSP</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_DSP</span> <span class="o">*</span><span class="n">dsp</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">removeDSP</span><span class="p">(</span>
|
|
<span class="n">DSP</span> <span class="n">dsp</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">removeDSP</span><span class="p">(</span>
|
|
<span class="nx">dsp</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">removeDSP</span><span class="p">(</span>
|
|
<span class="nx">dsp</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>dsp</dt>
|
|
<dd><a href="glossary.html#dsp">DSP unit</a> to be removed. (<a class="apilink" href="core-api-dsp.html">DSP</a>)</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_adddsp">ChannelControl::addDSP</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getdsp">ChannelControl::getDSP</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getnumdsps">ChannelControl::getNumDSPs</a></p>
|
|
<h2 api="function" id="channelcontrol_removefadepoints"><a href="#channelcontrol_removefadepoints">ChannelControl::removeFadePoints</a></h2>
|
|
<p>Removes all fade points between the two specified clock values (inclusive).</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="n">ChannelControl</span><span class="o">::</span><span class="n">removeFadePoints</span><span class="p">(</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">dspclock_start</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">dspclock_end</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_Channel_RemoveFadePoints</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">dspclock_start</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">dspclock_end</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_RemoveFadePoints</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">dspclock_start</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">dspclock_end</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">removeFadePoints</span><span class="p">(</span>
|
|
<span class="kt">ulong</span> <span class="n">dspclock_start</span><span class="p">,</span>
|
|
<span class="kt">ulong</span> <span class="n">dspclock_end</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">removeFadePoints</span><span class="p">(</span>
|
|
<span class="nx">dspclock_start</span><span class="p">,</span>
|
|
<span class="nx">dspclock_end</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">removeFadePoints</span><span class="p">(</span>
|
|
<span class="nx">dspclock_start</span><span class="p">,</span>
|
|
<span class="nx">dspclock_end</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>dspclock_start</dt>
|
|
<dd>
|
|
<p><a href="glossary.html#dsp-clock">DSP clock</a> of the parent <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> at which to begin removing fade points.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Samples</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>dspclock_end</dt>
|
|
<dd>
|
|
<p><a href="glossary.html#dsp-clock">DSP clock</a> of the parent <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> at which to stop removing fade points.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Samples</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_addfadepoint">ChannelControl::addFadePoint</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setfadepointramp">ChannelControl::setFadePointRamp</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getfadepoints">ChannelControl::getFadePoints</a></p>
|
|
<h2 api="function" id="channelcontrol_set3dattributes"><a href="#channelcontrol_set3dattributes">ChannelControl::set3DAttributes</a></h2>
|
|
<p>Sets the 3D position and velocity used to apply panning, attenuation and doppler.</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="n">ChannelControl</span><span class="o">::</span><span class="n">set3DAttributes</span><span class="p">(</span>
|
|
<span class="k">const</span> <span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">pos</span><span class="p">,</span>
|
|
<span class="k">const</span> <span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">vel</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_Channel_Set3DAttributes</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="k">const</span> <span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">pos</span><span class="p">,</span>
|
|
<span class="k">const</span> <span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">vel</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Set3DAttributes</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="k">const</span> <span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">pos</span><span class="p">,</span>
|
|
<span class="k">const</span> <span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">vel</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">set3DAttributes</span><span class="p">(</span>
|
|
<span class="k">ref</span> <span class="n">VECTOR</span> <span class="n">pos</span><span class="p">,</span>
|
|
<span class="k">ref</span> <span class="n">VECTOR</span> <span class="n">vel</span>
|
|
<span class="p">);</span>
|
|
<span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">set3DAttributes</span><span class="p">(</span>
|
|
<span class="k">ref</span> <span class="n">VECTOR</span> <span class="n">pos</span><span class="p">,</span>
|
|
<span class="k">ref</span> <span class="n">VECTOR</span> <span class="n">vel</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">set3DAttributes</span><span class="p">(</span>
|
|
<span class="nx">pos</span><span class="p">,</span>
|
|
<span class="nx">vel</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">set3DAttributes</span><span class="p">(</span>
|
|
<span class="nx">pos</span><span class="p">,</span>
|
|
<span class="nx">vel</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>pos <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>
|
|
<p>Position in 3D 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>vel <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>
|
|
<p>Velocity in 3D 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>
|
|
</dl>
|
|
<p>The <a class="apilink" href="core-api-common.html#fmod_3d">FMOD_3D</a> flag must be set on this object otherwise <a class="apilink" href="core-api-common.html#fmod_err_needs3d">FMOD_ERR_NEEDS3D</a> is returned.</p>
|
|
<p>Vectors must be provided in the correct <a href="glossary.html#handedness">handedness</a>.</p>
|
|
<p>For a stereo 3D sound, you can set the spread of the left/right parts in speaker space by using <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dspread">ChannelControl::set3DSpread</a>.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3dattributes">ChannelControl::get3DAttributes</a></p>
|
|
<h2 api="function" id="channelcontrol_set3dconeorientation"><a href="#channelcontrol_set3dconeorientation">ChannelControl::set3DConeOrientation</a></h2>
|
|
<p>Sets the orientation of a 3D cone shape, used for simulated occlusion.</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="n">ChannelControl</span><span class="o">::</span><span class="n">set3DConeOrientation</span><span class="p">(</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">orientation</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_Channel_Set3DConeOrientation</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">orientation</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Set3DConeOrientation</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">orientation</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">set3DConeOrientation</span><span class="p">(</span>
|
|
<span class="k">ref</span> <span class="n">VECTOR</span> <span class="n">orientation</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">set3DConeOrientation</span><span class="p">(</span>
|
|
<span class="nx">orientation</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">set3DConeOrientation</span><span class="p">(</span>
|
|
<span class="nx">orientation</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>orientation</dt>
|
|
<dd>
|
|
<p>Normalized orientation vector, which represents the direction of the sound cone. (<a class="apilink" href="core-api-common.html#fmod_vector">FMOD_VECTOR</a>)</p>
|
|
<ul>
|
|
<li><span class="label">Default:</span> (0, 0, 1)</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>The <a class="apilink" href="core-api-common.html#fmod_3d">FMOD_3D</a> flag must be set on this object otherwise <a class="apilink" href="core-api-common.html#fmod_err_needs3d">FMOD_ERR_NEEDS3D</a> is returned.</p>
|
|
<p>This function has no effect unless <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dconesettings">ChannelControl::set3DConeSettings</a> has been used to change the cone inside/outside angles from the default.</p>
|
|
<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="core-api-channelcontrol.html#channelcontrol_get3dconeorientation">ChannelControl::get3DConeOrientation</a></p>
|
|
<h2 api="function" id="channelcontrol_set3dconesettings"><a href="#channelcontrol_set3dconesettings">ChannelControl::set3DConeSettings</a></h2>
|
|
<p>Sets the angles and attenuation levels of a 3D cone shape, for simulated occlusion which is based on direction.</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="n">ChannelControl</span><span class="o">::</span><span class="n">set3DConeSettings</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">insideconeangle</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">outsideconeangle</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">outsidevolume</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_Channel_Set3DConeSettings</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">insideconeangle</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">outsideconeangle</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">outsidevolume</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Set3DConeSettings</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">insideconeangle</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">outsideconeangle</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">outsidevolume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">set3DConeSettings</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">insideconeangle</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">outsideconeangle</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">outsidevolume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">set3DConeSettings</span><span class="p">(</span>
|
|
<span class="nx">insideconeangle</span><span class="p">,</span>
|
|
<span class="nx">outsideconeangle</span><span class="p">,</span>
|
|
<span class="nx">outsidevolume</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">set3DConeSettings</span><span class="p">(</span>
|
|
<span class="nx">insideconeangle</span><span class="p">,</span>
|
|
<span class="nx">outsideconeangle</span><span class="p">,</span>
|
|
<span class="nx">outsidevolume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>insideconeangle</dt>
|
|
<dd>
|
|
<p>Inside cone angle. This is the angle spread within which the sound is unattenuated.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Degrees</li>
|
|
<li><span class="label">Range:</span> [0, <code>outsideconeangle</code>]</li>
|
|
<li><span class="label">Default:</span> 360</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>outsideconeangle</dt>
|
|
<dd>
|
|
<p>Outside cone angle. This is the angle spread outside of which the sound is attenuated to its <code>outsidevolume</code>.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Degrees</li>
|
|
<li><span class="label">Range:</span> [<code>insideconeangle</code>, 360]</li>
|
|
<li><span class="label">Default:</span> 360</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>outsidevolume</dt>
|
|
<dd>
|
|
<p>Cone outside volume.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> [0, 1]</li>
|
|
<li><span class="label">Default:</span> 1</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>The <a class="apilink" href="core-api-common.html#fmod_3d">FMOD_3D</a> flag must be set on this object otherwise <a class="apilink" href="core-api-common.html#fmod_err_needs3d">FMOD_ERR_NEEDS3D</a> is returned.</p>
|
|
<p>When <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dconeorientation">ChannelControl::set3DConeOrientation</a> is used and a 3D 'cone' is set up, attenuation will automatically occur for a sound based on the relative angle of the direction the cone is facing, vs the angle between the sound and the listener.</p>
|
|
<ul>
|
|
<li>If the relative angle is within the <code>insideconeangle</code>, the sound will not have any attenuation applied.</li>
|
|
<li>If the relative angle is between the <code>insideconeangle</code> and <code>outsideconeangle</code>, linear volume attenuation (between 1 and <code>outsidevolume</code>) is applied between the two angles until it reaches the <code>outsideconeangle</code>.</li>
|
|
<li>If the relative angle is outside of the <code>outsideconeangle</code> the volume does not attenuate any further.</li>
|
|
</ul>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3dconesettings">ChannelControl::get3DConeSettings</a>, <a class="apilink" href="core-api-sound.html#sound_set3dconesettings">Sound::set3DConeSettings</a></p>
|
|
<h2 api="function" id="channelcontrol_set3dcustomrolloff"><a href="#channelcontrol_set3dcustomrolloff">ChannelControl::set3DCustomRolloff</a></h2>
|
|
<p>Sets a custom roll-off shape for 3D distance attenuation.</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="n">ChannelControl</span><span class="o">::</span><span class="n">set3DCustomRolloff</span><span class="p">(</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">points</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">numpoints</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_Channel_Set3DCustomRolloff</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">points</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">numpoints</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Set3DCustomRolloff</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="o">*</span><span class="n">points</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">numpoints</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">set3DCustomRolloff</span><span class="p">(</span>
|
|
<span class="k">ref</span> <span class="n">VECTOR</span> <span class="n">points</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">numpoints</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">set3DCustomRolloff</span><span class="p">(</span>
|
|
<span class="nx">points</span><span class="p">,</span>
|
|
<span class="nx">numpoints</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">set3DCustomRolloff</span><span class="p">(</span>
|
|
<span class="nx">points</span><span class="p">,</span>
|
|
<span class="nx">numpoints</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>points</dt>
|
|
<dd>
|
|
<p>Array of vectors sorted by distance, where <code>x</code> = distance and <code>y</code> = volume from 0 to 1. <code>z</code> should be set to 0. Pass null or equivalen to disable custom rolloff. (<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>numpoints</dt>
|
|
<dd>Number of <code>points</code>.</dd>
|
|
</dl>
|
|
<p>Must be used in conjunction with <a class="apilink" href="core-api-common.html#fmod_3d_customrolloff">FMOD_3D_CUSTOMROLLOFF</a> flag to be activated.</p>
|
|
<p>This function does not duplicate the memory for the points internally. The memory you pass to FMOD must remain valid while in use.</p>
|
|
<p>If <a class="apilink" href="core-api-common.html#fmod_3d_customrolloff">FMOD_3D_CUSTOMROLLOFF</a> is set and the roll-off shape is not set, FMOD will revert to <a class="apilink" href="core-api-common.html#fmod_3d_inverserolloff">FMOD_3D_INVERSEROLLOFF</a> roll-off mode.</p>
|
|
<p>When a custom roll-off is specified a <a class="apilink" href="core-api-channel.html">Channel</a> or <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a>'s 3D 'minimum' and 'maximum' distances are ignored.</p>
|
|
<p>The distance in-between point values is linearly interpolated until the final point where the last value is held.</p>
|
|
<p>If the points are not sorted by distance, an error will result.</p>
|
|
<div class="highlight language-c-cpp"><pre><span></span><span class="c1">// Defining a custom array of points</span>
|
|
<span class="n">FMOD_VECTOR</span> <span class="n">curve</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span>
|
|
<span class="p">{</span>
|
|
<span class="p">{</span> <span class="mf">0.0f</span><span class="p">,</span> <span class="mf">1.0f</span><span class="p">,</span> <span class="mf">0.0f</span> <span class="p">},</span>
|
|
<span class="p">{</span> <span class="mf">2.0f</span><span class="p">,</span> <span class="mf">0.2f</span><span class="p">,</span> <span class="mf">0.0f</span> <span class="p">},</span>
|
|
<span class="p">{</span> <span class="mf">20.0f</span><span class="p">,</span> <span class="mf">0.0f</span><span class="p">,</span> <span class="mf">0.0f</span> <span class="p">}</span>
|
|
<span class="p">};</span>
|
|
</pre></div>
|
|
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-sound.html#sound_set3dcustomrolloff">Sound::set3DCustomRolloff</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3dcustomrolloff">ChannelControl::get3DCustomRolloff</a></p>
|
|
<h2 api="function" id="channelcontrol_set3ddistancefilter"><a href="#channelcontrol_set3ddistancefilter">ChannelControl::set3DDistanceFilter</a></h2>
|
|
<p>Sets an override value for the 3D distance filter.</p>
|
|
<p>If distance filtering is enabled, by default the 3D engine will automatically attenuate frequencies using a lowpass and a highpass filter, based on 3D distance.<br />
|
|
This function allows the distance filter effect to be set manually, or to be set back to 'automatic' mode.</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="n">ChannelControl</span><span class="o">::</span><span class="n">set3DDistanceFilter</span><span class="p">(</span>
|
|
<span class="kt">bool</span> <span class="n">custom</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">customLevel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">centerFreq</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_Channel_Set3DDistanceFilter</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="n">custom</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">customLevel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">centerFreq</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Set3DDistanceFilter</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="n">custom</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">customLevel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">centerFreq</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">set3DDistanceFilter</span><span class="p">(</span>
|
|
<span class="kt">bool</span> <span class="n">custom</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">customLevel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">centerFreq</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">set3DDistanceFilter</span><span class="p">(</span>
|
|
<span class="nx">custom</span><span class="p">,</span>
|
|
<span class="nx">customLevel</span><span class="p">,</span>
|
|
<span class="nx">centerFreq</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">set3DDistanceFilter</span><span class="p">(</span>
|
|
<span class="nx">custom</span><span class="p">,</span>
|
|
<span class="nx">customLevel</span><span class="p">,</span>
|
|
<span class="nx">centerFreq</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>custom</dt>
|
|
<dd>
|
|
<p>Override automatic distance filtering and use <code>customLevel</code> instead.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Boolean</li>
|
|
<li><span class="label">Default:</span> False</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>customLevel</dt>
|
|
<dd>
|
|
<p>Attenuation factor where 1 represents no attenuation and 0 represents complete attenuation.</p>
|
|
<ul>
|
|
<li><span class="label">Range:</span> [0, 1]</li>
|
|
<li><span class="label">Default:</span> 1</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>centerFreq <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>
|
|
<p>Center frequency of the band-pass filter used to simulate distance attenuation, 0 for default.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Hertz</li>
|
|
<li><span class="label">Range:</span> [10, 22050]</li>
|
|
<li><span class="label">Default:</span> <a class="apilink" href="core-api-system.html#fmod_advancedsettings_distancefiltercenterfreq">FMOD_ADVANCEDSETTINGS::distanceFilterCenterFreq</a></li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>The <a class="apilink" href="core-api-common.html#fmod_3d">FMOD_3D</a> flag must be set on this object otherwise <a class="apilink" href="core-api-common.html#fmod_err_needs3d">FMOD_ERR_NEEDS3D</a> is returned.</p>
|
|
<p>The <a class="apilink" href="core-api-system.html">System</a> must be initialized with <a class="apilink" href="core-api-system.html#fmod_init_channel_distancefilter">FMOD_INIT_CHANNEL_DISTANCEFILTER</a> for this feature to work.</p>
|
|
<div class="admonition warning">
|
|
<p>Currently only supported for Channel, not ChannelGroup.</p>
|
|
</div>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3ddistancefilter">ChannelControl::get3DDistanceFilter</a></p>
|
|
<h2 api="function" id="channelcontrol_set3ddopplerlevel"><a href="#channelcontrol_set3ddopplerlevel">ChannelControl::set3DDopplerLevel</a></h2>
|
|
<p>Sets the amount by which doppler is scaled.</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="n">ChannelControl</span><span class="o">::</span><span class="n">set3DDopplerLevel</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">level</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_Channel_Set3DDopplerLevel</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">level</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Set3DDopplerLevel</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">level</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">set3DDopplerLevel</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">level</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">set3DDopplerLevel</span><span class="p">(</span>
|
|
<span class="nx">level</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">set3DDopplerLevel</span><span class="p">(</span>
|
|
<span class="nx">level</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>level</dt>
|
|
<dd>
|
|
<p>Doppler scale where 0 represents no doppler, 1 represents natural doppler and 5 represents exaggerated doppler.</p>
|
|
<ul>
|
|
<li><span class="label">Range:</span> [0, 5]</li>
|
|
<li><span class="label">Default:</span> 1</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>The <a class="apilink" href="core-api-common.html#fmod_3d">FMOD_3D</a> flag must be set on this object otherwise <a class="apilink" href="core-api-common.html#fmod_err_needs3d">FMOD_ERR_NEEDS3D</a> is returned.</p>
|
|
<p>The doppler effect will disabled if <a class="apilink" href="core-api-system.html#system_set3dnumlisteners">System::set3DNumListeners</a> is given a value greater than 1.</p>
|
|
<div class="admonition warning">
|
|
<p>Currently only supported for Channel, not ChannelGroup.</p>
|
|
</div>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3ddopplerlevel">ChannelControl::get3DDopplerLevel</a>, <a class="apilink" href="core-api-system.html#system_set3dsettings">System::set3DSettings</a></p>
|
|
<h2 api="function" id="channelcontrol_set3dlevel"><a href="#channelcontrol_set3dlevel">ChannelControl::set3DLevel</a></h2>
|
|
<p>Sets the blend between 3D panning and 2D panning.</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="n">ChannelControl</span><span class="o">::</span><span class="n">set3DLevel</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">level</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_Channel_Set3DLevel</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">level</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Set3DLevel</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">level</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">set3DLevel</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">level</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">set3DLevel</span><span class="p">(</span>
|
|
<span class="nx">level</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">set3DLevel</span><span class="p">(</span>
|
|
<span class="nx">level</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>level</dt>
|
|
<dd>
|
|
<p>3D pan level where 0 represents panning/attenuating solely with 2D panning functions and 1 represents solely 3D.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> [0, 1]</li>
|
|
<li><span class="label">Default:</span> 1</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>The <a class="apilink" href="core-api-common.html#fmod_3d">FMOD_3D</a> flag must be set on this object otherwise <a class="apilink" href="core-api-common.html#fmod_err_needs3d">FMOD_ERR_NEEDS3D</a> is returned.</p>
|
|
<p>2D functions include:</p>
|
|
<ul>
|
|
<li><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpan">ChannelControl::setPan</a></li>
|
|
<li><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixlevelsoutput">ChannelControl::setMixLevelsOutput</a></li>
|
|
<li><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixlevelsinput">ChannelControl::setMixLevelsInput</a></li>
|
|
<li><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixmatrix">ChannelControl::setMixMatrix</a></li>
|
|
</ul>
|
|
<p>3D functions include:</p>
|
|
<ul>
|
|
<li><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dattributes">ChannelControl::set3DAttributes</a></li>
|
|
<li><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dconeorientation">ChannelControl::set3DConeOrientation</a></li>
|
|
<li><a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dcustomrolloff">ChannelControl::set3DCustomRolloff</a></li>
|
|
</ul>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3dlevel">ChannelControl::get3DLevel</a></p>
|
|
<h2 api="function" id="channelcontrol_set3dminmaxdistance"><a href="#channelcontrol_set3dminmaxdistance">ChannelControl::set3DMinMaxDistance</a></h2>
|
|
<p>Sets the minimum and maximum distances used to calculate the 3D roll-off attenuation.</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="n">ChannelControl</span><span class="o">::</span><span class="n">set3DMinMaxDistance</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">mindistance</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">maxdistance</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_Channel_Set3DMinMaxDistance</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">mindistance</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">maxdistance</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Set3DMinMaxDistance</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">mindistance</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">maxdistance</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">set3DMinMaxDistance</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">mindistance</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">maxdistance</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">set3DMinMaxDistance</span><span class="p">(</span>
|
|
<span class="nx">mindistance</span><span class="p">,</span>
|
|
<span class="nx">maxdistance</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">set3DMinMaxDistance</span><span class="p">(</span>
|
|
<span class="nx">mindistance</span><span class="p">,</span>
|
|
<span class="nx">maxdistance</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>mindistance</dt>
|
|
<dd>
|
|
<p>Distance from the source where attenuation begins.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> <a href="glossary.html#distance-units">Distance units</a></li>
|
|
<li><span class="label">Range:</span> [0, <code>maxdistance</code>]</li>
|
|
<li><span class="label">Default:</span> 1</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>maxdistance</dt>
|
|
<dd>
|
|
<p>Distance from the source where attenuation ends.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> <a href="glossary.html#distance-units">Distance units</a></li>
|
|
<li><span class="label">Range:</span> [<code>mindistance</code>, inf)</li>
|
|
<li><span class="label">Default:</span> 10000</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>When the listener is within the minimum distance of the sound source the 3D volume will be at its maximum. As the listener moves from the minimum distance to the maximum distance the sound will attenuate following the roll-off curve set. When outside the maximum distance the sound will no longer attenuate.</p>
|
|
<p>Attenuation in 3D space is controlled by the roll-off mode, these are <a class="apilink" href="core-api-common.html#fmod_3d_inverserolloff">FMOD_3D_INVERSEROLLOFF</a>, <a class="apilink" href="core-api-common.html#fmod_3d_linearrolloff">FMOD_3D_LINEARROLLOFF</a>, <a class="apilink" href="core-api-common.html#fmod_3d_linearsquarerolloff">FMOD_3D_LINEARSQUAREROLLOFF</a>, <a class="apilink" href="core-api-common.html#fmod_3d_inversetaperedrolloff">FMOD_3D_INVERSETAPEREDROLLOFF</a>, <a class="apilink" href="core-api-common.html#fmod_3d_customrolloff">FMOD_3D_CUSTOMROLLOFF</a>.</p>
|
|
<p>Minimum distance is useful to give the impression that the sound is loud or soft in 3D space.<br />
|
|
A sound with a small 3D minimum distance in a typical (non custom) roll-off mode will make the sound appear small, and the sound will attenuate quickly.<br />
|
|
A sound with a large minimum distance will make the sound appear larger. </p>
|
|
<p>The <a class="apilink" href="core-api-common.html#fmod_3d">FMOD_3D</a> flag must be set on this object otherwise <a class="apilink" href="core-api-common.html#fmod_err_needs3d">FMOD_ERR_NEEDS3D</a> is returned.</p>
|
|
<p>To define the min and max distance per <a class="apilink" href="core-api-sound.html">Sound</a> instead of <a class="apilink" href="core-api-channel.html">Channel</a> or <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> use <a class="apilink" href="core-api-sound.html#sound_set3dminmaxdistance">Sound::set3DMinMaxDistance</a>.</p>
|
|
<p>If <a class="apilink" href="core-api-common.html#fmod_3d_customrolloff">FMOD_3D_CUSTOMROLLOFF</a> has been set on this object these values are stored, but ignored in 3D processing.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3dminmaxdistance">ChannelControl::get3DMinMaxDistance</a></p>
|
|
<h2 api="function" id="channelcontrol_set3docclusion"><a href="#channelcontrol_set3docclusion">ChannelControl::set3DOcclusion</a></h2>
|
|
<p>Sets the 3D attenuation factors for the direct and reverb paths.</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="n">ChannelControl</span><span class="o">::</span><span class="n">set3DOcclusion</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">directocclusion</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">reverbocclusion</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_Channel_Set3DOcclusion</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">directocclusion</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">reverbocclusion</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Set3DOcclusion</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">directocclusion</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">reverbocclusion</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">set3DOcclusion</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">directocclusion</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">reverbocclusion</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">set3DOcclusion</span><span class="p">(</span>
|
|
<span class="nx">directocclusion</span><span class="p">,</span>
|
|
<span class="nx">reverbocclusion</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">set3DOcclusion</span><span class="p">(</span>
|
|
<span class="nx">directocclusion</span><span class="p">,</span>
|
|
<span class="nx">reverbocclusion</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>directocclusion</dt>
|
|
<dd>
|
|
<p>Occlusion factor for the direct path where 0 represents no occlusion and 1 represents full occlusion.</p>
|
|
<ul>
|
|
<li><span class="label">Range:</span> [0, 1]</li>
|
|
<li><span class="label">Default:</span> 0</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>reverbocclusion</dt>
|
|
<dd>
|
|
<p>Occlusion factor for the reverb path where 0 represents no occlusion and 1 represents full occlusion.</p>
|
|
<ul>
|
|
<li><span class="label">Range:</span> [0, 1]</li>
|
|
<li><span class="label">Default:</span> 0</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>There is a reverb path/send when <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setreverbproperties">ChannelControl::setReverbProperties</a> has been used, <code>reverbocclusion</code> controls its attenuation.</p>
|
|
<p>If the <a class="apilink" href="core-api-system.html">System</a> has been initialized with <a class="apilink" href="core-api-system.html#fmod_init_channel_distancefilter">FMOD_INIT_CHANNEL_DISTANCEFILTER</a> or <a class="apilink" href="core-api-system.html#fmod_init_channel_lowpass">FMOD_INIT_CHANNEL_LOWPASS</a> the <code>directocclusion</code> is applied as frequency filtering rather than volume attenuation.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3docclusion">ChannelControl::get3DOcclusion</a></p>
|
|
<h2 api="function" id="channelcontrol_set3dspread"><a href="#channelcontrol_set3dspread">ChannelControl::set3DSpread</a></h2>
|
|
<p>Sets the spread of a 3D sound in speaker 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-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="n">ChannelControl</span><span class="o">::</span><span class="n">set3DSpread</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">angle</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_Channel_Set3DSpread</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">angle</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Set3DSpread</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">angle</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">set3DSpread</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">angle</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">set3DSpread</span><span class="p">(</span>
|
|
<span class="nx">angle</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">set3DSpread</span><span class="p">(</span>
|
|
<span class="nx">angle</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>angle</dt>
|
|
<dd>
|
|
<p>Angle over which the sound is spread.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Degrees</li>
|
|
<li><span class="label">Range:</span> [0, 360]</li>
|
|
<li><span class="label">Default:</span> 0</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>When the spread angle is 0 (default) a multi-channel <a href="glossary.html#signal">signal</a> will collapse to mono and be spatialized to a single point based on <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_set3dattributes">ChannelControl::set3DAttributes</a> calculations. As the angle is increased, each channel within a multi-channel signal will be rotated away from that point. For 2, 4, 6, 8, and 12 channel signals, the spread is arranged from leftmost speaker to rightmost speaker intelligently, for example in 5.1 the leftmost speaker is rear left, followed by front left, center, front right then finally rear right as the rightmost speaker (LFE is not spread). For other channel counts the individual channels are spread evenly in the order of the signal. As the signal is spread the power will be preserved.</p>
|
|
<p>For a stereo signal given different spread angles:</p>
|
|
<ul>
|
|
<li>0: Sound is collapsed to mono and spatialized to a single point.</li>
|
|
<li>90: Left channel is rotated 45 degrees to the left compared with angle=0 and the right channel 45 degrees to the right.</li>
|
|
<li>180: Left channel is rotated 90 degrees to the left compared with angle=0 and the right channel 90 degrees to the right.</li>
|
|
<li>360: Left channel is rotated 180 degrees to the left and the right channel 180 degrees to the right. This means the sound is collapsed to mono and spatialized to a single point in the opposite direction compared with (angle=0).</li>
|
|
</ul>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_get3dspread">ChannelControl::get3DSpread</a></p>
|
|
<h2 api="function" id="channelcontrol_setcallback"><a href="#channelcontrol_setcallback">ChannelControl::setCallback</a></h2>
|
|
<p>Sets the callback for ChannelControl level notifications.</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="n">ChannelControl</span><span class="o">::</span><span class="n">setCallback</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELCONTROL_CALLBACK</span> <span class="n">callback</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_Channel_SetCallback</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_CHANNELCONTROL_CALLBACK</span> <span class="n">callback</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_SetCallback</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_CHANNELCONTROL_CALLBACK</span> <span class="n">callback</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">setCallback</span><span class="p">(</span>
|
|
<span class="n">CHANNEL_CALLBACK</span> <span class="n">callback</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">setCallback</span><span class="p">(</span>
|
|
<span class="nx">callback</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">setCallback</span><span class="p">(</span>
|
|
<span class="nx">callback</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>callback</dt>
|
|
<dd>Callback to invoke. (<a class="apilink" href="core-api-channelcontrol.html#fmod_channelcontrol_callback">FMOD_CHANNELCONTROL_CALLBACK</a>)</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a href="glossary.html#callback-behavior">Callback Behavior</a>, <a class="apilink" href="core-api-channelcontrol.html#fmod_channelcontrol_callback_type">FMOD_CHANNELCONTROL_CALLBACK_TYPE</a></p>
|
|
<h2 api="function" id="channelcontrol_setdelay"><a href="#channelcontrol_setdelay">ChannelControl::setDelay</a></h2>
|
|
<p>Sets a sample accurate start (and/or stop) time relative to the parent ChannelGroup <a href="glossary.html#dsp-clock">DSP clock</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-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="n">ChannelControl</span><span class="o">::</span><span class="n">setDelay</span><span class="p">(</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">dspclock_start</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">dspclock_end</span><span class="p">,</span>
|
|
<span class="kt">bool</span> <span class="n">stopchannels</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_Channel_SetDelay</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">dspclock_start</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">dspclock_end</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="n">stopchannels</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_SetDelay</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">dspclock_start</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">dspclock_end</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="n">stopchannels</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">setDelay</span><span class="p">(</span>
|
|
<span class="kt">ulong</span> <span class="n">dspclock_start</span><span class="p">,</span>
|
|
<span class="kt">ulong</span> <span class="n">dspclock_end</span><span class="p">,</span>
|
|
<span class="kt">bool</span> <span class="n">stopchannels</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">Channel</span><span class="p">.</span><span class="nx">setDelay</span><span class="p">(</span>
|
|
<span class="nx">dspclock_start</span><span class="p">,</span>
|
|
<span class="nx">dspclock_end</span><span class="p">,</span>
|
|
<span class="nx">stopchannels</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">setDelay</span><span class="p">(</span>
|
|
<span class="nx">dspclock_start</span><span class="p">,</span>
|
|
<span class="nx">dspclock_end</span><span class="p">,</span>
|
|
<span class="nx">stopchannels</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>dspclock_start <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>
|
|
<p><a href="glossary.html#dsp-clock">DSP clock</a> of the parent <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> to audibly start playing sound at.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Samples</li>
|
|
<li><span class="label">Default:</span> 0</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>dspclock_end <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>
|
|
<p><a href="glossary.html#dsp-clock">DSP clock</a> of the parent <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> to audibly stop playing sound at.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Samples</li>
|
|
<li><span class="label">Default:</span> 0</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>stopchannels</dt>
|
|
<dd>
|
|
<p>True: When <code>dspclock_end</code> is reached, behaves like <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_stop">ChannelControl::stop</a> has been called.<br />
|
|
False: When <code>dspclock_end</code> is reached, behaves like <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpaused">ChannelControl::setPaused</a> has been called, a subsequent <code>dspclock_start</code> allows it to resume.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Boolean</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>To perform sample accurate scheduling use <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getdspclock">ChannelControl::getDSPClock</a> to query the parent clock value. If a parent <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> changes its pitch, the start and stop times will still be correct as the parent clock rate is adjusted by that pitch.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getdelay">ChannelControl::getDelay</a></p>
|
|
<h2 api="function" id="channelcontrol_setdspindex"><a href="#channelcontrol_setdspindex">ChannelControl::setDSPIndex</a></h2>
|
|
<p>Sets the index in the <a href="glossary.html#dsp-chain">DSP chain</a> of the specified <a href="glossary.html#dsp">DSP</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-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="n">ChannelControl</span><span class="o">::</span><span class="n">setDSPIndex</span><span class="p">(</span>
|
|
<span class="n">DSP</span> <span class="o">*</span><span class="n">dsp</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">index</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_Channel_SetDSPIndex</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_DSP</span> <span class="o">*</span><span class="n">dsp</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">index</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_SetDSPIndex</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_DSP</span> <span class="o">*</span><span class="n">dsp</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">index</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">setDSPIndex</span><span class="p">(</span>
|
|
<span class="n">DSP</span> <span class="n">dsp</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">index</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">setDSPIndex</span><span class="p">(</span>
|
|
<span class="nx">dsp</span><span class="p">,</span>
|
|
<span class="nx">index</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">setDSPIndex</span><span class="p">(</span>
|
|
<span class="nx">dsp</span><span class="p">,</span>
|
|
<span class="nx">index</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>dsp</dt>
|
|
<dd>A <a href="glossary.html#dsp">DSP unit</a> that exists in the <a href="glossary.html#dsp-chain">DSP chain</a>. (<a class="apilink" href="core-api-dsp.html">DSP</a>)</dd>
|
|
<dt>index</dt>
|
|
<dd>Offset into the <a href="glossary.html#dsp-chain">DSP chain</a> to move the <a class="apilink" href="core-api-dsp.html">DSP</a> to, see <a class="apilink" href="core-api-channelcontrol.html#fmod_channelcontrol_dsp_index">FMOD_CHANNELCONTROL_DSP_INDEX</a> for special named offsets.</dd>
|
|
</dl>
|
|
<p>This will move a <a class="apilink" href="core-api-dsp.html">DSP</a> already in the <a href="glossary.html#dsp-chain">DSP chain</a> to a new offset.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getdspindex">ChannelControl::getDSPIndex</a></p>
|
|
<h2 api="function" id="channelcontrol_setfadepointramp"><a href="#channelcontrol_setfadepointramp">ChannelControl::setFadePointRamp</a></h2>
|
|
<p>Adds a volume ramp at the specified time in the future using fade points.</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="n">ChannelControl</span><span class="o">::</span><span class="n">setFadePointRamp</span><span class="p">(</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">dspclock</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">volume</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_Channel_SetFadePointRamp</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">dspclock</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">volume</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_SetFadePointRamp</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">dspclock</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">volume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">setFadePointRamp</span><span class="p">(</span>
|
|
<span class="kt">ulong</span> <span class="n">dspclock</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">volume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">setFadePointRamp</span><span class="p">(</span>
|
|
<span class="nx">dspclock</span><span class="p">,</span>
|
|
<span class="nx">volume</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">setFadePointRamp</span><span class="p">(</span>
|
|
<span class="nx">dspclock</span><span class="p">,</span>
|
|
<span class="nx">volume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>dspclock</dt>
|
|
<dd>
|
|
<p>Time at which the ramp will end, as measured by the <a href="glossary.html#dsp-clock">DSP clock</a> of the parent <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a>.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Samples</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>volume</dt>
|
|
<dd>
|
|
<p>Volume level at the given <code>dspclock</code>. 0 = silent, 1 = full.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> [0, inf)</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>This is a convenience function that creates a scheduled 64 sample fade point ramp from the current volume level to <code>volume</code> arriving at <code>dspclock</code> time. </p>
|
|
<p>Can be use in conjunction with <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setdelay">ChannelControl::SetDelay</a>.</p>
|
|
<p>All fade points after <code>dspclock</code> will be removed.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_removefadepoints">ChannelControl::removeFadePoints</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_addfadepoint">ChannelControl::addFadePoint</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getfadepoints">ChannelControl::getFadePoints</a></p>
|
|
<h2 api="function" id="channelcontrol_setlowpassgain"><a href="#channelcontrol_setlowpassgain">ChannelControl::setLowPassGain</a></h2>
|
|
<p>Sets the gain of the dry <a href="glossary.html#signal">signal</a> when built in lowpass / distance filtering is applied.</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="n">ChannelControl</span><span class="o">::</span><span class="n">setLowPassGain</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">gain</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_Channel_SetLowPassGain</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">gain</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_SetLowPassGain</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">gain</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">setLowPassGain</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">gain</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">setLowPassGain</span><span class="p">(</span>
|
|
<span class="nx">gain</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">setLowPassGain</span><span class="p">(</span>
|
|
<span class="nx">gain</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>gain</dt>
|
|
<dd>
|
|
<p>gain level where 0 represents silent (full filtering) and 1 represents full volume (no filtering).</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> [0, 1]</li>
|
|
<li><span class="label">Default:</span> 1</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>Requires the built in lowpass to be created with <a class="apilink" href="core-api-system.html#fmod_init_channel_lowpass">FMOD_INIT_CHANNEL_LOWPASS</a> or <a class="apilink" href="core-api-system.html#fmod_init_channel_distancefilter">FMOD_INIT_CHANNEL_DISTANCEFILTER</a>.</p>
|
|
<div class="admonition warning">
|
|
<p>Currently only supported for Channel, not ChannelGroup.</p>
|
|
</div>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getlowpassgain">ChannelControl::getLowPassGain</a></p>
|
|
<h2 api="function" id="channelcontrol_setmixlevelsinput"><a href="#channelcontrol_setmixlevelsinput">ChannelControl::setMixLevelsInput</a></h2>
|
|
<p>Sets the incoming volume level for each channel of a multi-channel <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-cpp"><pre><span></span><span class="n">FMOD_RESULT</span> <span class="n">ChannelControl</span><span class="o">::</span><span class="n">setMixLevelsInput</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">levels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">numlevels</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_Channel_SetMixLevelsInput</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">levels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">numlevels</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_SetMixLevelsInput</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">levels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">numlevels</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">setMixLevelsInput</span><span class="p">(</span>
|
|
<span class="kt">float</span><span class="p">[]</span> <span class="n">levels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">numlevels</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">setMixLevelsInput</span><span class="p">(</span>
|
|
<span class="nx">levels</span><span class="p">,</span>
|
|
<span class="nx">numlevels</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">setMixLevelsInput</span><span class="p">(</span>
|
|
<span class="nx">levels</span><span class="p">,</span>
|
|
<span class="nx">numlevels</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>levels</dt>
|
|
<dd>
|
|
<p>Array of volume levels for each incoming channel. Volume level. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> (-inf, inf)</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>numlevels</dt>
|
|
<dd>
|
|
<p>Number of levels in the array.</p>
|
|
<ul>
|
|
<li><span class="label">Range:</span> [1, <a class="apilink" href="core-api-common.html#fmod_max_channel_width">FMOD_MAX_CHANNEL_WIDTH</a>]</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>This is a convenience function to avoid passing a matrix, it will overwrite values set via <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpan">ChannelControl::setPan</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixlevelsoutput">ChannelControl::setMixLevelsOutput</a> and <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixmatrix">ChannelControl::setMixMatrix</a>.</p>
|
|
<div class="admonition warning">
|
|
<p>Currently only supported for <a class="apilink" href="core-api-channel.html">Channel</a>, not <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a>.</p>
|
|
</div>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getmixmatrix">ChannelControl::getMixMatrix</a></p>
|
|
<h2 api="function" id="channelcontrol_setmixlevelsoutput"><a href="#channelcontrol_setmixlevelsoutput">ChannelControl::setMixLevelsOutput</a></h2>
|
|
<p>Sets the outgoing volume levels for each speaker.</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="n">ChannelControl</span><span class="o">::</span><span class="n">setMixLevelsOutput</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">frontleft</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">frontright</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">center</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">lfe</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">surroundleft</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">surroundright</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">backleft</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">backright</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_Channel_SetMixLevelsOutput</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">frontleft</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">frontright</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">center</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">lfe</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">surroundleft</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">surroundright</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">backleft</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">backright</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_SetMixLevelsOutput</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">frontleft</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">frontright</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">center</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">lfe</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">surroundleft</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">surroundright</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">backleft</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">backright</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">setMixLevelsOutput</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">frontleft</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">frontright</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">center</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">lfe</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">surroundleft</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">surroundright</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">backleft</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">backright</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">setMixLevelsOutput</span><span class="p">(</span>
|
|
<span class="nx">frontleft</span><span class="p">,</span>
|
|
<span class="nx">frontright</span><span class="p">,</span>
|
|
<span class="nx">center</span><span class="p">,</span>
|
|
<span class="nx">lfe</span><span class="p">,</span>
|
|
<span class="nx">surroundleft</span><span class="p">,</span>
|
|
<span class="nx">surroundright</span><span class="p">,</span>
|
|
<span class="nx">backleft</span><span class="p">,</span>
|
|
<span class="nx">backright</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">setMixLevelsOutput</span><span class="p">(</span>
|
|
<span class="nx">frontleft</span><span class="p">,</span>
|
|
<span class="nx">frontright</span><span class="p">,</span>
|
|
<span class="nx">center</span><span class="p">,</span>
|
|
<span class="nx">lfe</span><span class="p">,</span>
|
|
<span class="nx">surroundleft</span><span class="p">,</span>
|
|
<span class="nx">surroundright</span><span class="p">,</span>
|
|
<span class="nx">backleft</span><span class="p">,</span>
|
|
<span class="nx">backright</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>frontleft</dt>
|
|
<dd>
|
|
<p>Volume level for <a class="apilink" href="core-api-common.html#fmod_speaker_front_left">FMOD_SPEAKER_FRONT_LEFT</a>. Volume level. 0 = silent, 1 = full. Negative level inverts the <a href="glossary.html#signal">signal</a>. Values larger than 1 amplify the signal.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> (-inf, inf)</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>frontright</dt>
|
|
<dd>
|
|
<p>Volume level for <a class="apilink" href="core-api-common.html#fmod_speaker_front_right">FMOD_SPEAKER_FRONT_RIGHT</a>. Volume level. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> (-inf, inf)</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>center</dt>
|
|
<dd>
|
|
<p>Volume level for <a class="apilink" href="core-api-common.html#fmod_speaker_front_center">FMOD_SPEAKER_FRONT_CENTER</a>. Volume level. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> (-inf, inf)</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>lfe</dt>
|
|
<dd>
|
|
<p>Volume level for <a class="apilink" href="core-api-common.html#fmod_speaker_low_frequency">FMOD_SPEAKER_LOW_FREQUENCY</a>. Volume level. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> (-inf, inf)</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>surroundleft</dt>
|
|
<dd>
|
|
<p>Volume level for <a class="apilink" href="core-api-common.html#fmod_speaker_surround_left">FMOD_SPEAKER_SURROUND_LEFT</a>. Volume level. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> (-inf, inf)</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>surroundright</dt>
|
|
<dd>
|
|
<p>Volume level for <a class="apilink" href="core-api-common.html#fmod_speaker_surround_right">FMOD_SPEAKER_SURROUND_RIGHT</a>. Volume level. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> (-inf, inf)</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>backleft</dt>
|
|
<dd>
|
|
<p>Volume level for <a class="apilink" href="core-api-common.html#fmod_speaker_back_left">FMOD_SPEAKER_BACK_LEFT</a>. Volume level. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> (-inf, inf)</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>backright</dt>
|
|
<dd>
|
|
<p>Volume level for <a class="apilink" href="core-api-common.html#fmod_speaker_back_right">FMOD_SPEAKER_BACK_RIGHT</a>. Volume level. 0 = silent, 1 = full. Negative level inverts the signal. Values larger than 1 amplify the signal.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> (-inf, inf)</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>Specify the level for a given output speaker, if the channel count of the input and output do not match, channels will be up/down mixed as appropriate to approximate the given speaker values. For example stereo input with 5.1 output will use the <code>center</code> parameter to distribute signal to the center speaker from front left and front right channels.</p>
|
|
<p>This is a convenience function to avoid passing a matrix, it will overwrite values set via <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpan">ChannelControl::setPan</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixlevelsinput">ChannelControl::setMixLevelsInput</a> and <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixmatrix">ChannelControl::setMixMatrix</a>.</p>
|
|
<p>The output channel count will always match the System speaker mode set via <a class="apilink" href="core-api-system.html#system_setsoftwareformat">System::setSoftwareFormat</a>.</p>
|
|
<p>If the System is initialized with <a class="apilink" href="core-api-common.html#fmod_speakermode_raw">FMOD_SPEAKERMODE_RAW</a> calling this function will produce silence.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getmixmatrix">ChannelControl::getMixMatrix</a></p>
|
|
<h2 api="function" id="channelcontrol_setmixmatrix"><a href="#channelcontrol_setmixmatrix">ChannelControl::setMixMatrix</a></h2>
|
|
<p>Sets a two-dimensional pan matrix that maps the <a href="glossary.html#signal">signal</a> from input channels (columns) to output speakers (rows).</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="n">ChannelControl</span><span class="o">::</span><span class="n">setMixMatrix</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">matrix</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">outchannels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">inchannels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">inchannel_hop</span> <span class="o">=</span> <span class="mi">0</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_Channel_SetMixMatrix</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">matrix</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">outchannels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">inchannels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">inchannel_hop</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_SetMixMatrix</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="o">*</span><span class="n">matrix</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">outchannels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">inchannels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">inchannel_hop</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">setMixMatrix</span><span class="p">(</span>
|
|
<span class="kt">float</span><span class="p">[]</span> <span class="n">matrix</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">outchannels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">inchannels</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">inchannel_hop</span> <span class="p">=</span> <span class="m">0</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">setMixMatrix</span><span class="p">(</span>
|
|
<span class="nx">matrix</span><span class="p">,</span>
|
|
<span class="nx">outchannels</span><span class="p">,</span>
|
|
<span class="nx">inchannels</span><span class="p">,</span>
|
|
<span class="nx">inchannel_hop</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">setMixMatrix</span><span class="p">(</span>
|
|
<span class="nx">matrix</span><span class="p">,</span>
|
|
<span class="nx">outchannels</span><span class="p">,</span>
|
|
<span class="nx">inchannels</span><span class="p">,</span>
|
|
<span class="nx">inchannel_hop</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>matrix <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>
|
|
<p>Two dimensional array of volume levels in row-major order. Each row represents an output speaker, each column represents an input channel.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> (-inf, inf)</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>outchannels</dt>
|
|
<dd>
|
|
<p>Number of output channels (rows) in <code>matrix</code>.</p>
|
|
<ul>
|
|
<li><span class="label">Range:</span> [0, <a class="apilink" href="core-api-common.html#fmod_max_channel_width">FMOD_MAX_CHANNEL_WIDTH</a>]</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>inchannels</dt>
|
|
<dd>
|
|
<p>Number of input channels (columns) in <code>matrix</code>.</p>
|
|
<ul>
|
|
<li><span class="label">Range:</span> [0, <a class="apilink" href="core-api-common.html#fmod_max_channel_width">FMOD_MAX_CHANNEL_WIDTH</a>]</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>inchannel_hop <span><a class="token" href="glossary.html#documentation-conventions" title="Optional">Opt</a></span></dt>
|
|
<dd>Width (total number of columns) in source <code>matrix</code>. A matrix element is referenced as 'outchannel * inchannel_hop + inchannel'.</dd>
|
|
</dl>
|
|
<ul>
|
|
<li>Range: [0, <a class="apilink" href="core-api-common.html#fmod_max_channel_width">FMOD_MAX_CHANNEL_WIDTH</a>]</li>
|
|
<li>Default: <code>inchannels</code></li>
|
|
</ul>
|
|
<p>This will overwrite values set via <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setpan">ChannelControl::setPan</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixlevelsinput">ChannelControl::setMixLevelsInput</a> and <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixlevelsoutput">ChannelControl::setMixLevelsOutput</a>.</p>
|
|
<p>If no matrix is passed in via <code>matrix</code> a default upmix, downmix, or unit matrix will take its place. A unit matrix allows a signal to pass through unchanged.</p>
|
|
<p>Example 5.1 unit matrix:</p>
|
|
<pre><code>1 0 0 0 0 0
|
|
0 1 0 0 0 0
|
|
0 0 1 0 0 0
|
|
0 0 0 1 0 0
|
|
0 0 0 0 1 0
|
|
0 0 0 0 0 1
|
|
</code></pre>
|
|
<p>Matrix element values can be below 0 to invert a signal and above 1 to amplify the signal. Note that increasing the signal level too far may cause audible distortion.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getmixmatrix">ChannelControl::getMixMatrix</a></p>
|
|
<h2 api="function" id="channelcontrol_setmode"><a href="#channelcontrol_setmode">ChannelControl::setMode</a></h2>
|
|
<p>Sets the playback mode that controls how this object behaves.</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="n">ChannelControl</span><span class="o">::</span><span class="n">setMode</span><span class="p">(</span>
|
|
<span class="n">FMOD_MODE</span> <span class="n">mode</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_Channel_SetMode</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_MODE</span> <span class="n">mode</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_SetMode</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_MODE</span> <span class="n">mode</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">setMode</span><span class="p">(</span>
|
|
<span class="n">MODE</span> <span class="n">mode</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">setMode</span><span class="p">(</span>
|
|
<span class="nx">mode</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">setMode</span><span class="p">(</span>
|
|
<span class="nx">mode</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>mode</dt>
|
|
<dd>
|
|
<p>Playback mode. 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_mode">FMOD_MODE</a>)</p>
|
|
<ul>
|
|
<li><span class="label">Default:</span> <a class="apilink" href="core-api-common.html#fmod_default">FMOD_DEFAULT</a></li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>Modes supported:</p>
|
|
<ul>
|
|
<li><a class="apilink" href="core-api-common.html#fmod_loop_off">FMOD_LOOP_OFF</a></li>
|
|
<li><a class="apilink" href="core-api-common.html#fmod_loop_normal">FMOD_LOOP_NORMAL</a></li>
|
|
<li><a class="apilink" href="core-api-common.html#fmod_loop_bidi">FMOD_LOOP_BIDI</a></li>
|
|
<li><a class="apilink" href="core-api-common.html#fmod_2d">FMOD_2D</a></li>
|
|
<li><a class="apilink" href="core-api-common.html#fmod_3d">FMOD_3D</a></li>
|
|
<li><a class="apilink" href="core-api-common.html#fmod_3d_headrelative">FMOD_3D_HEADRELATIVE</a></li>
|
|
<li><a class="apilink" href="core-api-common.html#fmod_3d_worldrelative">FMOD_3D_WORLDRELATIVE</a></li>
|
|
<li><a class="apilink" href="core-api-common.html#fmod_3d_inverserolloff">FMOD_3D_INVERSEROLLOFF</a></li>
|
|
<li><a class="apilink" href="core-api-common.html#fmod_3d_linearrolloff">FMOD_3D_LINEARROLLOFF</a></li>
|
|
<li><a class="apilink" href="core-api-common.html#fmod_3d_linearsquarerolloff">FMOD_3D_LINEARSQUAREROLLOFF</a></li>
|
|
<li><a class="apilink" href="core-api-common.html#fmod_3d_inversetaperedrolloff">FMOD_3D_INVERSETAPEREDROLLOFF</a></li>
|
|
<li><a class="apilink" href="core-api-common.html#fmod_3d_customrolloff">FMOD_3D_CUSTOMROLLOFF</a></li>
|
|
<li><a class="apilink" href="core-api-common.html#fmod_3d_ignoregeometry">FMOD_3D_IGNOREGEOMETRY</a></li>
|
|
<li><a class="apilink" href="core-api-common.html#fmod_virtual_playfromstart">FMOD_VIRTUAL_PLAYFROMSTART</a></li>
|
|
</ul>
|
|
<p>When changing the loop mode, sounds created with <a class="apilink" href="core-api-system.html#system_createstream">System::createStream</a> or <a class="apilink" href="core-api-common.html#fmod_createstream">FMOD_CREATESTREAM</a> may have already been pre-buffered and executed their loop logic ahead of time before this call was even made. This is dependent on the size of the sound versus the size of the stream <em>decode</em> buffer (see <a class="apilink" href="core-api-system.html#fmod_createsoundexinfo">FMOD_CREATESOUNDEXINFO</a>). If this happens, you may need to reflush the stream buffer by calling <a class="apilink" href="core-api-channel.html#channel_setposition">Channel::setPosition</a>. Note this will usually only happen if you have sounds or loop points that are smaller than the stream decode buffer size.</p>
|
|
<p>When changing the loop mode of sounds created with with <a class="apilink" href="core-api-system.html#system_createsound">System::createSound</a> or <a class="apilink" href="core-api-common.html#fmod_createsample">FMOD_CREATESAMPLE</a>, if the sound was set up as <a class="apilink" href="core-api-common.html#fmod_loop_off">FMOD_LOOP_OFF</a>, then set to <a class="apilink" href="core-api-common.html#fmod_loop_normal">FMOD_LOOP_NORMAL</a> with this function, the sound may click when playing the end of the sound. This is because the sound needs to be prepared for looping using <a class="apilink" href="core-api-sound.html#sound_setmode">Sound::setMode</a>, by modifying the content of the PCM data (i.e. data past the end of the actual sample data) to allow the interpolators to read ahead without clicking. If you use <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmode">ChannelControl::setMode</a> it will not do this (because different <a class="apilink" href="core-api-channel.html">Channel</a>s may have different loop modes for the same sound) and may click if you try to set it to looping on an unprepared sound. If you want to change the loop mode at runtime it may be better to load the sound as looping first (or use <a class="apilink" href="core-api-sound.html#sound_setmode">Sound::setMode</a>), to let it prepare the data as if it was looping so that it does not click whenever <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmode">ChannelControl::setMode</a> is used to turn looping on.</p>
|
|
<p>If <a class="apilink" href="core-api-common.html#fmod_3d_ignoregeometry">FMOD_3D_IGNOREGEOMETRY</a> or <a class="apilink" href="core-api-common.html#fmod_virtual_playfromstart">FMOD_VIRTUAL_PLAYFROMSTART</a> is not specified, the flag will be cleared if it was specified previously.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getmode">ChannelControl::getMode</a></p>
|
|
<h2 api="function" id="channelcontrol_setmute"><a href="#channelcontrol_setmute">ChannelControl::setMute</a></h2>
|
|
<p>Sets the mute state.</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="n">ChannelControl</span><span class="o">::</span><span class="n">setMute</span><span class="p">(</span>
|
|
<span class="kt">bool</span> <span class="n">mute</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_Channel_SetMute</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="n">mute</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_SetMute</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="n">mute</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">setMute</span><span class="p">(</span>
|
|
<span class="kt">bool</span> <span class="n">mute</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">setMute</span><span class="p">(</span>
|
|
<span class="nx">mute</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">setMute</span><span class="p">(</span>
|
|
<span class="nx">mute</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>mute</dt>
|
|
<dd>
|
|
<p>Mute state. True = silent. False = audible.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Boolean</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>Mute is an additional control for volume, the effect of which is equivalent to setting the volume to zero.</p>
|
|
<p>An individual mute state is kept for each object, muting a parent <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> will effectively mute this object however when queried the individual mute state is returned. <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getaudibility">ChannelControl::getAudibility</a> can be used to calculate overall audibility for a <a class="apilink" href="core-api-channel.html">Channel</a> or <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a>.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getmute">ChannelControl::getMute</a></p>
|
|
<h2 api="function" id="channelcontrol_setpan"><a href="#channelcontrol_setpan">ChannelControl::setPan</a></h2>
|
|
<p>Sets the left/right pan level.</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="n">ChannelControl</span><span class="o">::</span><span class="n">setPan</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">pan</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_Channel_SetPan</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">pan</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_SetPan</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">pan</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">setPan</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">pan</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">setPan</span><span class="p">(</span>
|
|
<span class="nx">pan</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">setPan</span><span class="p">(</span>
|
|
<span class="nx">pan</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>pan</dt>
|
|
<dd>
|
|
<p>Pan level where -1 represents full left, 0 represents center and 1 represents full right.</p>
|
|
<ul>
|
|
<li><span class="label">Range:</span> [-1, 1]</li>
|
|
<li><span class="label">Default:</span> 0</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>This is a convenience function to avoid passing a matrix, it will overwrite values set via <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixlevelsinput">ChannelControl::setMixLevelsInput</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixlevelsoutput">ChannelControl::setMixLevelsOutput</a> and <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setmixmatrix">ChannelControl::setMixMatrix</a>.</p>
|
|
<p>Mono inputs are panned from left to right using constant power panning (non linear fade). Stereo and greater inputs will isolate the front left and right input channels and fade them up and down based on the pan value (silencing other channels). The output channel count will always match the System speaker mode set via <a class="apilink" href="core-api-system.html#system_setsoftwareformat">System::setSoftwareFormat</a>.</p>
|
|
<p>If the System is initialized with <a class="apilink" href="core-api-common.html#fmod_speakermode_raw">FMOD_SPEAKERMODE_RAW</a> calling this function will produce silence.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getmixmatrix">ChannelControl::getMixMatrix</a></p>
|
|
<h2 api="function" id="channelcontrol_setpaused"><a href="#channelcontrol_setpaused">ChannelControl::setPaused</a></h2>
|
|
<p>Sets the paused state.</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="n">ChannelControl</span><span class="o">::</span><span class="n">setPaused</span><span class="p">(</span>
|
|
<span class="kt">bool</span> <span class="n">paused</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_Channel_SetPaused</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="n">paused</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_SetPaused</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="n">paused</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">setPaused</span><span class="p">(</span>
|
|
<span class="kt">bool</span> <span class="n">paused</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">setPaused</span><span class="p">(</span>
|
|
<span class="nx">paused</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">setPaused</span><span class="p">(</span>
|
|
<span class="nx">paused</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>paused</dt>
|
|
<dd>
|
|
<p>Paused state. True = playback halted. False = playback active.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Boolean</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>Pause halts playback which effectively freezes <a class="apilink" href="core-api-channel.html#channel_getposition">Channel::getPosition</a> and <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getdspclock">ChannelControl::getDSPClock</a> values.</p>
|
|
<p>An individual pause state is kept for each object, pausing a parent <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> will effectively pause this object however when queried the individual pause state is returned.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getpaused">ChannelControl::getPaused</a></p>
|
|
<h2 api="function" id="channelcontrol_setpitch"><a href="#channelcontrol_setpitch">ChannelControl::setPitch</a></h2>
|
|
<p>Sets the relative pitch / playback rate.</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="n">ChannelControl</span><span class="o">::</span><span class="n">setPitch</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">pitch</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_Channel_SetPitch</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">pitch</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_SetPitch</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">pitch</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">setPitch</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">pitch</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">setPitch</span><span class="p">(</span>
|
|
<span class="nx">pitch</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">setPitch</span><span class="p">(</span>
|
|
<span class="nx">pitch</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>pitch</dt>
|
|
<dd>Pitch value where 0.5 represents half pitch (one octave down), 1.0 represents unmodified pitch and 2.0 represents double pitch (one octave up).</dd>
|
|
</dl>
|
|
<p>Scales playback frequency of <a class="apilink" href="core-api-channel.html">Channel</a> object or if issued on a <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> it scales the frequencies of all <a class="apilink" href="core-api-channel.html">Channel</a>s contained in the <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a>.</p>
|
|
<p>An individual pitch value is kept for each object, changing the pitch of a parent <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> will effectively alter the pitch of this object however when queried the individual pitch value is returned.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getpitch">ChannelControl::getPitch</a>, <a class="apilink" href="core-api-channel.html#channel_setfrequency">Channel::setFrequency</a>, <a class="apilink" href="core-api-channel.html#channel_getfrequency">Channel::getFrequency</a></p>
|
|
<h2 api="function" id="channelcontrol_setreverbproperties"><a href="#channelcontrol_setreverbproperties">ChannelControl::setReverbProperties</a></h2>
|
|
<p>Sets the wet / send level for a particular reverb instance.</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="n">ChannelControl</span><span class="o">::</span><span class="n">setReverbProperties</span><span class="p">(</span>
|
|
<span class="kt">int</span> <span class="n">instance</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">wet</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_Channel_SetReverbProperties</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">instance</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">wet</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_SetReverbProperties</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">int</span> <span class="n">instance</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">wet</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">setReverbProperties</span><span class="p">(</span>
|
|
<span class="kt">int</span> <span class="n">instance</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">wet</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">setReverbProperties</span><span class="p">(</span>
|
|
<span class="nx">instance</span><span class="p">,</span>
|
|
<span class="nx">wet</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">setReverbProperties</span><span class="p">(</span>
|
|
<span class="nx">instance</span><span class="p">,</span>
|
|
<span class="nx">wet</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>instance</dt>
|
|
<dd>
|
|
<p>Reverb instance index.</p>
|
|
<ul>
|
|
<li><span class="label">Range:</span> [0, <a class="apilink" href="core-api-system.html#fmod_reverb_maxinstances">FMOD_REVERB_MAXINSTANCES</a>]</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>wet</dt>
|
|
<dd>
|
|
<p>Send level for the <a href="glossary.html#signal">signal</a> to the reverb. 0 = none, 1 = full. Negative level inverts the signal.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> (-inf, inf)</li>
|
|
<li><span class="label">Default:</span> 1 for <a class="apilink" href="core-api-channel.html">Channel</a>, 0 for <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a></li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>Channels are automatically connected to all existing reverb instances due to the default wet level of 1. <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a>s however will not send to any reverb by default requiring an explicit call to this function.</p>
|
|
<p><a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> reverb is optimal for the case where you want to send 1 mixed signal to the reverb, rather than a lot of individual <a class="apilink" href="core-api-channel.html">Channel</a> reverb sends. It is advisable to do this to reduce CPU if you have many <a class="apilink" href="core-api-channel.html">Channel</a>s inside a <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a>.</p>
|
|
<p>When setting a wet level for a <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a>, any <a class="apilink" href="core-api-channel.html">Channel</a>s under that <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a> will still have their existing sends to the reverb. To avoid this doubling up you should explicitly set the <a class="apilink" href="core-api-channel.html">Channel</a> wet levels to 0.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getreverbproperties">ChannelControl::getReverbProperties</a></p>
|
|
<h2 api="function" id="channelcontrol_setuserdata"><a href="#channelcontrol_setuserdata">ChannelControl::setUserData</a></h2>
|
|
<p>Sets a user value associated with this object.</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="n">ChannelControl</span><span class="o">::</span><span class="n">setUserData</span><span class="p">(</span>
|
|
<span class="kt">void</span> <span class="o">*</span><span class="n">userdata</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_Channel_SetUserData</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">void</span> <span class="o">*</span><span class="n">userdata</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_SetUserData</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">void</span> <span class="o">*</span><span class="n">userdata</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">setUserData</span><span class="p">(</span>
|
|
<span class="n">IntPtr</span> <span class="n">userdata</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">setUserData</span><span class="p">(</span>
|
|
<span class="nx">userdata</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">setUserData</span><span class="p">(</span>
|
|
<span class="nx">userdata</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>userdata</dt>
|
|
<dd>Value stored on this object.</dd>
|
|
</dl>
|
|
<p>This function allows arbitrary user data to be attached to this object. See the <a href="glossary.html#user-data">User Data</a> section of the glossary for an example of how to get and set user data.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getuserdata">ChannelControl::getUserData</a>, <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setcallback">ChannelControl::setCallback</a></p>
|
|
<h2 api="function" id="channelcontrol_setvolume"><a href="#channelcontrol_setvolume">ChannelControl::setVolume</a></h2>
|
|
<p>Sets the volume level.</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="n">ChannelControl</span><span class="o">::</span><span class="n">setVolume</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">volume</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_Channel_SetVolume</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">volume</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_SetVolume</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="kt">float</span> <span class="n">volume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">setVolume</span><span class="p">(</span>
|
|
<span class="kt">float</span> <span class="n">volume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">setVolume</span><span class="p">(</span>
|
|
<span class="nx">volume</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">setVolume</span><span class="p">(</span>
|
|
<span class="nx">volume</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>volume</dt>
|
|
<dd>
|
|
<p>Volume level. 0 = silent, 1 = full. Negative level inverts the <a href="glossary.html#signal">signal</a>. Values larger than 1 amplify the signal.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Linear</li>
|
|
<li><span class="label">Range:</span> (-inf, inf)</li>
|
|
<li><span class="label">Default:</span> 1</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>To define the volume per Sound use <a class="apilink" href="core-api-sound.html#sound_setdefaults">Sound::setDefaults</a>.</p>
|
|
<p>Setting <code>volume</code> at a level higher than 1 can lead to distortion/clipping.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getvolume">ChannelControl::getVolume</a></p>
|
|
<h2 api="function" id="channelcontrol_setvolumeramp"><a href="#channelcontrol_setvolumeramp">ChannelControl::setVolumeRamp</a></h2>
|
|
<p>Sets whether volume changes are ramped or instantaneous.</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="n">ChannelControl</span><span class="o">::</span><span class="n">setVolumeRamp</span><span class="p">(</span>
|
|
<span class="kt">bool</span> <span class="n">ramp</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_Channel_SetVolumeRamp</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="n">ramp</span>
|
|
<span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_SetVolumeRamp</span><span class="p">(</span>
|
|
<span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">,</span>
|
|
<span class="n">FMOD_BOOL</span> <span class="n">ramp</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">setVolumeRamp</span><span class="p">(</span>
|
|
<span class="kt">bool</span> <span class="n">ramp</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">setVolumeRamp</span><span class="p">(</span>
|
|
<span class="nx">ramp</span>
|
|
<span class="p">);</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">setVolumeRamp</span><span class="p">(</span>
|
|
<span class="nx">ramp</span>
|
|
<span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt>ramp</dt>
|
|
<dd>
|
|
<p>Ramp state. True = volume change is ramped. False = volume change is instantaeous.</p>
|
|
<ul>
|
|
<li><span class="label">Units:</span> Boolean</li>
|
|
<li><span class="label">Default:</span> True</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
<p>Volume changes when not paused will be ramped to the target value to avoid a pop sound, this function allows that setting to be overridden and volume changes to be applied immediately.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_getvolumeramp">ChannelControl::getVolumeRamp</a></p>
|
|
<h2 api="function" id="channelcontrol_stop"><a href="#channelcontrol_stop">ChannelControl::stop</a></h2>
|
|
<p>Stops the Channel (or all Channels in nested ChannelGroups) from playing.</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="n">ChannelControl</span><span class="o">::</span><span class="n">stop</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_Channel_Stop</span><span class="p">(</span><span class="n">FMOD_CHANNEL</span> <span class="o">*</span><span class="n">channel</span><span class="p">);</span>
|
|
<span class="n">FMOD_RESULT</span> <span class="nf">FMOD_ChannelGroup_Stop</span><span class="p">(</span><span class="n">FMOD_CHANNELGROUP</span> <span class="o">*</span><span class="n">channelgroup</span><span class="p">);</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="n">RESULT</span> <span class="n">ChannelControl</span><span class="p">.</span><span class="n">stop</span><span class="p">();</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">Channel</span><span class="p">.</span><span class="nx">stop</span><span class="p">();</span>
|
|
<span class="nx">ChannelGroup</span><span class="p">.</span><span class="nx">stop</span><span class="p">();</span>
|
|
</pre></div>
|
|
|
|
<p>This will free up internal resources for reuse by the virtual voice system.</p>
|
|
<p><a class="apilink" href="core-api-channel.html">Channel</a>s are stopped automatically when their playback position reaches the length of the <a class="apilink" href="core-api-sound.html">Sound</a> being played. This is not the case however if the <a class="apilink" href="core-api-channel.html">Channel</a> is playing a <a href="glossary.html#dsp">DSP</a> or the <a class="apilink" href="core-api-sound.html">Sound</a> is looping, in which case the <a class="apilink" href="core-api-channel.html">Channel</a> will continue playing until stop is called. Once stopped, the <a class="apilink" href="core-api-channel.html">Channel</a> handle will become invalid and can be discarded and any API calls made with it will return <a class="apilink" href="core-api-common.html#fmod_err_invalid_handle">FMOD_ERR_INVALID_HANDLE</a>.</p>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-system.html#system_playsound">System::playSound</a>, <a class="apilink" href="core-api-channel.html#channel_getposition">Channel::getPosition</a>, <a class="apilink" href="core-api-sound.html#sound_getlength">Sound::getLength</a>, <a class="apilink" href="core-api-system.html#system_playdsp">System::playDSP</a></p>
|
|
<h2 api="enum" id="fmod_channelcontrol_type"><a href="#fmod_channelcontrol_type">FMOD_CHANNELCONTROL_TYPE</a></h2>
|
|
<p>Identifier used to distinguish between Channel and ChannelGroup in the ChannelControl callback.</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_CHANNELCONTROL_TYPE</span> <span class="p">{</span>
|
|
<span class="n">FMOD_CHANNELCONTROL_CHANNEL</span><span class="p">,</span>
|
|
<span class="n">FMOD_CHANNELCONTROL_CHANNELGROUP</span><span class="p">,</span>
|
|
<span class="n">FMOD_CHANNELCONTROL_MAX</span><span class="p">,</span>
|
|
<span class="p">}</span> <span class="n">FMOD_CHANNELCONTROL_TYPE</span><span class="p">;</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-csharp"><pre><span></span><span class="k">enum</span> <span class="n">CHANNELCONTROL_TYPE</span> <span class="p">:</span> <span class="kt">int</span>
|
|
<span class="p">{</span>
|
|
<span class="n">CHANNEL</span><span class="p">,</span>
|
|
<span class="n">CHANNELGROUP</span><span class="p">,</span>
|
|
<span class="n">MAX</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
|
|
<div class="highlight language-javascript"><pre><span></span><span class="nx">CHANNELCONTROL_CHANNEL</span>
|
|
<span class="nx">CHANNELCONTROL_CHANNELGROUP</span>
|
|
<span class="nx">CHANNELCONTROL_MAX</span>
|
|
</pre></div>
|
|
|
|
<dl>
|
|
<dt id="fmod_channelcontrol_channel">FMOD_CHANNELCONTROL_CHANNEL</dt>
|
|
<dd>Type representing <a class="apilink" href="core-api-channel.html">Channel</a></dd>
|
|
<dt id="fmod_channelcontrol_channelgroup">FMOD_CHANNELCONTROL_CHANNELGROUP</dt>
|
|
<dd>Type representing <a class="apilink" href="core-api-channelgroup.html">ChannelGroup</a></dd>
|
|
<dt id="fmod_channelcontrol_max">FMOD_CHANNELCONTROL_MAX</dt>
|
|
<dd>Maximum number of <a class="apilink" href="core-api-channelcontrol.html">ChannelControl</a> types.</dd>
|
|
</dl>
|
|
<p><strong>See Also:</strong> <a class="apilink" href="core-api-channelcontrol.html#channelcontrol_setcallback">ChannelControl::setCallback</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>
|