@prefix lv2: . @prefix opts: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . a owl:Ontology ; rdfs:seeAlso , <../../meta/meta.ttl> , ; lv2:documentation """

This extension defines a facility for options, which are parameters passed to a plugin, UI, or other instance at instantiation time. Like the command-line options of a program, options do not change over the lifetime of an instance.

Because they are available at instantiation time, options are useful for adding parameters which are not suitable for dynamic control, such as those that require expensive pre-computation. They are also useful for providing information which would not otherwise be available.

Options are provided to instances by the host via the opts:options feature.

Instances may indicate they require an option with the opts:requiredOption property, or that they optionally support an option with the opts:supportedOption property.

""" . opts:Option a rdfs:Class ; rdfs:label "Option" ; rdfs:subClassOf rdf:Property ; lv2:documentation """

A property intended to be used as a static option for an instance.

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.

""" . opts:options a lv2:Feature ; rdfs:label "options" ; lv2:documentation """

The feature used to provide options to an instance.

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 a lv2:optionalFeature.

""" . opts:requiredOption a rdf:Property , owl:ObjectProperty ; rdfs:label "required option" ; lv2:documentation """

An option required by the instance to function at all. The host MUST pass a value for the specified option via opts:options in order to create an instance.

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.

""" . opts:supportedOption a rdf:Property , owl:ObjectProperty ; rdfs:label "supported option" ; lv2:documentation """

An option supported or understood by the instance. The host SHOULD provide a value for the specified option if one is known, or provide the user an opportunity to specify one if one is Indicates that the instance host MUST pass a value for the specified option in order to instantiate the instance.

""" .