diff options
Diffstat (limited to 'lv2/lv2plug.in/ns/ext/morph/morph.ttl')
-rw-r--r-- | lv2/lv2plug.in/ns/ext/morph/morph.ttl | 60 |
1 files changed, 34 insertions, 26 deletions
diff --git a/lv2/lv2plug.in/ns/ext/morph/morph.ttl b/lv2/lv2plug.in/ns/ext/morph/morph.ttl index 09351b1..9457089 100644 --- a/lv2/lv2plug.in/ns/ext/morph/morph.ttl +++ b/lv2/lv2plug.in/ns/ext/morph/morph.ttl @@ -1,10 +1,11 @@ @prefix doap: <http://usefulinc.com/ns/doap#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix lv2: <http://lv2plug.in/ns/lv2core#> . +@prefix morph: <http://lv2plug.in/ns/ext/morph#> . +@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 morph: <http://lv2plug.in/ns/ext/morph#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . <http://lv2plug.in/ns/ext/morph> @@ -15,11 +16,14 @@ lv2:documentation """ <p>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 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.</p> +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.</p> + +<p>This extension only defines port types and properties for describing morph +ports. The actual run-time switching is done via the opts:interface API.</p> """ . morph:MorphPort @@ -30,13 +34,12 @@ morph:MorphPort lv2:documentation """ <p>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 morph:interface.</p> +type in hosts that support opts:interface.</p> -<p>The host may change the type of a MorphPort by calling -LV2_Morph_Interface::morph_port(). If the plugin has any morph:AutoMorphPort +<p>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.</p> -""" . +may have changed.</p> """ . morph:AutoMorphPort a rdfs:Class , @@ -48,31 +51,36 @@ morph:AutoMorphPort 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.</p> -<p>The type of a port may only change in response to a call to -LV2_Morph_Interface::morph_port(), i.e. ports can only change type as a result -of an explicit host request. Whenever any port type on the instance changes, -the host MUST check the type of all morph:AutoMorphPort ports on the instance -before calling run() again, since they may have changed.</p> +<p>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).</p> <p>This is mainly useful for outputs whose type depends on the type of corresponding inputs.</p> """ . -morph:interface - a lv2:ExtensionData ; +morph:supportsType + a rdf:Property , + owl:ObjectProperty ; + rdfs:domain morph:MorphPort ; + rdfs:label "supports type" ; lv2:documentation """ -<p>The interface provided by the plugin to support morph ports. To support -this extension, the plugin must return a LV2_Morph_Interface from -LV2_Descriptor::extension_data() when it is called with this URI -(LV2_MORPH__interface).</p> +<p>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.</p> """ . -morph:supportsType +morph:currentType a rdf:Property , + opts:Option , owl:ObjectProperty ; rdfs:domain morph:MorphPort ; - rdfs:label "supports type" ; + rdfs:label "current type" ; lv2:documentation """ -<p>Indicates that a port supports being switched to a certain type via -morph:interface.</p> +<p>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.</p> """ . |