UNPKG

voicemeeter-connector

Version:
55 lines (51 loc) 9.82 kB
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>voicemeeter-connector</title><meta name="description" content="Documentation for voicemeeter-connector"/><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">voicemeeter-connector</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"><h1>voicemeeter-connector</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><div class="tsd-panel tsd-typography"> <a href="#voicemeeter-connector" id="voicemeeter-connector" style="color: inherit; text-decoration: none;"> <h1>Voicemeeter Connector</h1> </a> <p>Voicemeeter Connector is a Node.js (Typescript) connector to use the official VoicemeeterRemoteAPI of <a href="https://www.vb-audio.com/Voicemeeter/index.htm">Voicemeeter</a>,<a href="https://www.vb-audio.com/Voicemeeter/banana.htm">Voicemeeter Banana</a> and <a href="https://www.vb-audio.com/Voicemeeter/potato.htm">Voicemeeter Potato</a>. The official API is available <a href="https://download.vb-audio.com/Download_CABLE/VoicemeeterRemoteAPI.pdf">here</a>.</p> <a href="#installation" id="installation" style="color: inherit; text-decoration: none;"> <h2>Installation</h2> </a> <table> <thead> <tr> <th>Package Version</th> <th>Node Version</th> </tr> </thead> <tbody><tr> <td>&lt;= 0.62</td> <td>8,10</td> </tr> <tr> <td>1.x</td> <td>&gt; 10, &lt; 18</td> </tr> <tr> <td>&gt;= 2.0</td> <td>&gt;= 18</td> </tr> </tbody></table> <blockquote> <p>Node.js now includes build tools for Windows. You probably no longer need this tool. See <a href="https://github.com/felixrieseberg/windows-build-tools">https://github.com/felixrieseberg/windows-build-tools</a> for details</p> </blockquote> <p>Execute the following command in a power shell window (Administrator).</p> <p><code>$ npm install --global --production windows-build-tools</code></p> <p><strong>Do not be surprised, the installation can take up to 15 minutes</strong></p> <p>Now you can use the following to add the connector to your project.</p> <p><code>$ npm install voicemeeter-connector</code></p> <a href="#use-it-in-your-project" id="use-it-in-your-project" style="color: inherit; text-decoration: none;"> <h2>Use it in your project</h2> </a> <a href="#basic-example" id="basic-example" style="color: inherit; text-decoration: none;"> <h3>Basic Example</h3> </a> <pre><code class="language-typescript"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">Voicemeeter</span><span class="hl-1">, </span><span class="hl-2">StripProperties</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">&quot;voicemeeter-connector&quot;</span><span class="hl-1">;</span><br/><br/><span class="hl-2">Voicemeeter</span><span class="hl-1">.</span><span class="hl-4">init</span><span class="hl-1">().</span><span class="hl-4">then</span><span class="hl-1">(</span><span class="hl-5">async</span><span class="hl-1"> (</span><span class="hl-2">vm</span><span class="hl-1">) </span><span class="hl-5">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">// Connect to your voicemeeter client</span><br/><span class="hl-1"> </span><span class="hl-2">vm</span><span class="hl-1">.</span><span class="hl-4">connect</span><span class="hl-1">();</span><br/><br/><span class="hl-1"> </span><span class="hl-6">// Sets gain of strip 0 to -10db</span><br/><span class="hl-1"> </span><span class="hl-0">await</span><span class="hl-1"> </span><span class="hl-2">vm</span><span class="hl-1">.</span><span class="hl-4">setStripParameter</span><span class="hl-1">(</span><span class="hl-7">0</span><span class="hl-1">, </span><span class="hl-2">StripProperties</span><span class="hl-1">.</span><span class="hl-2">Gain</span><span class="hl-1">, -</span><span class="hl-7">10</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-6">// Print gain</span><br/><span class="hl-1"> </span><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-2">vm</span><span class="hl-1">.</span><span class="hl-4">getStripParameter</span><span class="hl-1">(</span><span class="hl-7">0</span><span class="hl-1">, </span><span class="hl-2">StripProperties</span><span class="hl-1">.</span><span class="hl-2">Gain</span><span class="hl-1">));</span><br/><br/><span class="hl-1"> </span><span class="hl-6">// Attach event handler</span><br/><span class="hl-1"> </span><span class="hl-2">vm</span><span class="hl-1">.</span><span class="hl-4">attachChangeEvent</span><span class="hl-1">(() </span><span class="hl-5">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-3">&quot;Something changed!&quot;</span><span class="hl-1">);</span><br/><span class="hl-1"> });</span><br/><br/><span class="hl-1"> </span><span class="hl-6">// Disconnect voicemeeter client</span><br/><span class="hl-1"> </span><span class="hl-4">setTimeout</span><span class="hl-1">(() </span><span class="hl-5">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-2">vm</span><span class="hl-1">.</span><span class="hl-4">disconnect</span><span class="hl-1">();</span><br/><span class="hl-1"> </span><span class="hl-2">process</span><span class="hl-1">.</span><span class="hl-4">exit</span><span class="hl-1">(</span><span class="hl-7">0</span><span class="hl-1">);</span><br/><span class="hl-1"> }, </span><span class="hl-7">5000</span><span class="hl-1">);</span><br/><span class="hl-1">});</span> </code></pre> <p><strong>Strip</strong> = Inputs (left side of voicemeeter)</p> <p><strong>Bus</strong> = Outputs (right side of voicemeeter)</p> <a href="#documentation" id="documentation" style="color: inherit; text-decoration: none;"> <h2>Documentation</h2> </a> <p>See Documentation on <a href="https://chewbaccacookie.github.io/voicemeeter-connector/classes/Voicemeeter.html">https://chewbaccacookie.github.io/voicemeeter-connector/classes/Voicemeeter.html</a></p> </div></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class="current"><a href="modules.html">Exports</a></li><li class=" tsd-kind-namespace"><a href="modules/types.html">types</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-class"><a href="classes/Voicemeeter.html" class="tsd-kind-icon">Voicemeeter</a></li><li class="tsd-kind-variable"><a href="modules.html#BusProperties" class="tsd-kind-icon">Bus<wbr/>Properties</a></li><li class="tsd-kind-variable"><a href="modules.html#InterfaceTypes" class="tsd-kind-icon">Interface<wbr/>Types</a></li><li class="tsd-kind-variable"><a href="modules.html#StripProperties" class="tsd-kind-icon">Strip<wbr/>Properties</a></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-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static 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>