diff options
-rw-r--r-- | ext/pui-event.lv2/pui-event.ttl | 1 | ||||
-rw-r--r-- | ext/pui.lv2/pui.ttl | 26 | ||||
-rw-r--r-- | ext/reference.lv2/reference.ttl | 2 | ||||
-rwxr-xr-x | lv2specgen/lv2specgen.py | 11 |
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: <http://lv2plug.in/ns/ext/pui#> . @prefix pui-gtk: <http://lv2plug.in/ns/ext/pui-gtk#> . @@ -59,7 +59,7 @@ bundle and are referenced in the RDF data using the triples lv2:appliesTo <http://example.org/my-plugin> ; pui:binary <my-ui.so> . </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 |