diff options
Diffstat (limited to 'lv2/options.lv2')
-rw-r--r-- | lv2/options.lv2/manifest.ttl | 9 | ||||
-rw-r--r-- | lv2/options.lv2/options.meta.ttl | 129 | ||||
-rw-r--r-- | lv2/options.lv2/options.ttl | 44 |
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." . + |