288 lines
20 KiB
HTML
288 lines
20 KiB
HTML
<html>
|
|
<head>
|
|
<title>Settings</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>Unreal Integration 2.02</p>
|
|
<ul>
|
|
<li><a href="welcome.html">Welcome to FMOD for Unreal</a></li>
|
|
<li><a href="user-guide.html">User Guide</a></li>
|
|
<li class="manual-current-chapter manual-active-chapter"><a href="settings.html">Settings</a><ul>
|
|
<li><a href="#basic">Basic</a><ul>
|
|
<li><a href="#load-all-banks">Load All Banks</a></li>
|
|
<li><a href="#load-all-sample-data">Load All Sample Data</a></li>
|
|
<li><a href="#enable-live-update">Enable Live Update</a></li>
|
|
<li><a href="#enable-editor-live-update">Enable Editor Live Update</a></li>
|
|
<li><a href="#bank-output-directory">Bank Output Directory</a></li>
|
|
<li><a href="#output-format">Output Format</a></li>
|
|
<li><a href="#output-type">Output Type</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#localization">Localization</a><ul>
|
|
<li><a href="#locales">Locales</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#init">Init</a><ul>
|
|
<li><a href="#vol-0-virtual">Vol 0 Virtual</a></li>
|
|
<li><a href="#vol-0-virtual-level">Vol 0 Virtual Level</a></li>
|
|
<li><a href="#sample-rate">Sample Rate</a></li>
|
|
<li><a href="#match-hardware-sample-rate">Match Hardware Sample Rate</a></li>
|
|
<li><a href="#real-channel-count">Real Channel Count</a></li>
|
|
<li><a href="#total-channel-count">Total Channel Count</a></li>
|
|
<li><a href="#dsp-buffer-length">DSP Buffer Length</a></li>
|
|
<li><a href="#dsp-buffer-count">DSP Buffer Count</a></li>
|
|
<li><a href="#file-buffer-size">File Buffer Size</a></li>
|
|
<li><a href="#studio-update-period">Studio Update Period</a></li>
|
|
<li><a href="#initial-output-driver-name">Initial Output Driver Name</a></li>
|
|
<li><a href="#lock-all-buses">Lock All Buses</a></li>
|
|
<li><a href="#memory-pool-sizes">Memory Pool Sizes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#advanced">Advanced</a><ul>
|
|
<li><a href="#live-update-port">Live Update Port</a></li>
|
|
<li><a href="#editor-live-update-port">Editor Live Update Port</a></li>
|
|
<li><a href="#reload-banks-delay">Reload Banks Delay</a></li>
|
|
<li><a href="#enable-api-error-logging">Enable API Error Logging</a></li>
|
|
<li><a href="#enable-memory-tracking">Enable Memory Tracking</a></li>
|
|
<li><a href="#plugin-files">Plugin Files</a></li>
|
|
<li><a href="#content-browser-prefix">Content Browser Prefix</a></li>
|
|
<li><a href="#force-platform-name">Force Platform Name</a></li>
|
|
<li><a href="#master-bank-name">Master Bank Name</a></li>
|
|
<li><a href="#skip-load-bank-name">Skip Load Bank Name</a></li>
|
|
<li><a href="#encryption-key">Encryption Key</a></li>
|
|
<li><a href="#wav-writer-path">Wav Writer Path</a></li>
|
|
<li><a href="#logging-level">Logging Level</a></li>
|
|
<li><a href="#occlusion-parameter">Occlusion Parameter</a></li>
|
|
<li><a href="#ambient-volume-parameter">Ambient Volume Parameter</a></li>
|
|
<li><a href="#ambient-lpf-parameter">Ambient LPF Parameter</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#platform-settings">Platform Settings</a><ul>
|
|
<li><a href="#platform">Platform</a><ul>
|
|
<li><a href="#real-channel-count_1">Real Channel Count</a></li>
|
|
<li><a href="#sample-rate_1">Sample Rate</a></li>
|
|
<li><a href="#speaker-mode">Speaker Mode</a></li>
|
|
<li><a href="#output-type_1">Output Type</a></li>
|
|
<li><a href="#custom-pool-size">Custom Pool Size</a></li>
|
|
<li><a href="#codecs">Codecs</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#packaging">Packaging</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="plugins.html">Plugins</a></li>
|
|
<li><a href="api-reference.html">API Reference</a></li>
|
|
<li><a href="blueprint-reference.html">Blueprint Reference</a></li>
|
|
<li><a href="platform-specifics.html">Platform Specifics</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>3. Settings</h1>
|
|
<p>FMOD For Unreal adds a number of configuration options to the <strong>Project Settings</strong> editor.</p>
|
|
<p>Access the settings by opening the <strong>Project Settings</strong> editor from the <strong>Edit</strong> menu, then navigate to the FMOD Studio plugin settings:<br />
|
|
<img alt="Settings" src="images/project-settings.png" /></p>
|
|
<div class="admonition note">
|
|
<p>All of the settings are stored in the default engine configuration file and can be manually edited there if desired.</p>
|
|
</div>
|
|
<h2 id="basic"><a href="#basic">3.1 Basic</a></h2>
|
|
<h3 id="load-all-banks"><a href="#load-all-banks">3.1.1 Load All Banks</a></h3>
|
|
<p>When enabled the metadata from all FMOD bank files is loaded at startup.</p>
|
|
<pre><code>Default: Enabled
|
|
</code></pre>
|
|
<h3 id="load-all-sample-data"><a href="#load-all-sample-data">3.1.2 Load All Sample Data</a></h3>
|
|
<p>When enabled the sample data from all FMOD bank files is loaded at startup. Only effective when <a class="apilink" href="#load-all-banks">Load All Banks</a> is also enabled.</p>
|
|
<pre><code>Default: Disabled
|
|
</code></pre>
|
|
<h3 id="enable-live-update"><a href="#enable-live-update">3.1.3 Enable Live Update</a></h3>
|
|
<p>When enabled FMOD Studio Live Update can connect to non-final builds of the game while running.</p>
|
|
<pre><code>Default: Enabled
|
|
</code></pre>
|
|
<h3 id="enable-editor-live-update"><a href="#enable-editor-live-update">3.1.4 Enable Editor Live Update</a></h3>
|
|
<p>When enabled FMOD Studio Live Update can connect to the editor.</p>
|
|
<pre><code>Default: Disabled
|
|
</code></pre>
|
|
<h3 id="bank-output-directory"><a href="#bank-output-directory">3.1.5 Bank Output Directory</a></h3>
|
|
<p>Path to the FMOD Studio built banks output directory, relative to the project's Content directory. See <a href="user-guide.html#studio-bank-output-directory">Studio Bank Output Directory</a> in the user guide for more information.</p>
|
|
<pre><code>Default: FMOD
|
|
</code></pre>
|
|
<h3 id="output-format"><a href="#output-format">3.1.6 Output Format</a></h3>
|
|
<p>Project output format, this should match the FMOD Studio project Surround Speaker Mode.</p>
|
|
<pre><code>Default: Surround_5_1
|
|
</code></pre>
|
|
<h3 id="output-type"><a href="#output-type">3.1.7 Output Type</a></h3>
|
|
<p>Built-in output types that can be used to run the mixer.</p>
|
|
<pre><code>Default: TYPE_AUTODETECT
|
|
</code></pre>
|
|
<h2 id="localization"><a href="#localization">3.2 Localization</a></h2>
|
|
<h3 id="locales"><a href="#locales">3.2.1 Locales</a></h3>
|
|
<p>List of project locales. This should match the locales configured for the FMOD Studio project. See <a href="user-guide.html#localization">Localization</a> in the user guide for more information.</p>
|
|
<p>Each entry in the list has three members:</p>
|
|
<ol>
|
|
<li>Locale Name: This is the name of the locale displayed in the UI (e.g. in Blueprints).</li>
|
|
<li>Locale Code: This must match the locale code used for the corresponding locale in the FMOD Studio project.</li>
|
|
<li>Default: Make this locale active at startup. Only one locale should be marked as default.</li>
|
|
</ol>
|
|
<p>When loading banks, banks which correspond to the active locale are loaded while banks which correspond to any other recognized locale are skipped.</p>
|
|
<h2 id="init"><a href="#init">3.3 Init</a></h2>
|
|
<h3 id="vol-0-virtual"><a href="#vol-0-virtual">3.3.1 Vol 0 Virtual</a></h3>
|
|
<p>Controls whether the <a class="apilink" href="#vol-0-virtual-level">Vol 0 Virtual Level</a> setting is honored.</p>
|
|
<pre><code>Default: Enabled
|
|
</code></pre>
|
|
<h3 id="vol-0-virtual-level"><a href="#vol-0-virtual-level">3.3.2 Vol 0 Virtual Level</a></h3>
|
|
<p>Sets the signal level at which <a href="https://fmod.com/docs/2.02/api/core-api-channel.html">Channel</a>s are virtualized when the <a class="apilink" href="#vol-0-virtual">Vol 0 Virtual</a> setting is enabled. This corresponds directly to the <code>vol0virtual</code> member of <a href="https://fmod.com/docs/2.02/api/core-api-system.html#fmod_advancedsettings"><code>FMOD_ADVANCED_SETTINGS</code></a> in the Core API.</p>
|
|
<pre><code>Default: 0.0001
|
|
</code></pre>
|
|
<h3 id="sample-rate"><a href="#sample-rate">3.3.3 Sample Rate</a></h3>
|
|
<p>The sample rate for the FMOD mixer. This corresponds to the <code>samplerate</code> parameter of <a href="https://fmod.com/docs/2.02/api/core-api-system.html#system_setsoftwareformat"><code>FMOD::System::setSoftwareFormat</code></a> in the Core API.</p>
|
|
<pre><code>Default: 0 (uses the default sample rate for the platform)
|
|
</code></pre>
|
|
<h3 id="match-hardware-sample-rate"><a href="#match-hardware-sample-rate">3.3.4 Match Hardware Sample Rate</a></h3>
|
|
<p>When enabled attempt to match the sample rate for the FMOD mixer with the output driver's sample rate.</p>
|
|
<pre><code>Default: Enabled
|
|
</code></pre>
|
|
<h3 id="real-channel-count"><a href="#real-channel-count">3.3.5 Real Channel Count</a></h3>
|
|
<p>The maximum number of active <a href="https://fmod.com/docs/2.02/api/core-api-channel.html">Channel</a>s. This corresponds to the <code>numsoftwarechannels</code> parameter of <a href="https://fmod.com/docs/2.02/api/core-api-system.html#system_setsoftwarechannels"><code>FMOD::System::setSoftwareChannels</code></a> in the Core API.</p>
|
|
<pre><code>Default: 64
|
|
</code></pre>
|
|
<h3 id="total-channel-count"><a href="#total-channel-count">3.3.6 Total Channel Count</a></h3>
|
|
<p>The maximum number of <a href="https://fmod.com/docs/2.02/api/core-api-channel.html">Channel</a>s to be used in FMOD. This corresponds to the <code>maxchannels</code> parameter of <a href="https://fmod.com/docs/2.02/api/studio-api-system.html#studio_system_initialize"><code>FMOD::Studio::System::initialize</code></a> in the Studio API.</p>
|
|
<pre><code>Default: 512
|
|
</code></pre>
|
|
<h3 id="dsp-buffer-length"><a href="#dsp-buffer-length">3.3.7 DSP Buffer Length</a></h3>
|
|
<p>The mixer block length for the FMOD mixer. This corresponds to the <code>bufferlength</code> parameter of <a href="https://fmod.com/docs/2.02/api/core-api-system.html#system_setdspbuffersize"><code>FMOD::System::setDSPBufferSize</code></a> in the Core API.</p>
|
|
<pre><code>Units: samples
|
|
Default: 0 (uses the default DSP buffer length for the platform)
|
|
</code></pre>
|
|
<h3 id="dsp-buffer-count"><a href="#dsp-buffer-count">3.3.8 DSP Buffer Count</a></h3>
|
|
<p>The number of mixer blocks for the FMOD mixer to use. This corresponds to the <code>numbuffers</code> parameter of <a href="https://fmod.com/docs/2.02/api/core-api-system.html#system_setdspbuffersize"><code>FMOD::System::setDSPBufferSize</code></a> in the Core API.</p>
|
|
<pre><code>Default: 0 (uses the default DSP buffer count for the platform)
|
|
</code></pre>
|
|
<h3 id="file-buffer-size"><a href="#file-buffer-size">3.3.9 File Buffer Size</a></h3>
|
|
<p>File buffering chunk size. This corresponds to the <code>blockalign</code> parameter of <a href="https://fmod.com/docs/2.02/api/core-api-system.html#system_setfilesystem"><code>FMOD::System::setFileSystem</code></a> in the Core API.</p>
|
|
<pre><code>Units: bytes
|
|
Default: 2048
|
|
</code></pre>
|
|
<h3 id="studio-update-period"><a href="#studio-update-period">3.3.10 Studio Update Period</a></h3>
|
|
<p>Update period of FMOD Studio. This corresponds to the <code>studioupdateperiod</code> member of <a href="https://fmod.com/docs/2.02/api/studio-api-system.html#fmod_studio_advancedsettings"><code>FMOD_STUDIO_ADVANCEDSETTINGS</code></a> in the Studio API.</p>
|
|
<pre><code>Units: milliseconds
|
|
Default: 0 (uses the default update period for FMOD Studio)
|
|
</code></pre>
|
|
<h3 id="initial-output-driver-name"><a href="#initial-output-driver-name">3.3.11 Initial Output Driver Name</a></h3>
|
|
<p>Name of output driver to choose at start up. If this is not empty the available output drivers are enumerated at start up and if a driver with a matching name is found then that driver is selected for output.</p>
|
|
<pre><code>Default: Empty (uses the default output driver)
|
|
</code></pre>
|
|
<h3 id="lock-all-buses"><a href="#lock-all-buses">3.3.12 Lock All Buses</a></h3>
|
|
<p>When enabled all buses in the global mixer are locked when the master bank is loaded. This ensures that all buses in the global mixer are created.</p>
|
|
<pre><code>Default: Disabled
|
|
</code></pre>
|
|
<h3 id="memory-pool-sizes"><a href="#memory-pool-sizes">3.3.13 Memory Pool Sizes</a></h3>
|
|
<p>Size of memory pool to use on each platform. When this is set to a value other than zero a memory pool of the requested size is allocated using the Unreal memory system and all FMOD memory allocations are made from the pool. Otherwise FMOD memory allocations directly use the Unreal memory system.</p>
|
|
<pre><code>Units: bytes
|
|
Default: 0
|
|
</code></pre>
|
|
<h2 id="advanced"><a href="#advanced">3.4 Advanced</a></h2>
|
|
<h3 id="live-update-port"><a href="#live-update-port">3.4.1 Live Update Port</a></h3>
|
|
<p>TCP port to listen on for FMOD Studio Live Update connections when running non-final builds of the game.</p>
|
|
<pre><code>Default: 9264
|
|
</code></pre>
|
|
<h3 id="editor-live-update-port"><a href="#editor-live-update-port">3.4.2 Editor Live Update Port</a></h3>
|
|
<p>TCP port to listen on for FMOD Studio Live Update connections when running the editor.</p>
|
|
<pre><code>Default: 9265
|
|
</code></pre>
|
|
<h3 id="reload-banks-delay"><a href="#reload-banks-delay">3.4.3 Reload Banks Delay</a></h3>
|
|
<p>Delay before automatically reloading modified banks from disk. This can be extended if building banks takes a long time and Unreal tries to reload banks before building is completed. Set to 0 to disable automatic bank reloading.</p>
|
|
<pre><code>Units: seconds
|
|
Default: 5
|
|
</code></pre>
|
|
<h3 id="enable-api-error-logging"><a href="#enable-api-error-logging">3.4.4 Enable API Error Logging</a></h3>
|
|
<p>Will log internal API errors when enabled.</p>
|
|
<pre><code>Default: Disabled
|
|
</code></pre>
|
|
<h3 id="enable-memory-tracking"><a href="#enable-memory-tracking">3.4.5 Enable Memory Tracking</a></h3>
|
|
<p>Enables FMOD's detailed memory tracking for non-final builds. This corresponds to setting the <a href="https://fmod.com/docs/2.02/api/studio-api-system.html#fmod_studio_initflags"><code>FMOD_STUDIO_INIT_MEMORY_TRACKING</code></a> flag into the <code>studioflags</code> when initializing the Studio API.</p>
|
|
<pre><code>Default: Disabled
|
|
</code></pre>
|
|
<h3 id="plugin-files"><a href="#plugin-files">3.4.6 Plugin Files</a></h3>
|
|
<p>List of FMOD Studio plugins to be loaded when the system starts up. See <a href="plugins.html">Plugins</a> for more information.</p>
|
|
<h3 id="content-browser-prefix"><a href="#content-browser-prefix">3.4.7 Content Browser Prefix</a></h3>
|
|
<p>Root directory for FMOD assets.</p>
|
|
<pre><code>Default: /Game/FMOD
|
|
</code></pre>
|
|
<h3 id="force-platform-name"><a href="#force-platform-name">3.4.8 Force Platform Name</a></h3>
|
|
<p>Override platform name for loading banks at runtime.</p>
|
|
<pre><code>Default: Empty (use default platform name)
|
|
</code></pre>
|
|
<h3 id="master-bank-name"><a href="#master-bank-name">3.4.9 Master Bank Name</a></h3>
|
|
<p>Name of master bank (without extension). Must match the FMOD Studio project.</p>
|
|
<pre><code>Default: Master
|
|
</code></pre>
|
|
<h3 id="skip-load-bank-name"><a href="#skip-load-bank-name">3.4.10 Skip Load Bank Name</a></h3>
|
|
<p>String to filter banks loaded when <a class="apilink" href="#load-all-banks">Load All Banks</a> is enabled. If Skip Load Bank Name is not empty then any bank with a name containing the specified string will be skipped by automatic bank loading.</p>
|
|
<pre><code>Default: Empty
|
|
</code></pre>
|
|
<h3 id="encryption-key"><a href="#encryption-key">3.4.11 Encryption Key</a></h3>
|
|
<p>Key for loading encrypted banks. This corresponds to the <code>encryptionkey</code> member of <a href="https://fmod.com/docs/2.02/api/studio-api-system.html#fmod_studio_advancedsettings"><code>FMOD_STUDIO_ADVANCEDSETTINGS</code></a> in the Studio API.</p>
|
|
<h3 id="wav-writer-path"><a href="#wav-writer-path">3.4.12 Wav Writer Path</a></h3>
|
|
<p>File name that the wav writer will output to. If this is not empty then the runtime FMOD Studio system will use <a href="https://fmod.com/docs/2.02/api/core-api-system.html#fmod_outputtype"><code>FMOD_OUTPUTTYPE_WAVWRITER</code></a> and the mixed audio produced by FMOD will be sent to the specified file. There will be no audible output when using this setting.</p>
|
|
<pre><code>Default: Empty
|
|
</code></pre>
|
|
<h3 id="logging-level"><a href="#logging-level">3.4.13 Logging Level</a></h3>
|
|
<p>Logging level for non-final builds. The logging levels correspond to the similarly named <a href="https://fmod.com/docs/2.02/api/core-api-common.html#fmod_debug_flags"><code>FMOD_DEBUG_LEVEL_XXX</code></a> flags used by the <a href="https://fmod.com/docs/2.02/api/core-api-common.html#debug_initialize"><code>FMOD::Debug_Initialize</code></a> function in the Core API.</p>
|
|
<pre><code>Default: LEVEL NONE
|
|
</code></pre>
|
|
<h3 id="occlusion-parameter"><a href="#occlusion-parameter">3.4.14 Occlusion Parameter</a></h3>
|
|
<p>Name of event parameter to automate using Unreal occlusion ray casts. See <a href="user-guide.html#occlusion">Occlusion Settings</a> for more information.</p>
|
|
<pre><code>Default: Empty
|
|
</code></pre>
|
|
<h3 id="ambient-volume-parameter"><a href="#ambient-volume-parameter">3.4.15 Ambient Volume Parameter</a></h3>
|
|
<p>Name of event parameter to automate using Unreal ambient zone volume settings. See <a href="user-guide.html#ambient-zone-settings">Ambient Zone Settings</a> for more information.</p>
|
|
<pre><code>Default: Empty
|
|
</code></pre>
|
|
<h3 id="ambient-lpf-parameter"><a href="#ambient-lpf-parameter">3.4.16 Ambient LPF Parameter</a></h3>
|
|
<p>Name of event parameter to automate using Unreal ambient zone LPF settings. See <a href="user-guide.html#ambient-zone-settings">Ambient Zone Settings</a> for more information.</p>
|
|
<pre><code>Default: Empty
|
|
</code></pre>
|
|
<h2 id="platform-settings"><a href="#platform-settings">3.5 Platform Settings</a></h2>
|
|
<p>Used to specify individual settings for different platforms.</p>
|
|
<h3 id="platform"><a href="#platform">3.5.1 Platform</a></h3>
|
|
<p>Name of the platform.</p>
|
|
<h4 id="real-channel-count_1"><a href="#real-channel-count_1">Real Channel Count</a></h4>
|
|
<p>The maximum number of active channels. This corresponds to the <code>numsoftwarechannels</code> parameter of <a href="https://fmod.com/docs/2.02/api/core-api-system.html#system_setsoftwarechannels"><code>FMOD::System::setSoftwareChannels</code></a> in the Core API.</p>
|
|
<pre><code>Default: 64
|
|
</code></pre>
|
|
<h4 id="sample-rate_1"><a href="#sample-rate_1">Sample Rate</a></h4>
|
|
<p>The sample rate for the FMOD mixer. This corresponds to the <code>samplerate</code> parameter of <a href="https://fmod.com/docs/2.02/api/core-api-system.html#system_setsoftwareformat"><code>FMOD::System::setSoftwareFormat</code></a> in the Core API.</p>
|
|
<pre><code>Default: 0 (uses the default sample rate for the platform)
|
|
</code></pre>
|
|
<h4 id="speaker-mode"><a href="#speaker-mode">Speaker Mode</a></h4>
|
|
<p>Project output format, this should match the FMOD Studio project Surround Speaker Mode.</p>
|
|
<pre><code>Default: Surround_5_1
|
|
</code></pre>
|
|
<h4 id="output-type_1"><a href="#output-type_1">Output Type</a></h4>
|
|
<p>Built-in output types that can be used to run the mixer.</p>
|
|
<pre><code>Default: TYPE_AUTODETECT
|
|
</code></pre>
|
|
<h4 id="custom-pool-size"><a href="#custom-pool-size">Custom Pool Size</a></h4>
|
|
<p>Size of memory pool to use. When this is set to a value other than zero a memory pool of the requested size is allocated using the Unreal memory system and all FMOD memory allocations are made from the pool. Otherwise FMOD memory allocations directly use the Unreal memory system.</p>
|
|
<pre><code>Units: bytes
|
|
Default: 0
|
|
</code></pre>
|
|
<h4 id="codecs"><a href="#codecs">Codecs</a></h4>
|
|
<p>Specifying one or more of the codec maximums will help determine the maximum CPU usage of playing FMOD_CREATECOMPRESSEDSAMPLE Sounds of that type as well as the memory requirements.</p>
|
|
<h2 id="packaging"><a href="#packaging">3.6 Packaging</a></h2>
|
|
<p>As well as settings exposed by FMOD For Unreal you will need to add the directory containing the FMOD bank files to the Additional Non-asset Directory To Copy setting in Unreal's Project - Packaging settings. The FMOD Studio settings UI will prompt you to update this setting if it is not correctly configured. See <a href="user-guide.html#packaging-banks">Packaging banks</a> in the user guide for more information.</p></div>
|
|
|
|
<p class="manual-footer">Unreal Integration 2.02.14 (2023-05-03). © 2023 Firelight Technologies Pty Ltd.</p>
|
|
</body>
|
|
</html>
|
|
|
|
</div>
|