aboutsummaryrefslogtreecommitdiff
path: root/doc/modules
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
downloadmelisma-modules-main.tar.gz
Diffstat (limited to 'doc/modules')
-rw-r--r--doc/modules/biquad.html189
-rw-r--r--doc/modules/expression.html221
-rw-r--r--doc/modules/fs.html138
-rw-r--r--doc/modules/keycallback.html133
-rw-r--r--doc/modules/udp.html311
5 files changed, 992 insertions, 0 deletions
diff --git a/doc/modules/biquad.html b/doc/modules/biquad.html
new file mode 100644
index 0000000..4f89b1a
--- /dev/null
+++ b/doc/modules/biquad.html
@@ -0,0 +1,189 @@
+<!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="#Class_biquad_lowpass">Class biquad.lowpass </a></li>
+</ul>
+
+
+<h2>Modules</h2>
+<ul class="nowrap">
+ <li><strong>biquad</strong></li>
+ <li><a href="../modules/expression.html">expression</a></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>biquad</code></h1>
+<p>Digital biquad filters.</p>
+<p>
+
+</p>
+
+
+<h2><a href="#Class_biquad_lowpass">Class biquad.lowpass </a></h2>
+<table class="function_list">
+ <tr>
+ <td class="name" nowrap><a href="#biquad.lowpass.init">biquad.lowpass.init(input)</a></td>
+ <td class="summary">Create a lowpass filter.</td>
+ </tr>
+ <tr>
+ <td class="name" nowrap><a href="#lowpass:cutoff">lowpass:cutoff(cut)</a></td>
+ <td class="summary">Set filter cutoff frequency.</td>
+ </tr>
+ <tr>
+ <td class="name" nowrap><a href="#lowpass:resonance">lowpass:resonance(res)</a></td>
+ <td class="summary">Set filter resonance.</td>
+ </tr>
+</table>
+
+<br/>
+<br/>
+
+
+ <h2 class="section-header has-description"><a name="Class_biquad_lowpass"></a>Class biquad.lowpass </h2>
+
+ <div class="section-description">
+ Lowpass filter.
+ </div>
+ <h3>Usage:</h3>
+ <pre class="example"><span class="keyword">local</span> mbiquad = <span class="global">require</span> <span class="string">'melisma.biquad'</span>
+<span class="keyword">local</span> input = ...
+<span class="keyword">local</span> lowpass = mbiquad.lowpass.<span class="function-name">init</span>(node, <span class="number">2000</span>, <span class="number">0.6</span>)
+lowpass:<span class="function-name">resonance</span>(<span class="number">1000</span>)
+lowpass:<span class="function-name">cutoff</span>(<span class="number">0.25</span>)</pre>
+ <dl class="function">
+ <dt>
+ <a name = "biquad.lowpass.init"></a>
+ <strong>biquad.lowpass.init(input)</strong>
+ </dt>
+ <dd>
+ Create a lowpass filter.
+
+
+ <h3>Parameters:</h3>
+ <ul>
+ <li><span class="parameter">input</span>
+ <span class="types"><span class="type">channel</span></span>
+ Input signal.
+ </li>
+ </ul>
+
+ <h3>Returns:</h3>
+ <ol>
+
+ <span class="types"><a class="type" href="../modules/biquad.html#biquad.lowpass">biquad.lowpass</a></span>
+ The newly created lowpass filter.
+ </ol>
+
+
+
+
+</dd>
+ <dt>
+ <a name = "lowpass:cutoff"></a>
+ <strong>lowpass:cutoff(cut)</strong>
+ </dt>
+ <dd>
+ Set filter cutoff frequency.
+
+
+ <h3>Parameters:</h3>
+ <ul>
+ <li><span class="parameter">cut</span>
+ <span class="types"><span class="type">number</span></span>
+ Cutoff frequency.
+ </li>
+ </ul>
+
+
+
+
+
+</dd>
+ <dt>
+ <a name = "lowpass:resonance"></a>
+ <strong>lowpass:resonance(res)</strong>
+ </dt>
+ <dd>
+ Set filter resonance.
+
+
+ <h3>Parameters:</h3>
+ <ul>
+ <li><span class="parameter">res</span>
+ <span class="types"><span class="type">number</span></span>
+ Resonance.
+ </li>
+ </ul>
+
+
+
+
+
+</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>
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>
diff --git a/doc/modules/fs.html b/doc/modules/fs.html
new file mode 100644
index 0000000..bfe5be3
--- /dev/null
+++ b/doc/modules/fs.html
@@ -0,0 +1,138 @@
+<!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>
+</ul>
+
+
+<h2>Modules</h2>
+<ul class="nowrap">
+ <li><a href="../modules/biquad.html">biquad</a></li>
+ <li><a href="../modules/expression.html">expression</a></li>
+ <li><strong>fs</strong></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>fs</code></h1>
+<p>File system utilities.</p>
+<p>
+
+</p>
+
+
+<h2><a href="#Functions">Functions</a></h2>
+<table class="function_list">
+ <tr>
+ <td class="name" nowrap><a href="#readdir">readdir(path)</a></td>
+ <td class="summary">List directory contents.</td>
+ </tr>
+</table>
+
+<br/>
+<br/>
+
+
+ <h2 class="section-header "><a name="Functions"></a>Functions</h2>
+ Methods
+ <dl class="function">
+ <dt>
+ <a name = "readdir"></a>
+ <strong>readdir(path)</strong>
+ </dt>
+ <dd>
+ List directory contents.
+
+
+ <h3>Parameters:</h3>
+ <ul>
+ <li><span class="parameter">path</span>
+ <span class="types"><a class="type" href="https://www.lua.org/manual/5.3/manual.html#6.4">string</a></span>
+ Directory path.
+ </li>
+ </ul>
+
+ <h3>Returns:</h3>
+ <ol>
+
+ <span class="types"><a class="type" href="https://www.lua.org/manual/5.3/manual.html#6.6">table</a></span>
+ Directory contents.
+ </ol>
+
+
+
+ <h3>Usage:</h3>
+ <ul>
+ <pre class="example"><span class="keyword">local</span> fs = <span class="global">require</span> <span class="string">'melisma.fs'</span>
+<span class="keyword">local</span> contents = fs.<span class="function-name">readdir</span>(<span class="string">'.'</span>)
+<span class="keyword">for</span> _,entry <span class="keyword">in</span> <span class="global">ipairs</span>(contents) <span class="keyword">do</span>
+ <span class="global">print</span>(entry.name, entry.<span class="global">type</span>)
+<span class="keyword">end</span></pre>
+ </ul>
+
+</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>
diff --git a/doc/modules/keycallback.html b/doc/modules/keycallback.html
new file mode 100644
index 0000000..af74b90
--- /dev/null
+++ b/doc/modules/keycallback.html
@@ -0,0 +1,133 @@
+<!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>
+</ul>
+
+
+<h2>Modules</h2>
+<ul class="nowrap">
+ <li><a href="../modules/biquad.html">biquad</a></li>
+ <li><a href="../modules/expression.html">expression</a></li>
+ <li><a href="../modules/fs.html">fs</a></li>
+ <li><strong>keycallback</strong></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>keycallback</code></h1>
+<p>Set callback for keyboard input.</p>
+<p>
+
+
+<pre>
+<span class="keyword">local</span> mkeycallback = <span class="global">require</span> <span class="string">'melisma.keycallback'</span>
+
+mkeycallback.<span class="function-name">set</span>(<span class="keyword">function</span>(c)
+ <span class="global">print</span>(<span class="string">'you pressed'</span>, c)
+<span class="keyword">end</span>)
+</pre>
+
+</p>
+
+
+<h2><a href="#Functions">Functions</a></h2>
+<table class="function_list">
+ <tr>
+ <td class="name" nowrap><a href="#set">set(fn)</a></td>
+ <td class="summary">Set the callback.</td>
+ </tr>
+</table>
+
+<br/>
+<br/>
+
+
+ <h2 class="section-header "><a name="Functions"></a>Functions</h2>
+ Methods
+ <dl class="function">
+ <dt>
+ <a name = "set"></a>
+ <strong>set(fn)</strong>
+ </dt>
+ <dd>
+ Set the callback.
+
+
+ <h3>Parameters:</h3>
+ <ul>
+ <li><span class="parameter">fn</span>
+ <span class="types"><span class="type">function</span></span>
+ Callback function.
+ </li>
+ </ul>
+
+
+
+
+
+</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>
diff --git a/doc/modules/udp.html b/doc/modules/udp.html
new file mode 100644
index 0000000..f19c300
--- /dev/null
+++ b/doc/modules/udp.html
@@ -0,0 +1,311 @@
+<!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="#Class_sockaddr">Class sockaddr </a></li>
+<li><a href="#Class_socket">Class socket </a></li>
+</ul>
+
+
+<h2>Modules</h2>
+<ul class="nowrap">
+ <li><a href="../modules/biquad.html">biquad</a></li>
+ <li><a href="../modules/expression.html">expression</a></li>
+ <li><a href="../modules/fs.html">fs</a></li>
+ <li><a href="../modules/keycallback.html">keycallback</a></li>
+ <li><strong>udp</strong></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>udp</code></h1>
+<p>UDP support.</p>
+<p>
+
+
+
+<pre>
+<span class="keyword">local</span> mudp = <span class="global">require</span> <span class="string">'melisma.udp'</span>
+
+<span class="keyword">local</span> addr = mudp.sockaddr.<span class="function-name">inet</span>(<span class="string">'127.0.0.1'</span>,<span class="number">8000</span>)
+<span class="keyword">local</span> sock = mudp.socket.<span class="function-name">inet</span>()
+
+sock:<span class="function-name">send</span>(addr,<span class="string">'hello'</span>)
+sock:<span class="function-name">bind</span>(addr,<span class="global">print</span>)
+</pre>
+
+</p>
+
+
+<h2><a href="#Class_sockaddr">Class sockaddr </a></h2>
+<table class="function_list">
+ <tr>
+ <td class="name" nowrap><a href="#sockaddr.inet">sockaddr.inet(host, port)</a></td>
+ <td class="summary">Create a internet domain address description.</td>
+ </tr>
+ <tr>
+ <td class="name" nowrap><a href="#sockaddr.unix">sockaddr.unix(path)</a></td>
+ <td class="summary">Create a unix domain address description.</td>
+ </tr>
+</table>
+<h2><a href="#Class_socket">Class socket </a></h2>
+<table class="function_list">
+ <tr>
+ <td class="name" nowrap><a href="#socket.inet">socket.inet()</a></td>
+ <td class="summary">Create an internet domain socket.</td>
+ </tr>
+ <tr>
+ <td class="name" nowrap><a href="#socket.unix">socket.unix()</a></td>
+ <td class="summary">Create a unix domain socket.</td>
+ </tr>
+ <tr>
+ <td class="name" nowrap><a href="#socket:bind">socket:bind(addr, fn)</a></td>
+ <td class="summary">Bind a socket to an address.</td>
+ </tr>
+ <tr>
+ <td class="name" nowrap><a href="#socket:send">socket:send(addr, pkt)</a></td>
+ <td class="summary">Send a packet on a socket.</td>
+ </tr>
+</table>
+
+<br/>
+<br/>
+
+
+ <h2 class="section-header has-description"><a name="Class_sockaddr"></a>Class sockaddr </h2>
+
+ <div class="section-description">
+ Socket address description.
+ </div>
+ <dl class="function">
+ <dt>
+ <a name = "sockaddr.inet"></a>
+ <strong>sockaddr.inet(host, port)</strong>
+ </dt>
+ <dd>
+ Create a internet domain address description.
+
+
+ <h3>Parameters:</h3>
+ <ul>
+ <li><span class="parameter">host</span>
+ <span class="types"><a class="type" href="https://www.lua.org/manual/5.3/manual.html#6.4">string</a></span>
+
+
+
+ </li>
+ <li><span class="parameter">port</span>
+ <span class="types"><span class="type">integer</span></span>
+
+
+
+ </li>
+ </ul>
+
+ <h3>Returns:</h3>
+ <ol>
+
+ <span class="types"><a class="type" href="../modules/udp.html#sockaddr">sockaddr</a></span>
+
+
+
+ </ol>
+
+
+
+
+</dd>
+ <dt>
+ <a name = "sockaddr.unix"></a>
+ <strong>sockaddr.unix(path)</strong>
+ </dt>
+ <dd>
+ Create a unix domain address description.
+
+
+ <h3>Parameters:</h3>
+ <ul>
+ <li><span class="parameter">path</span>
+ <span class="types"><a class="type" href="https://www.lua.org/manual/5.3/manual.html#6.4">string</a></span>
+
+
+
+ </li>
+ </ul>
+
+ <h3>Returns:</h3>
+ <ol>
+
+ <span class="types"><a class="type" href="../modules/udp.html#sockaddr">sockaddr</a></span>
+
+
+
+ </ol>
+
+
+
+
+</dd>
+</dl>
+ <h2 class="section-header has-description"><a name="Class_socket"></a>Class socket </h2>
+
+ <div class="section-description">
+ Handle to a socket.
+ </div>
+ <dl class="function">
+ <dt>
+ <a name = "socket.inet"></a>
+ <strong>socket.inet()</strong>
+ </dt>
+ <dd>
+ Create an internet domain socket.
+
+
+
+ <h3>Returns:</h3>
+ <ol>
+
+ <span class="types"><a class="type" href="../modules/udp.html#socket">socket</a></span>
+
+
+
+ </ol>
+
+
+
+
+</dd>
+ <dt>
+ <a name = "socket.unix"></a>
+ <strong>socket.unix()</strong>
+ </dt>
+ <dd>
+ Create a unix domain socket.
+
+
+
+ <h3>Returns:</h3>
+ <ol>
+
+ <span class="types"><a class="type" href="../modules/udp.html#socket">socket</a></span>
+
+
+
+ </ol>
+
+
+
+
+</dd>
+ <dt>
+ <a name = "socket:bind"></a>
+ <strong>socket:bind(addr, fn)</strong>
+ </dt>
+ <dd>
+ Bind a socket to an address.
+
+
+ <h3>Parameters:</h3>
+ <ul>
+ <li><span class="parameter">addr</span>
+ <span class="types"><a class="type" href="../modules/udp.html#sockaddr">sockaddr</a></span>
+ Address description.
+ </li>
+ <li><span class="parameter">fn</span>
+ <span class="types"><span class="type">function</span></span>
+ Packet callback function.
+ </li>
+ </ul>
+
+
+
+
+
+</dd>
+ <dt>
+ <a name = "socket:send"></a>
+ <strong>socket:send(addr, pkt)</strong>
+ </dt>
+ <dd>
+ Send a packet on a socket.
+
+
+ <h3>Parameters:</h3>
+ <ul>
+ <li><span class="parameter">addr</span>
+ <span class="types"><a class="type" href="../modules/udp.html#sockaddr">sockaddr</a></span>
+ Address description.
+ </li>
+ <li><span class="parameter">pkt</span>
+ <span class="types"><a class="type" href="https://www.lua.org/manual/5.3/manual.html#6.4">string</a></span>
+ Packet to send.
+ </li>
+ </ul>
+
+
+
+
+
+</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>