aboutsummaryrefslogtreecommitdiff
path: root/doc/modules/expression.html
diff options
context:
space:
mode:
authorLudvig Gunne Lindström <ludviggunnelindstrom@gmail.com>2026-07-17 11:43:24 +0200
committerLudvig Gunne Lindström <ludviggunnelindstrom@gmail.com>2026-11-08 14:15:04 +0100
commit039847a29868d335c08fe0a587260dffc71ca5c4 (patch)
treee9d775090fef45ca51db576779fb373040d50e6a /doc/modules/expression.html
downloadmelisma-modules-039847a29868d335c08fe0a587260dffc71ca5c4.tar.gz
Diffstat (limited to 'doc/modules/expression.html')
-rw-r--r--doc/modules/expression.html221
1 files changed, 221 insertions, 0 deletions
diff --git a/doc/modules/expression.html b/doc/modules/expression.html
new file mode 100644
index 0000000..e0f2f6e
--- /dev/null
+++ b/doc/modules/expression.html
@@ -0,0 +1,221 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+<head>
+ <title>Melisma modules</title>
+ <link rel="stylesheet" href="../ldoc_fixed.css" type="text/css" />
+</head>
+<body>
+
+<div id="container">
+
+<div id="product">
+ <div id="product_logo"></div>
+ <div id="product_name"><big><b></b></big></div>
+ <div id="product_description"></div>
+</div> <!-- id="product" -->
+
+
+<div id="main">
+
+
+<!-- Menu -->
+
+<div id="navigation">
+<p><a href="/melisma-modules">Back to repository</a></p>
+<br/>
+<h1>Melisma modules</h1>
+
+
+<ul>
+ <li><a href="../index.html">Index</a></li>
+</ul>
+
+<h2>Contents</h2>
+<ul>
+<li><a href="#Functions">Functions</a></li>
+<li><a href="#Class_script">Class script </a></li>
+</ul>
+
+
+<h2>Modules</h2>
+<ul class="nowrap">
+ <li><a href="../modules/biquad.html">biquad</a></li>
+ <li><strong>expression</strong></li>
+ <li><a href="../modules/fs.html">fs</a></li>
+ <li><a href="../modules/keycallback.html">keycallback</a></li>
+ <li><a href="../modules/udp.html">udp</a></li>
+</ul>
+<h2>Classes</h2>
+<ul class="nowrap">
+ <li><a href="../classes/buffer.html">buffer</a></li>
+ <li><a href="../classes/delay.html">delay</a></li>
+ <li><a href="../classes/gain.html">gain</a></li>
+ <li><a href="../classes/interp.html">interp</a></li>
+ <li><a href="../classes/ladspa.html">ladspa</a></li>
+ <li><a href="../classes/mixer.html">mixer</a></li>
+ <li><a href="../classes/nullsink.html">nullsink</a></li>
+ <li><a href="../classes/oscil.html">oscil</a></li>
+ <li><a href="../classes/pan.html">pan</a></li>
+ <li><a href="../classes/playback.html">playback</a></li>
+ <li><a href="../classes/sample.html">sample</a></li>
+ <li><a href="../classes/serial.html">serial</a></li>
+ <li><a href="../classes/timer.html">timer</a></li>
+</ul>
+
+</div>
+
+<div id="content">
+
+<h1>Module <code>expression</code></h1>
+<p>Build filters with arithmetic expressions.</p>
+<p>
+
+
+
+<pre>
+<span class="keyword">local</span> mexpression = <span class="global">require</span> <span class="string">'melisma.expression'</span>
+<span class="keyword">local</span> input = mepxression.input
+
+<span class="keyword">local</span> lhs = ...
+<span class="keyword">local</span> rhs = ...
+
+<span class="keyword">local</span> script = <span class="function-name">input</span>(lhs,<span class="number">0</span>) + <span class="number">0.5</span> * <span class="function-name">input</span>(rhs,<span class="number">10</span>)
+<span class="keyword">local</span> expression = script:<span class="function-name">build</span>()
+</pre>
+
+</p>
+
+
+<h2><a href="#Functions">Functions</a></h2>
+<table class="function_list">
+ <tr>
+ <td class="name" nowrap><a href="#input">input(sig, off)</a></td>
+ <td class="summary">Introduce an input signal in the expression.</td>
+ </tr>
+ <tr>
+ <td class="name" nowrap><a href="#output">output(off)</a></td>
+ <td class="summary">Introduce the output signal in the expression.</td>
+ </tr>
+</table>
+<h2><a href="#Class_script">Class script </a></h2>
+<table class="function_list">
+ <tr>
+ <td class="name" nowrap><a href="#script:build">script:build()</a></td>
+ <td class="summary">Compile an expression script.</td>
+ </tr>
+</table>
+
+<br/>
+<br/>
+
+
+ <h2 class="section-header "><a name="Functions"></a>Functions</h2>
+ Methods
+ <dl class="function">
+ <dt>
+ <a name = "input"></a>
+ <strong>input(sig, off)</strong>
+ </dt>
+ <dd>
+ Introduce an input signal in the expression.
+
+
+ <h3>Parameters:</h3>
+ <ul>
+ <li><span class="parameter">sig</span>
+ <span class="types"><span class="type">channel</span></span>
+ Input signal.
+ </li>
+ <li><span class="parameter">off</span>
+ <span class="types"><span class="type">integer</span></span>
+ Offset in no. of samples.
+ </li>
+ </ul>
+
+ <h3>Returns:</h3>
+ <ol>
+
+ <span class="types"><a class="type" href="../modules/expression.html#script">script</a></span>
+
+
+
+ </ol>
+
+
+
+
+</dd>
+ <dt>
+ <a name = "output"></a>
+ <strong>output(off)</strong>
+ </dt>
+ <dd>
+ Introduce the output signal in the expression.
+
+
+ <h3>Parameters:</h3>
+ <ul>
+ <li><span class="parameter">off</span>
+ <span class="types"><span class="type">integer</span></span>
+ Offset in no. of samples.
+ </li>
+ </ul>
+
+ <h3>Returns:</h3>
+ <ol>
+
+ <span class="types"><a class="type" href="../modules/expression.html#script">script</a></span>
+
+
+
+ </ol>
+
+
+
+
+</dd>
+</dl>
+ <h2 class="section-header has-description"><a name="Class_script"></a>Class script </h2>
+
+ <div class="section-description">
+ Represents an expression before compilation.
+Implements <code>__add</code>, <code>__sub</code>, <code>__mul</code> and <code>__div</code> for
+combining scripts in to larger ones.
+ </div>
+ <dl class="function">
+ <dt>
+ <a name = "script:build"></a>
+ <strong>script:build()</strong>
+ </dt>
+ <dd>
+ Compile an expression script.
+
+
+
+ <h3>Returns:</h3>
+ <ol>
+
+ <span class="types"><span class="type">expression</span></span>
+
+
+
+ </ol>
+
+
+
+
+</dd>
+</dl>
+
+
+</div> <!-- id="content" -->
+</div> <!-- id="main" -->
+<div id="about">
+<i>generated by <a href="http://github.com/lunarmodules/LDoc">LDoc 1.5.0</a></i>
+<i style="float:right;">Last updated 1980-01-01 00:00:00 </i>
+</div> <!-- id="about" -->
+</div> <!-- id="container" -->
+</body>
+</html>