aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ext/pui-event.lv2/pui-event.ttl1
-rw-r--r--ext/pui.lv2/pui.ttl26
-rw-r--r--ext/reference.lv2/reference.ttl2
-rwxr-xr-xlv2specgen/lv2specgen.py11
4 files changed, 21 insertions, 19 deletions
diff --git a/ext/pui-event.lv2/pui-event.ttl b/ext/pui-event.lv2/pui-event.ttl
index 6133b38..031b9e5 100644
--- a/ext/pui-event.lv2/pui-event.ttl
+++ b/ext/pui-event.lv2/pui-event.ttl
@@ -80,4 +80,5 @@ puiev:events a pui:PortProtocol;
the same run() call or distributed over multiple calls.</li>
<li>The data pointer in the LV2_Feature object for this feature should be
NULL.</li>
+</ol>
""".
diff --git a/ext/pui.lv2/pui.ttl b/ext/pui.lv2/pui.ttl
index 8c289bc..98db919 100644
--- a/ext/pui.lv2/pui.ttl
+++ b/ext/pui.lv2/pui.ttl
@@ -51,7 +51,7 @@
lv2:documentation """
<p>This extension defines an interface that can be used to create UIs for
plugins. The UIs are code that reside in shared object files in an LV2
-bundle and are referenced in the RDF data using the triples
+bundle and are referenced in the RDF data using the triples:</p>
<pre class="turtle-code">
@prefix pui: &lt;http://lv2plug.in/ns/ext/pui#&gt; .
@prefix pui-gtk: &lt;http://lv2plug.in/ns/ext/pui-gtk#&gt; .
@@ -59,7 +59,7 @@ bundle and are referenced in the RDF data using the triples
lv2:appliesTo &lt;http://example.org/my-plugin&gt; ;
pui:binary &lt;my-ui.so&gt; .
</pre>
-where <code>http://example.org/my-plugin</code> is the URI of the plugin,
+<p>... where <code>http://example.org/my-plugin</code> is the URI of the plugin,
<code>http://example.org/my-ui</code> is the URI of the plugin UI and
<code>my-ui.so</code> is the relative URI to the shared object file. While it
is possible to have the plugin UI and the plugin in the same shared object file
@@ -103,20 +103,20 @@ pui:UI a rdfs:Class;
<p>The class which represents an LV2 plugin UI.
</p>
-<p>To be used by a host a UI MUST have at least the following properties:
+<p>To be used by a host a UI MUST have at least the following properties:</p>
<ul>
<li>rdf:type (with object a proper subclass of pui:UI)</li>
<li>doap:name (one without language tag)</li>
<li>lv2:binary (with a shared object file as object)</li>
<li>lv2:appliesTo (with a LV2 plugin as object)</li>
-</li>
-The rdf:type of an UI is used by the host to decide whether it supports the
+</ul>
+
+<p>The rdf:type of an UI is used by the host to decide whether it supports the
UI and how to handle the LV2_PUI_Widget object that is returned by the UIs
-get_widget() function. For example, a type of pui-gtk:GtkGUI might tell the host
-that LV2_PUI_Widget is a pointer to an object of a type defined in the Gtk+
-library. No UI types are defined in this extension, that is intentionally
-left for other extensions.
-</p>
+get_widget() function. For example, a type of pui-gtk:GtkGUI might tell the
+host that LV2_PUI_Widget is a pointer to an object of a type defined in the
+Gtk+ library. No UI types are defined in this extension, that is intentionally
+left for other extensions.</p>
<p>The doap:name property should be at most a few words in length using title
capitalization, e.g. "Flashy Mixer GUI". Use lv2:documentation for more
@@ -148,14 +148,14 @@ and plugin. PortProtocols can be specified in additional extensions, and
those extensions MUST specify:
</p>
-<p><ol>
+<ol>
<li>Which plugin port types the buffer type is valid for</li>
<li>When the host should call port_event() in LV2_PUI_Descriptor</li>
<li>The format of the data in the buffer passed to port_event()</li>
<li>The format of the data in the buffer passed to write_port()</li>
<li>What happens when the UI calls write_port() in LV2_PUI_Host_Descriptor</li>
<li>What data (if any) should be passed in the LV2_Feature data pointer. </li>
-</ol></p>
+</ol>
<p>For an example, see pui:floatControl or pui:floatPeakRMS.
</p>
@@ -210,7 +210,7 @@ period</em>.</p>
However, UIs MUST NOT depend on either the regularity of the calls or the
contiguity of the measurement periods; hosts may change the call rate
or skip calls for performance or other reasons. Measurement periods for
- different calls to port_event() for the same port MUST NOT overlap.
+ different calls to port_event() for the same port MUST NOT overlap.</li>
<li>The format of the data in the buffer passed to port_event() is a single
LV2_PUI_Peak_RMS_Data object, and the buffer size is
sizeof(LV2_PUI_Peak_RMS_Data).</li>
diff --git a/ext/reference.lv2/reference.ttl b/ext/reference.lv2/reference.ttl
index fae31d3..e59e0ae 100644
--- a/ext/reference.lv2/reference.ttl
+++ b/ext/reference.lv2/reference.ttl
@@ -71,7 +71,7 @@ LV2_Blob_Support.
reference:Blob a rdfs:Class ;
rdfs:label "Blob" ;
lv2:documentation """
-<p>Base class for all dynamically allocated blobs. An <a LV2_Blob is an opaque
+<p>Base class for all dynamically allocated blobs. An LV2_Blob is an opaque
pointer to host data. The type and data of a blob can be accessed via
host-provided functions in LV2_Blob_Support. The type of a blob can be any URI
that describes a data format. Blobs are always allocated by the host, and
diff --git a/lv2specgen/lv2specgen.py b/lv2specgen/lv2specgen.py
index 822f539..d81e500 100755
--- a/lv2specgen/lv2specgen.py
+++ b/lv2specgen/lv2specgen.py
@@ -299,36 +299,37 @@ def rdfsPropertyInfo(term, m):
# Domain stuff
domains = findStatements(m, term, rdfs.domain, None)
domainsdoc = ""
+ first = True
for d in domains:
union = findOne(m, getObject(d), owl.unionOf, None)
if union:
uris = parseCollection(m, getObject(union))
- first = True
for uri in uris:
domainsdoc += getProperty(getTermLink(uri, term, rdfs.domain), first)
add(classdomains, uri, term)
- first = False
else:
if not isBlank(getObject(d)):
- domainsdoc += getProperty(getTermLink(getObject(d), term, rdfs.domain))
+ domainsdoc += getProperty(getTermLink(getObject(d), term, rdfs.domain), first)
+ first = False
if (len(domainsdoc) > 0):
doc += "<tr><th>Domain</th>%s" % domainsdoc
# Range stuff
ranges = findStatements(m, term, rdfs.range, None)
rangesdoc = ""
+ first = True
for r in ranges:
union = findOne(m, getObject(r), owl.unionOf, None)
if union:
uris = parseCollection(m, getObject(union))
- first = True
for uri in uris:
rangesdoc += getProperty(getTermLink(uri, term, rdfs.range), first)
add(classranges, uri, term)
first = False
else:
if not isBlank(getObject(r)):
- rangesdoc += getProperty(getTermLink(getObject(r), term, rdfs.range))
+ rangesdoc += getProperty(getTermLink(getObject(r), term, rdfs.range), first)
+ first = False
if (len(rangesdoc) > 0):
doc += "<tr><th>Range</th>%s" % rangesdoc