aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/port-props/port-props.meta.ttl
diff options
context:
space:
mode:
Diffstat (limited to 'lv2/port-props/port-props.meta.ttl')
-rw-r--r--lv2/port-props/port-props.meta.ttl172
1 files changed, 170 insertions, 2 deletions
diff --git a/lv2/port-props/port-props.meta.ttl b/lv2/port-props/port-props.meta.ttl
index d75828f..ddb8605 100644
--- a/lv2/port-props/port-props.meta.ttl
+++ b/lv2/port-props/port-props.meta.ttl
@@ -1,13 +1,16 @@
@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 pprops: <http://lv2plug.in/ns/ext/port-props#> .
+@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/port-props>
a doap:Project ;
doap:name "LV2 Port Properties" ;
doap:created "2009-01-01" ;
- doap:shortdesc "Various port properties." ;
+ doap:shortdesc "Various properties for LV2 plugin ports." ;
doap:maintainer <http://drobilla.net/drobilla#me> ;
doap:developer <http://lv2plug.in/ns/meta#kfoltman> ;
doap:release [
@@ -30,5 +33,170 @@
rdfs:label "Initial release."
]
]
- ] .
+ ] ;
+ lv2:documentation """
+
+This vocabulary defines various properties for plugin ports, which can be used
+to better describe how a plugin can be controlled. Using this metadata, hosts
+can build better UIs for plugins, and provide more advanced automatic
+functionality.
+
+"""^^lv2:Markdown .
+
+pprops:trigger
+ lv2:documentation """
+
+Indicates that the data item corresponds to a momentary event that has been
+detected (control output ports) or is to be triggered (control input ports).
+For input ports, the port needs to be reset to lv2:default value after run()
+function of the plugin has returned. If the control port is assigned a GUI
+widget by the host, the widget should be of auto-off (momentary, one-shot) type
+- for example, a push button if the port is also declared as lv2:toggled, or a
+series of push button or auto-clear input box with a "Send" button if the port
+is also lv2:integer.
+
+"""^^lv2:Markdown .
+
+pprops:supportsStrictBounds
+ lv2:documentation """
+
+Indicates use of host support for pprops:hasStrictBounds port property. A
+plugin that specifies it as optional feature can omit value clamping for
+hasStrictBounds ports, if the feature is supported by the host. When specified
+as required feature, it indicates that the plugin does not do any clamping for
+input ports that have a pprops:hasStrictBounds property.
+
+"""^^lv2:Markdown .
+
+pprops:hasStrictBounds
+ lv2:documentation """
+
+For hosts that support pprops:supportsStrictBounds, this indicates that the
+value of the port should never exceed the port's minimum and maximum control
+points. For input ports, it moves the responsibility for limiting the range of
+values to host, if it supports pprops:supportsStrictBounds. For output ports,
+it indicates that values within specified range are to be expected, and
+breaking that should be considered by the host as error in plugin
+implementation.
+
+"""^^lv2:Markdown .
+
+pprops:expensive
+ lv2:documentation """
+
+Input ports only. Indicates that any changes to the port value may trigger
+expensive background calculation (e.g. regenerate some lookup tables in a
+background thread). Any value changes may have not have immediate effect, or
+may cause silence or diminished-quality version of the output until background
+processing is finished. Ports having this property are typically not well
+suited for connection to outputs of other plugins, and should not be offered as
+connection targets or for automation by default.
+
+"""^^lv2:Markdown .
+
+pprops:causesArtifacts
+ lv2:documentation """
+
+Input ports only. Indicates that any changes to the port value may produce
+slight artifacts to produced audio signals (zipper noise and other results of
+signal discontinuities). Connecting ports of this type to continuous signals
+is not recommended, and when presenting a list of automation targets, those
+ports may be marked as artifact-producing.
+
+"""^^lv2:Markdown .
+
+pprops:continuousCV
+ lv2:documentation """
+
+Indicates that the port carries a "smooth" modulation signal. Control input
+ports of this type are well-suited for being connected to sources of smooth
+signals (knobs with smoothing, modulation rate oscillators, output ports with
+continuousCV type, etc.). Typically, the plugin with ports which have this
+property will implement appropriate smoothing to avoid audio artifacts. For
+output ports, this property suggests the value of the port is likely to change
+frequently, and describes a smooth signal (e.g. successive values may be
+considered points along a curve).
+
+"""^^lv2:Markdown .
+
+pprops:discreteCV
+ lv2:documentation """
+
+Indicates that the port carries a "discrete" modulation signal. Input ports of
+this type are well-suited for being connected to sources of discrete signals
+(switches, buttons, classifiers, event detectors, etc.). May be combined with
+pprops:trigger property. For output ports, this property suggests the value of
+the port describe discrete values that should be interpreted as steps (and not
+points along a curve).
+
+"""^^lv2:Markdown .
+
+pprops:logarithmic
+ lv2:documentation """
+
+Indicates that port value behaviour within specified range (bounds) is a value
+using logarithmic scale. The lower and upper bounds must be specified, and
+must be of the same sign.
+
+"""^^lv2:Markdown .
+
+pprops:notAutomatic
+ lv2:documentation """
+
+Indicates that the port is not primarily intended to be fed with modulation
+signals from external sources (other plugins, etc.). It is merely a UI hint
+and hosts may allow the user to override it.
+
+"""^^lv2:Markdown .
+
+pprops:notOnGUI
+ lv2:documentation """
+
+Indicates that the port is not primarily intended to be represented by a
+separate control in the user interface window (or any similar mechanism used
+for direct, immediate control of control ports). It is merely a UI hint and
+hosts may allow the user to override it.
+
+"""^^lv2:Markdown .
+
+pprops:displayPriority
+ lv2:documentation """
+
+Indicates how important a port is to controlling the plugin. If a host can
+only display some ports of a plugin, it should prefer ports with a higher
+display priority. Priorities do not need to be unique, and are only meaningful
+when compared to each other.
+
+"""^^lv2:Markdown .
+
+pprops:rangeSteps
+ lv2:documentation """
+
+This value indicates into how many evenly-divided points the (control) port
+range should be divided for step-wise control. This may be used for changing
+the value with step-based controllers like arrow keys, mouse wheel, rotary
+encoders, and so on.
+
+Note that when used with a pprops:logarithmic port, the steps are logarithmic
+too, and port value can be calculated as:
+
+ :::c
+ value = lower * pow(upper / lower, step / (steps - 1))
+
+and the step from value is:
+
+ :::c
+ step = (steps - 1) * log(value / lower) / log(upper / lower)
+
+where:
+
+ * `value` is the port value.
+
+ * `step` is the step number (0..steps).
+
+ * `steps` is the number of steps (= value of :rangeSteps property).
+
+ * `lower` and <code>upper</code> are the bounds.
+
+"""^^lv2:Markdown .