commit dd1435fea299ae496c20012a6048f7b9ab20cdbc
parent 1585a3136ba3f1366ae26cdc02ebee25c6f1b945
Author: Alexandre Bique <bique.alexandre@gmail.com>
Date: Wed, 8 Oct 2014 19:35:33 +0200
Move samples/clap-info.c into the examples section
Diffstat:
M | spec.html | | | 138 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
M | spec.rst | | | 12 | ++++++------ |
2 files changed, 76 insertions(+), 74 deletions(-)
diff --git a/spec.html b/spec.html
@@ -170,10 +170,12 @@ tt.docutils {
<li><a class="reference internal" href="#extension-system" id="id42">Extension system</a></li>
</ul>
</li>
-<li><a class="reference internal" href="#examples" id="id43">Examples</a></li>
-<li><a class="reference internal" href="#references" id="id44">References</a><ul>
-<li><a class="reference internal" href="#clap-c" id="id45">clap.c</a></li>
-<li><a class="reference internal" href="#samples-clap-info-c" id="id46">samples/clap-info.c</a></li>
+<li><a class="reference internal" href="#examples" id="id43">Examples</a><ul>
+<li><a class="reference internal" href="#samples-clap-info-c" id="id44">samples/clap-info.c</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#references" id="id45">References</a><ul>
+<li><a class="reference internal" href="#clap-c" id="id46">clap.c</a></li>
</ul>
</li>
</ul>
@@ -744,11 +746,73 @@ big endian machine, it should load again successfully.</p>
</div>
<div class="section" id="examples">
<h1><a class="toc-backref" href="#id43">Examples</a></h1>
+<div class="section" id="samples-clap-info-c">
+<h2><a class="toc-backref" href="#id44">samples/clap-info.c</a></h2>
+<pre class="code c literal-block">
+<span class="cp">#include <stdio.h>
+#include <dlfcn.h>
+</span>
+<span class="cp">#include <clap/clap.h>
+</span>
+<span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
+<span class="p">{</span>
+ <span class="k">struct</span> <span class="n">clap_host</span> <span class="n">host</span><span class="p">;</span> <span class="c1">// XXX initialize host
+</span>
+ <span class="kt">void</span> <span class="o">*</span> <span class="n">handle</span> <span class="o">=</span> <span class="n">dlopen</span><span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">RTLD_NOW</span> <span class="o">|</span> <span class="n">RTLD_LOCAL</span><span class="p">);</span>
+ <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">handle</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">fprintf</span><span class="p">(</span><span class="n">stderr</span><span class="p">,</span> <span class="s">"failed to load %s: %s</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">dlerror</span><span class="p">());</span>
+ <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+ <span class="p">}</span>
+
+ <span class="k">union</span> <span class="p">{</span>
+ <span class="kt">void</span> <span class="o">*</span><span class="n">ptr</span><span class="p">;</span>
+ <span class="n">clap_create_f</span> <span class="n">clap_create</span><span class="p">;</span>
+ <span class="p">}</span> <span class="n">symbol</span><span class="p">;</span>
+
+ <span class="n">symbol</span><span class="p">.</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">dlsym</span><span class="p">(</span><span class="n">handle</span><span class="p">,</span> <span class="s">"clap_create"</span><span class="p">);</span>
+ <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">symbol</span><span class="p">.</span><span class="n">ptr</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">fprintf</span><span class="p">(</span><span class="n">stderr</span><span class="p">,</span> <span class="s">"symbol not found: clap_create</span><span class="se">\n</span><span class="s">"</span><span class="p">);</span>
+ <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+ <span class="p">}</span>
+
+ <span class="kt">uint32_t</span> <span class="n">plugin_count</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+ <span class="k">for</span> <span class="p">(</span><span class="kt">uint32_t</span> <span class="n">index</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">index</span> <span class="o"><</span> <span class="n">plugin_count</span><span class="p">;</span> <span class="o">++</span><span class="n">index</span><span class="p">)</span> <span class="p">{</span>
+ <span class="k">struct</span> <span class="n">clap_plugin</span> <span class="o">*</span><span class="n">plugin</span> <span class="o">=</span> <span class="n">symbold</span><span class="p">.</span><span class="n">clap_create</span><span class="p">(</span>
+ <span class="n">index</span><span class="p">,</span> <span class="n">host</span><span class="p">,</span> <span class="mi">48000</span><span class="p">,</span> <span class="o">&</span><span class="n">plugin_count</span><span class="p">);</span>
+
+ <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">plugin</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">fprintf</span><span class="p">(</span><span class="n">stderr</span><span class="p">,</span> <span class="s">"failed to create plugin index %d</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span> <span class="n">index</span><span class="p">);</span>
+ <span class="k">continue</span><span class="p">;</span>
+ <span class="p">}</span>
+
+ <span class="n">fprintf</span><span class="p">(</span><span class="n">stdio</span><span class="p">,</span>
+ <span class="s">"found plugin:</span><span class="se">\n</span><span class="s">"</span>
+ <span class="s">" id: %s</span><span class="se">\n</span><span class="s">"</span>
+ <span class="s">" name: %s</span><span class="se">\n</span><span class="s">"</span>
+ <span class="s">" description: %s</span><span class="se">\n</span><span class="s">"</span>
+ <span class="s">" manufacturer: %s</span><span class="se">\n</span><span class="s">"</span>
+ <span class="s">" version: %s</span><span class="se">\n</span><span class="s">"</span>
+ <span class="s">" url: %s</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span>
+ <span class="n">plugin</span><span class="o">-></span><span class="n">id</span><span class="p">,</span>
+ <span class="n">plugin</span><span class="o">-></span><span class="n">name</span><span class="p">,</span>
+ <span class="n">plugin</span><span class="o">-></span><span class="n">description</span><span class="p">,</span>
+ <span class="n">plugin</span><span class="o">-></span><span class="n">manufacturer</span><span class="p">,</span>
+ <span class="n">plugin</span><span class="o">-></span><span class="n">version</span><span class="p">,</span>
+ <span class="n">plugin</span><span class="o">-></span><span class="n">url</span><span class="p">);</span>
+
+ <span class="c1">// destroy the plugin
+</span> <span class="n">plugin</span><span class="o">-></span><span class="n">destroy</span><span class="p">(</span><span class="n">plugin</span><span class="p">);</span>
+ <span class="p">}</span>
+
+ <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
+<span class="p">}</span>
+</pre>
+</div>
</div>
<div class="section" id="references">
-<h1><a class="toc-backref" href="#id44">References</a></h1>
+<h1><a class="toc-backref" href="#id45">References</a></h1>
<div class="section" id="clap-c">
-<h2><a class="toc-backref" href="#id45">clap.c</a></h2>
+<h2><a class="toc-backref" href="#id46">clap.c</a></h2>
<pre class="code c literal-block">
<span class="cm">/**
* CLAP - CLever Audio Plugin (<--- needs to find a marketing ok name)
@@ -1092,68 +1156,6 @@ big endian machine, it should load again successfully.</p>
<span class="cp">#endif </span><span class="cm">/* !CLAP_H */</span>
</pre>
</div>
-<div class="section" id="samples-clap-info-c">
-<h2><a class="toc-backref" href="#id46">samples/clap-info.c</a></h2>
-<pre class="code c literal-block">
-<span class="cp">#include <stdio.h>
-#include <dlfcn.h>
-</span>
-<span class="cp">#include <clap/clap.h>
-</span>
-<span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
-<span class="p">{</span>
- <span class="k">struct</span> <span class="n">clap_host</span> <span class="n">host</span><span class="p">;</span> <span class="c1">// XXX initialize host
-</span>
- <span class="kt">void</span> <span class="o">*</span> <span class="n">handle</span> <span class="o">=</span> <span class="n">dlopen</span><span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">RTLD_NOW</span> <span class="o">|</span> <span class="n">RTLD_LOCAL</span><span class="p">);</span>
- <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">handle</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">fprintf</span><span class="p">(</span><span class="n">stderr</span><span class="p">,</span> <span class="s">"failed to load %s: %s</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">dlerror</span><span class="p">());</span>
- <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
- <span class="p">}</span>
-
- <span class="k">union</span> <span class="p">{</span>
- <span class="kt">void</span> <span class="o">*</span><span class="n">ptr</span><span class="p">;</span>
- <span class="n">clap_create_f</span> <span class="n">clap_create</span><span class="p">;</span>
- <span class="p">}</span> <span class="n">symbol</span><span class="p">;</span>
-
- <span class="n">symbol</span><span class="p">.</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">dlsym</span><span class="p">(</span><span class="n">handle</span><span class="p">,</span> <span class="s">"clap_create"</span><span class="p">);</span>
- <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">symbol</span><span class="p">.</span><span class="n">ptr</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">fprintf</span><span class="p">(</span><span class="n">stderr</span><span class="p">,</span> <span class="s">"symbol not found: clap_create</span><span class="se">\n</span><span class="s">"</span><span class="p">);</span>
- <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
- <span class="p">}</span>
-
- <span class="kt">uint32_t</span> <span class="n">plugin_count</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
- <span class="k">for</span> <span class="p">(</span><span class="kt">uint32_t</span> <span class="n">index</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">index</span> <span class="o"><</span> <span class="n">plugin_count</span><span class="p">;</span> <span class="o">++</span><span class="n">index</span><span class="p">)</span> <span class="p">{</span>
- <span class="k">struct</span> <span class="n">clap_plugin</span> <span class="o">*</span><span class="n">plugin</span> <span class="o">=</span> <span class="n">symbold</span><span class="p">.</span><span class="n">clap_create</span><span class="p">(</span>
- <span class="n">index</span><span class="p">,</span> <span class="n">host</span><span class="p">,</span> <span class="mi">48000</span><span class="p">,</span> <span class="o">&</span><span class="n">plugin_count</span><span class="p">);</span>
-
- <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">plugin</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">fprintf</span><span class="p">(</span><span class="n">stderr</span><span class="p">,</span> <span class="s">"failed to create plugin index %d</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span> <span class="n">index</span><span class="p">);</span>
- <span class="k">continue</span><span class="p">;</span>
- <span class="p">}</span>
-
- <span class="n">fprintf</span><span class="p">(</span><span class="n">stdio</span><span class="p">,</span>
- <span class="s">"found plugin:</span><span class="se">\n</span><span class="s">"</span>
- <span class="s">" id: %s</span><span class="se">\n</span><span class="s">"</span>
- <span class="s">" name: %s</span><span class="se">\n</span><span class="s">"</span>
- <span class="s">" description: %s</span><span class="se">\n</span><span class="s">"</span>
- <span class="s">" manufacturer: %s</span><span class="se">\n</span><span class="s">"</span>
- <span class="s">" version: %s</span><span class="se">\n</span><span class="s">"</span>
- <span class="s">" url: %s</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span>
- <span class="n">plugin</span><span class="o">-></span><span class="n">id</span><span class="p">,</span>
- <span class="n">plugin</span><span class="o">-></span><span class="n">name</span><span class="p">,</span>
- <span class="n">plugin</span><span class="o">-></span><span class="n">description</span><span class="p">,</span>
- <span class="n">plugin</span><span class="o">-></span><span class="n">manufacturer</span><span class="p">,</span>
- <span class="n">plugin</span><span class="o">-></span><span class="n">version</span><span class="p">,</span>
- <span class="n">plugin</span><span class="o">-></span><span class="n">url</span><span class="p">);</span>
-
- <span class="c1">// destroy the plugin
-</span> <span class="n">plugin</span><span class="o">-></span><span class="n">destroy</span><span class="p">(</span><span class="n">plugin</span><span class="p">);</span>
- <span class="p">}</span>
-
- <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
-<span class="p">}</span>
-</pre>
-</div>
</div>
</div>
</body>
diff --git a/spec.rst b/spec.rst
@@ -515,6 +515,12 @@ If the extension is not supported, the plugin should return ``NULL``.
Examples
========
+samples/clap-info.c
+-------------------
+
+.. include:: samples/clap-info.c
+ :code: c
+
References
==========
@@ -523,9 +529,3 @@ clap.c
.. include:: include/clap/clap.h
:code: c
-
-samples/clap-info.c
--------------------
-
-.. include:: samples/clap-info.c
- :code: c