aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/options.lv2
diff options
context:
space:
mode:
Diffstat (limited to 'lv2/options.lv2')
-rw-r--r--lv2/options.lv2/manifest.ttl9
-rw-r--r--lv2/options.lv2/options.meta.ttl129
-rw-r--r--lv2/options.lv2/options.ttl44
3 files changed, 182 insertions, 0 deletions
diff --git a/lv2/options.lv2/manifest.ttl b/lv2/options.lv2/manifest.ttl
new file mode 100644
index 0000000..18db448
--- /dev/null
+++ b/lv2/options.lv2/manifest.ttl
@@ -0,0 +1,9 @@
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+
+<http://lv2plug.in/ns/ext/options>
+ a lv2:Specification ;
+ lv2:minorVersion 1 ;
+ lv2:microVersion 4 ;
+ rdfs:seeAlso <options.ttl> .
+
diff --git a/lv2/options.lv2/options.meta.ttl b/lv2/options.lv2/options.meta.ttl
new file mode 100644
index 0000000..838b0b9
--- /dev/null
+++ b/lv2/options.lv2/options.meta.ttl
@@ -0,0 +1,129 @@
+@prefix dcs: <http://ontologi.es/doap-changeset#> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix opts: <http://lv2plug.in/ns/ext/options#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+
+<http://lv2plug.in/ns/ext/options>
+ a doap:Project ;
+ doap:name "LV2 Options" ;
+ doap:shortdesc "Runtime options for LV2 plugins and UIs." ;
+ doap:created "2012-08-20" ;
+ doap:developer <http://drobilla.net/drobilla#me> ;
+ doap:release [
+ doap:revision "1.4" ;
+ doap:created "2019-02-03" ;
+ doap:file-release <http://lv2plug.in/spec/lv2-1.16.0.tar.bz2> ;
+ dcs:blame <http://drobilla.net/drobilla#me> ;
+ dcs:changeset [
+ dcs:item [
+ rdfs:label "Relax range of opts:requiredOption and opts:supportedOption"
+ ]
+ ]
+ ] , [
+ doap:revision "1.2" ;
+ doap:created "2013-01-10" ;
+ doap:file-release <http://lv2plug.in/spec/lv2-1.4.0.tar.bz2> ;
+ dcs:blame <http://drobilla.net/drobilla#me> ;
+ dcs:changeset [
+ dcs:item [
+ rdfs:label "Set the range of opts:requiredOption and opts:supportedOption to opts:Option."
+ ]
+ ]
+ ] , [
+ doap:revision "1.0" ;
+ doap:created "2012-10-14" ;
+ doap:file-release <http://lv2plug.in/spec/lv2-1.2.0.tar.bz2> ;
+ dcs:blame <http://drobilla.net/drobilla#me> ;
+ dcs:changeset [
+ dcs:item [
+ rdfs:label "Initial release."
+ ]
+ ]
+ ] ;
+ lv2:documentation """
+
+This extension defines a facility for <q>options</q>, which are values the host
+passes to a plugin or UI at run time.
+
+There are two facilities for passing options to an instance: opts:options
+allows passing options at instantiation time, and the opts:interface interface
+allows options to be dynamically set and retrieved after instantiation.
+
+Note that this extension is only for allowing hosts to configure plugins, and
+is not a <q>live</q> control mechanism. For real-time control, use event-based
+control via an atom:AtomPort with an atom:Sequence buffer.
+
+Instances may indicate they require an option with the opts:requiredOption
+property, or that they optionally support an option with the
+opts:supportedOption property.
+
+"""^^lv2:Markdown .
+
+opts:Option
+ lv2:documentation """
+
+It is not required for a property to explicitly be an Option in order to be
+used as such. However, properties which are primarily intended for use as
+options, or are at least particularly useful as options, should be explicitly
+given this type for documentation purposes, and to assist hosts in discovering
+option definitions.
+
+"""^^lv2:Markdown .
+
+opts:interface
+ lv2:documentation """
+
+An interface (LV2_Options_Interface) for dynamically setting and getting
+options. Note that this is intended for use by the host for configuring
+plugins only, and is not a <q>live</q> plugin control mechanism.
+
+The plugin data file should advertise this interface like so:
+
+ :::turtle
+ @prefix opts: <http://lv2plug.in/ns/ext/options#> .
+
+ <plugin>
+ a lv2:Plugin ;
+ lv2:extensionData opts:interface .
+
+"""^^lv2:Markdown .
+
+opts:options
+ lv2:documentation """
+
+To implement this feature, hosts MUST pass an LV2_Feature to the appropriate
+instantiate method with this URI and data pointed to an array of
+LV2_Options_Option terminated by an element with both key and value set to
+zero. The instance should cast this data pointer to `const
+LV2_Options_Option*` and scan the array for any options of interest. The
+instance MUST NOT modify the options array in any way.
+
+Note that requiring this feature may reduce the number of compatible hosts.
+Unless some options are strictly required by the instance, this feature SHOULD
+be listed as an lv2:optionalFeature.
+
+"""^^lv2:Markdown .
+
+opts:requiredOption
+ lv2:documentation """
+
+The host MUST pass a value for the specified option via opts:options during
+instantiation.
+
+Note that use of this property may reduce the number of compatible hosts.
+Wherever possible, it is better to list options with opts:supportedOption and
+fall back to a reasonable default value if it is not provided.
+
+"""^^lv2:Markdown .
+
+opts:supportedOption
+ lv2:documentation """
+
+The host SHOULD provide a value for the specified option if one is known, or
+provide the user an opportunity to specify one if possible.
+
+"""^^lv2:Markdown .
+
diff --git a/lv2/options.lv2/options.ttl b/lv2/options.lv2/options.ttl
new file mode 100644
index 0000000..5f9fcc9
--- /dev/null
+++ b/lv2/options.lv2/options.ttl
@@ -0,0 +1,44 @@
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix opts: <http://lv2plug.in/ns/ext/options#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+<http://lv2plug.in/ns/ext/options>
+ a owl:Ontology ;
+ rdfs:label "LV2 Options" ;
+ rdfs:comment "Runtime options for LV2 plugins and UIs." ;
+ rdfs:seeAlso <options.meta.ttl> ;
+ owl:imports <http://lv2plug.in/ns/lv2core> .
+
+opts:Option
+ a rdfs:Class ;
+ rdfs:label "Option" ;
+ rdfs:subClassOf rdf:Property ;
+ rdfs:comment "A value for a static option passed to an instance." .
+
+opts:interface
+ a lv2:ExtensionData ;
+ rdfs:label "interface" ;
+ rdfs:comment "An interface for dynamically setting and getting options." .
+
+opts:options
+ a lv2:Feature ;
+ rdfs:label "options" ;
+ rdfs:comment "The feature used to provide options to an instance." .
+
+opts:requiredOption
+ a rdf:Property ,
+ owl:ObjectProperty ;
+ rdfs:range rdf:Property ;
+ rdfs:label "required option" ;
+ rdfs:comment "An option required by the instance to function at all." .
+
+opts:supportedOption
+ a rdf:Property ,
+ owl:ObjectProperty ;
+ rdfs:range rdf:Property ;
+ rdfs:label "supported option" ;
+ rdfs:comment "An option supported or by the instance." .
+