UNPKG

@webaudiomodules/api

Version:
42 lines 29.5 kB
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>AbstractWebAudioModule | WebAudioModules API</title><meta name="description" content="Documentation for WebAudioModules API"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">WebAudioModules API</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">WebAudioModules API</a></li><li><a href="AbstractWebAudioModule.html">AbstractWebAudioModule</a></li></ul><h1>Interface AbstractWebAudioModule&lt;Node&gt; </h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead"> <p>Main <code>WebAudioModule</code> interface, its constructor should be the <code>export default</code> of the ESM of each WAM.</p> </div></div></section><section class="tsd-panel tsd-type-parameters"><h3>Type parameters</h3><ul class="tsd-type-parameters"><li><h4>Node<span class="tsd-signature-symbol">: </span><a href="../modules.html#AbstractWamNode" class="tsd-signature-type" data-tsd-kind="Variable">AbstractWamNode</a> = <a href="../modules.html#AbstractWamNode" class="tsd-signature-type" data-tsd-kind="Variable">AbstractWamNode</a></h4><div class="tsd-comment tsd-typography"><div class="lead"> <p>type of the <code>audioNode</code> property, could be any <code>AudioNode</code> that implements <code>WamNode</code></p> </div></div></li></ul></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">AbstractWebAudioModule</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#audioContext" class="tsd-kind-icon">audio<wbr/>Context</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#audioNode" class="tsd-kind-icon">audio<wbr/>Node</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#descriptor" class="tsd-kind-icon">descriptor</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#groupId" class="tsd-kind-icon">group<wbr/>Id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#initialized" class="tsd-kind-icon">initialized</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#instanceId" class="tsd-kind-icon">instance<wbr/>Id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#isWebAudioModule" class="tsd-kind-icon">is<wbr/>Web<wbr/>Audio<wbr/>Module</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#moduleId" class="tsd-kind-icon">module<wbr/>Id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#name" class="tsd-kind-icon">name</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#vendor" class="tsd-kind-icon">vendor</a></li></ul></section><section class="tsd-index-section "><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#createAudioNode" class="tsd-kind-icon">create<wbr/>Audio<wbr/>Node</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#createGui" class="tsd-kind-icon">create<wbr/>Gui</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#destroyGui" class="tsd-kind-icon">destroy<wbr/>Gui</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#initialize" class="tsd-kind-icon">initialize</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="audioContext" class="tsd-anchor"></a><h3 class="tsd-anchor-link">audio<wbr/>Context<a href="#audioContext" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">audio<wbr/>Context<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">BaseAudioContext</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/webaudiomodules/api/blob/ab388b0/src/types.d.ts#L11">src/types.d.ts:11</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> <p>The <code>AudioContext</code> where the plugin&#39;s node lives in</p> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="audioNode" class="tsd-anchor"></a><h3 class="tsd-anchor-link">audio<wbr/>Node<a href="#audioNode" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">audio<wbr/>Node<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type" data-tsd-kind="Type parameter">Node</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/webaudiomodules/api/blob/ab388b0/src/types.d.ts#L13">src/types.d.ts:13</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> <p>The <code>AudioNode</code> that handles audio in the plugin where the host can connect to/from</p> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="descriptor" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagReadonly">Readonly</span> descriptor<a href="#descriptor" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">descriptor<span class="tsd-signature-symbol">:</span> <a href="WamDescriptor.html" class="tsd-signature-type" data-tsd-kind="Interface">WamDescriptor</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/webaudiomodules/api/blob/ab388b0/src/types.d.ts#L23">src/types.d.ts:23</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> <p>The values from <code>descriptor.json</code></p> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="groupId" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagReadonly">Readonly</span> group<wbr/>Id<a href="#groupId" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">group<wbr/>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/webaudiomodules/api/blob/ab388b0/src/types.d.ts#L17">src/types.d.ts:17</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> <p>The identifier of the current WAM&#39;s group.</p> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="initialized" class="tsd-anchor"></a><h3 class="tsd-anchor-link">initialized<a href="#initialized" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">initialized<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/webaudiomodules/api/blob/ab388b0/src/types.d.ts#L15">src/types.d.ts:15</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> <p>This will return true after calling <code>initialize()</code>.</p> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="instanceId" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagReadonly">Readonly</span> instance<wbr/>Id<a href="#instanceId" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">instance<wbr/>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/webaudiomodules/api/blob/ab388b0/src/types.d.ts#L21">src/types.d.ts:21</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> <p>The unique identifier of the current WAM instance.</p> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="isWebAudioModule" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagReadonly">Readonly</span> is<wbr/>Web<wbr/>Audio<wbr/>Module<a href="#isWebAudioModule" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">is<wbr/>Web<wbr/>Audio<wbr/>Module<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/webaudiomodules/api/blob/ab388b0/src/types.d.ts#L9">src/types.d.ts:9</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> <p>should return <code>true</code></p> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="moduleId" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagReadonly">Readonly</span> module<wbr/>Id<a href="#moduleId" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">module<wbr/>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/webaudiomodules/api/blob/ab388b0/src/types.d.ts#L19">src/types.d.ts:19</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> <p>The identifier of the current WAM, composed of vender + name</p> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="name" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagReadonly">Readonly</span> name<a href="#name" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">name<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/webaudiomodules/api/blob/ab388b0/src/types.d.ts#L25">src/types.d.ts:25</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> <p>The WAM&#39;s name</p> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="vendor" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagReadonly">Readonly</span> vendor<a href="#vendor" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">vendor<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/webaudiomodules/api/blob/ab388b0/src/types.d.ts#L27">src/types.d.ts:27</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> <p>The WAM Vendor&#39;s name</p> </div></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><a id="createAudioNode" class="tsd-anchor"></a><h3 class="tsd-anchor-link">create<wbr/>Audio<wbr/>Node<a href="#createAudioNode" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface"><li class="tsd-signature tsd-kind-icon">create<wbr/>Audio<wbr/>Node<span class="tsd-signature-symbol">(</span>initialState<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../modules.html#AbstractWamNode" class="tsd-signature-type" data-tsd-kind="Variable">AbstractWamNode</a><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/webaudiomodules/api/blob/ab388b0/src/types.d.ts#L34">src/types.d.ts:34</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> <p>This async method must be redefined to get <code>AudioNode</code> that will connected to the host. It can be any object that extends <code>AudioNode</code> and implements <code>WamNode</code></p> </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> initialState: <span class="tsd-signature-type">any</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../modules.html#AbstractWamNode" class="tsd-signature-type" data-tsd-kind="Variable">AbstractWamNode</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><a id="createGui" class="tsd-anchor"></a><h3 class="tsd-anchor-link">create<wbr/>Gui<a href="#createGui" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface"><li class="tsd-signature tsd-kind-icon">create<wbr/>Gui<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Element</span><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/webaudiomodules/api/blob/ab388b0/src/types.d.ts#L49">src/types.d.ts:49</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> <p>Redefine this method to get the WAM&#39;s GUI as an HTML <code>Element</code>.</p> </div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Element</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><a id="destroyGui" class="tsd-anchor"></a><h3 class="tsd-anchor-link">destroy<wbr/>Gui<a href="#destroyGui" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface"><li class="tsd-signature tsd-kind-icon">destroy<wbr/>Gui<span class="tsd-signature-symbol">(</span>gui<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Element</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/webaudiomodules/api/blob/ab388b0/src/types.d.ts#L51">src/types.d.ts:51</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> <p>Clean up an element previously returned by <code>createGui</code></p> </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>gui: <span class="tsd-signature-type">Element</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><a id="initialize" class="tsd-anchor"></a><h3 class="tsd-anchor-link">initialize<a href="#initialize" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface"><li class="tsd-signature tsd-kind-icon">initialize<span class="tsd-signature-symbol">(</span>state<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../modules.html#AbstractWebAudioModule" class="tsd-signature-type" data-tsd-kind="Variable">AbstractWebAudioModule</a><span class="tsd-signature-symbol">&lt;</span><a href="../modules.html#AbstractWamNode" class="tsd-signature-type" data-tsd-kind="Variable">AbstractWamNode</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/webaudiomodules/api/blob/ab388b0/src/types.d.ts#L47">src/types.d.ts:47</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> <p>The host will call this method to initialize the WAM with an initial state.</p> </div><div><p>In this method, WAM devs should call <code>createAudioNode()</code> and store its return <code>AudioNode</code> to <code>this.audioNode</code>, then set <code>initialized</code> to <code>true</code> to ensure that the <code>audioNode</code> property is available after initialized.</p> <p>These two behaviors are implemented by default in the SDK.</p> <p>The WAM devs can also fetch and preload the GUI Element in while initializing.</p> </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> state: <span class="tsd-signature-type">any</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../modules.html#AbstractWebAudioModule" class="tsd-signature-type" data-tsd-kind="Variable">AbstractWebAudioModule</a><span class="tsd-signature-symbol">&lt;</span><a href="../modules.html#AbstractWamNode" class="tsd-signature-type" data-tsd-kind="Variable">AbstractWamNode</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface tsd-has-type-parameter"><a href="AbstractWebAudioModule.html" class="tsd-kind-icon">Abstract<wbr/>Web<wbr/>Audio<wbr/>Module</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#audioContext" class="tsd-kind-icon">audio<wbr/>Context</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#audioNode" class="tsd-kind-icon">audio<wbr/>Node</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#descriptor" class="tsd-kind-icon">descriptor</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#groupId" class="tsd-kind-icon">group<wbr/>Id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#initialized" class="tsd-kind-icon">initialized</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#instanceId" class="tsd-kind-icon">instance<wbr/>Id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#isWebAudioModule" class="tsd-kind-icon">is<wbr/>Web<wbr/>Audio<wbr/>Module</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#moduleId" class="tsd-kind-icon">module<wbr/>Id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#name" class="tsd-kind-icon">name</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#vendor" class="tsd-kind-icon">vendor</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#createAudioNode" class="tsd-kind-icon">create<wbr/>Audio<wbr/>Node</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#createGui" class="tsd-kind-icon">create<wbr/>Gui</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#destroyGui" class="tsd-kind-icon">destroy<wbr/>Gui</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="AbstractWebAudioModule.html#initialize" class="tsd-kind-icon">initialize</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>