From 430284545345539c9ffb31df889debac1d3888b5 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 22 Mar 2020 16:36:44 +0100 Subject: Move documentation to metadata files and convert it to Markdown --- lv2/morph/morph.meta.ttl | 69 +++++++++++++++++++++++++++++++++++++++++++++++- lv2/morph/morph.ttl | 54 +++++-------------------------------- 2 files changed, 75 insertions(+), 48 deletions(-) (limited to 'lv2/morph') diff --git a/lv2/morph/morph.meta.ttl b/lv2/morph/morph.meta.ttl index 32f3e70..0616473 100644 --- a/lv2/morph/morph.meta.ttl +++ b/lv2/morph/morph.meta.ttl @@ -1,6 +1,8 @@ @prefix dcs: . @prefix doap: . @prefix foaf: . +@prefix lv2: . +@prefix morph: . @prefix rdfs: . @@ -19,5 +21,70 @@ rdfs:label "Initial release." ] ] - ] . + ] ; + lv2:documentation """ + +This extension defines two port types: morph:MorphPort, which has a +host-configurable type, and morph:AutoMorphPort, which may automatically change +type when a MorphPort's type is changed. These ports always have a default +type and work normally work in hosts that are unaware of this extension. Thus, +this extension provides a backwards compatibility mechanism which allows +plugins to use new port types but gracefully fall back to a default type in +hosts that do not support them. + +This extension only defines port types and properties for describing morph +ports. The actual run-time switching is done via the opts:interface API. + +"""^^lv2:Markdown . + +morph:MorphPort + lv2:documentation """ + +Ports of this type MUST have another type which defines the default buffer +format (for example lv2:ControlPort) but can be dynamically changed to a +different type in hosts that support opts:interface. + +The host may change the type of a MorphPort by setting its morph:currentType +with LV2_Options_Interface::set(). If the plugin has any morph:AutoMorphPort +ports, the host MUST check their types after changing any port type since they +may have changed. + +"""^^lv2:Markdown . + +morph:AutoMorphPort + lv2:documentation """ + +Ports of this type MUST have another type which defines the default buffer +format (e.g. lv2:ControlPort) but may dynamically change types based on the +configured types of any morph:MorphPort ports on the same plugin instance. + +The type of a port may only change in response to a host call to +LV2_Options_Interface::set(). Whenever any port type on the instance changes, +the host MUST check the type of all morph:AutoMorphPort ports with +LV2_Options_Interface::get() before calling run() again, since they may have +changed. If the type of any port is zero, it means the current configuration +is invalid and the plugin may not be run (unless that port is +lv2:connectionOptional and connected to NULL). + +This is mainly useful for outputs whose type depends on the type of +corresponding inputs. + +"""^^lv2:Markdown . + +morph:supportsType + lv2:documentation """ + +Indicates that a port supports being switched to a certain type. A MorphPort +MUST list each type it supports being switched to in the plugin data using this +property. + +"""^^lv2:Markdown . + +morph:currentType + lv2:documentation """ + +The currently active type of the port. This is for dynamic use as an option +and SHOULD NOT be listed in the static plugin data. + +"""^^lv2:Markdown . diff --git a/lv2/morph/morph.ttl b/lv2/morph/morph.ttl index af48201..3afe358 100644 --- a/lv2/morph/morph.ttl +++ b/lv2/morph/morph.ttl @@ -11,68 +11,31 @@ a owl:Ontology , lv2:Specification ; + rdfs:label "LV2 Morph" ; + rdfs:comment "Ports that can dynamically change type." ; rdfs:seeAlso , - ; - lv2:documentation """ -

This extension defines two port types: morph:MorphPort, which has a -host-configurable type, and morph:AutoMorphPort, which may automatically change -type when a MorphPort's type is changed. These ports always have a default -type and work normally work in hosts that are unaware of this extension. Thus, -this extension provides a backwards compatibility mechanism which allows -plugins to use new port types but gracefully fall back to a default type in -hosts that do not support them.

- -

This extension only defines port types and properties for describing morph -ports. The actual run-time switching is done via the opts:interface API.

-""" . + . morph:MorphPort a rdfs:Class , owl:Class ; rdfs:subClassOf lv2:Port ; rdfs:label "Morph Port" ; - lv2:documentation """ -

Ports of this type MUST have another type which defines the default buffer -format (e.g. lv2:ControlPort) but can be dynamically changed to a different -type in hosts that support opts:interface.

- -

The host may change the type of a MorphPort by setting its morph:currentType -with LV2_Options_Interface::set(). If the plugin has any morph:AutoMorphPort -ports, the host MUST check their types after changing any port type since they -may have changed.

""" . + rdfs:comment "A port which can be switched to another type." . morph:AutoMorphPort a rdfs:Class , owl:Class ; rdfs:subClassOf lv2:Port ; rdfs:label "Auto Morph Port" ; - lv2:documentation """ -

Ports of this type MUST have another type which defines the default buffer -format (e.g. lv2:ControlPort) but may dynamically change types based on the -configured types of any morph:MorphPort ports on the same plugin instance.

- -

The type of a port may only change in response to a host call to -LV2_Options_Interface::set(). Whenever any port type on the instance changes, -the host MUST check the type of all morph:AutoMorphPort ports with -LV2_Options_Interface::get() before calling run() again, since they may have -changed. If the type of any port is zero, it means the current configuration -is invalid and the plugin may not be run (unless that port is -lv2:connectionOptional and connected to NULL).

- -

This is mainly useful for outputs whose type depends on the type of -corresponding inputs.

-""" . + rdfs:comment "A port that can change its type based on that of another." . morph:supportsType a rdf:Property , owl:ObjectProperty ; rdfs:domain morph:MorphPort ; rdfs:label "supports type" ; - lv2:documentation """ -

Indicates that a port supports being switched to a certain type. A -MorphPort MUST list each type it supports being switched to in the plugin data -using this property.

-""" . + rdfs:comment "A type that a port supports being switched to." . morph:currentType a rdf:Property , @@ -80,8 +43,5 @@ morph:currentType owl:ObjectProperty ; rdfs:domain morph:MorphPort ; rdfs:label "current type" ; - lv2:documentation """ -

The currently active type of the port. This is for dynamic use as an option -and SHOULD NOT be listed in the static plugin data.

-""" . + rdfs:comment "The currently active type of the port." . -- cgit v1.2.1