aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/lv2plug.in/ns/ext/parameters
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-03-24 00:51:27 +0000
committerDavid Robillard <d@drobilla.net>2012-03-24 00:51:27 +0000
commitbf611932445b2b9c1126f91196f2068fe5cdf4eb (patch)
tree3bc0baf44a0c0a556e2c135eb3264611c9987f30 /lv2/lv2plug.in/ns/ext/parameters
parent4542edb7a34be45922df2a63a4a462199431a131 (diff)
downloadlv2-bf611932445b2b9c1126f91196f2068fe5cdf4eb.tar.xz
Rename port-props => parameters.
Diffstat (limited to 'lv2/lv2plug.in/ns/ext/parameters')
l---------lv2/lv2plug.in/ns/ext/parameters/ext.pc.in1
-rw-r--r--lv2/lv2plug.in/ns/ext/parameters/manifest.ttl8
-rw-r--r--lv2/lv2plug.in/ns/ext/parameters/parameters.ttl209
l---------lv2/lv2plug.in/ns/ext/parameters/waf1
l---------lv2/lv2plug.in/ns/ext/parameters/wscript1
5 files changed, 220 insertions, 0 deletions
diff --git a/lv2/lv2plug.in/ns/ext/parameters/ext.pc.in b/lv2/lv2plug.in/ns/ext/parameters/ext.pc.in
new file mode 120000
index 0000000..03dd044
--- /dev/null
+++ b/lv2/lv2plug.in/ns/ext/parameters/ext.pc.in
@@ -0,0 +1 @@
+../../../../../ext.pc.in \ No newline at end of file
diff --git a/lv2/lv2plug.in/ns/ext/parameters/manifest.ttl b/lv2/lv2plug.in/ns/ext/parameters/manifest.ttl
new file mode 100644
index 0000000..b027fef
--- /dev/null
+++ b/lv2/lv2plug.in/ns/ext/parameters/manifest.ttl
@@ -0,0 +1,8 @@
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+
+<http://lv2plug.in/ns/ext/parameters>
+ a lv2:Specification ;
+ lv2:minorVersion 0 ;
+ lv2:microVersion 2 ;
+ rdfs:seeAlso <parameters.ttl> .
diff --git a/lv2/lv2plug.in/ns/ext/parameters/parameters.ttl b/lv2/lv2plug.in/ns/ext/parameters/parameters.ttl
new file mode 100644
index 0000000..4a8c3c5
--- /dev/null
+++ b/lv2/lv2plug.in/ns/ext/parameters/parameters.ttl
@@ -0,0 +1,209 @@
+# LV2 Parameters Extension
+# Copyright 2011-2012 David Robillard <d@drobilla.net>
+# Copyright 2009 Krzysztof Foltman
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix param: <http://lv2plug.in/ns/ext/parameters#> .
+@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://drobilla.net/drobilla#me>
+ a foaf:Person ;
+ foaf:name "David Robillard" ;
+ foaf:homepage <http://drobilla.net/> ;
+ foaf:mbox <mailto:d@drobilla.net> ;
+ rdfs:seeAlso <http://drobilla.net/drobilla> .
+
+<http://lv2plug.in/ns/ext/parameters>
+ a lv2:Specification ;
+ doap:name "LV2 Parameters" ;
+ doap:release [
+ doap:revision "0.2" ;
+ doap:created "2012-03-23" ;
+ ] ;
+ doap:created "2009-01-01" ;
+ doap:shortdesc "Common parameters for audio processing." ;
+ doap:maintainer [
+ a foaf:Person ;
+ foaf:name "Krzysztof Foltman" ;
+ ] , <http://drobilla.net/drobilla#me> ;
+ lv2:documentation """
+<p>This extension defines useful parameters and properties for LV2 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.</p> """ .
+
+param:trigger
+ a lv2:PortProperty ;
+ rdfs:label "Trigger" ;
+ rdfs:comment """
+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.
+""" .
+
+param:supportsStrictBounds
+ a lv2:Feature ;
+ rdfs:label "Supports strict bounds" ;
+ rdfs:comment """
+Indicates use of host support for param: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 param:hasStrictBounds property.
+""" .
+
+param:hasStrictBounds
+ a lv2:PortProperty ;
+ rdfs:label "Has strict bounds" ;
+ rdfs:comment """
+For hosts that support param: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 param: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.
+""" .
+
+param:expensive
+ a lv2:PortProperty ;
+ rdfs:label "Changes trigger expensive calculation" ;
+ rdfs:comment """
+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.
+""" .
+
+param:causesArtifacts
+ a lv2:PortProperty ;
+ rdfs:label "May cause audio artifacts when changed" ;
+ rdfs:comment """
+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.
+""" .
+
+param:continuousCV
+ a lv2:PortProperty ;
+ rdfs:label "Carries a smooth modulation signal" ;
+ rdfs:comment """
+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).
+""" .
+
+param:discreteCV
+ a lv2:PortProperty ;
+ rdfs:label "Carries a discrete modulation signal" ;
+ rdfs:comment """
+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
+param: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).
+""" .
+
+param:logarithmic
+ a lv2:PortProperty ;
+ rdfs:label "Port value uses a logarithmic scale" ;
+ rdfs:comment """
+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.
+""" .
+
+param:notAutomatic
+ a lv2:PortProperty ;
+ rdfs:label "Port is not intended as a CV input" ;
+ rdfs:comment """
+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.
+""" .
+
+param:notOnGUI
+ a lv2:PortProperty ;
+ rdfs:label "Port is not to be displayed on a GUI or equivalent" ;
+ rdfs:comment """
+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.
+""" .
+
+param:priority
+ a rdf:Property ;
+ rdfs:domain lv2:Port ;
+ rdfs:range xsd:float ;
+ rdfs:label "Relative usefulness of a port" ;
+ rdfs:comment """
+Indicates how (typically) useful is the port comparing to other ports with that
+property (higher value = more important). The values do not need to be unique,
+and ports can be grouped based on their priorities.
+""" .
+
+param:rangeSteps
+ a rdf:Property ;
+ rdfs:domain lv2:Port ;
+ rdfs:range xsd:nonNegativeInteger ;
+ rdfs:label "Number of value quantization steps" ;
+ lv2:documentation """
+<p>This value indicates into how many evenly-divided points the (control) port
+range shoujld 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, etc.</p>
+
+<p>Note that when used with a param:logarithmic port, the steps are
+logarithmic too, and port value can be calculated as:</p>
+
+<pre class="c-code">
+value = lower * pow(upper / lower, step / (steps - 1))
+</pre>
+
+<p>and the step from value is:</p>
+
+<pre class="c-code">
+step = (steps - 1) * log(value / lower) / log(upper / lower)
+</pre>
+
+<p>where:</p>
+<ul>
+<li><code>value</code> is the port value</li>
+<li><code>step</code> is the step number (0..steps)</li>
+<li><code>steps</code> is the number of steps (= value of :rangeSteps property)</li>
+<li><code>lower</code> and <code>upper</code> are the bounds</li>
+</ul>
+""" .
diff --git a/lv2/lv2plug.in/ns/ext/parameters/waf b/lv2/lv2plug.in/ns/ext/parameters/waf
new file mode 120000
index 0000000..5235032
--- /dev/null
+++ b/lv2/lv2plug.in/ns/ext/parameters/waf
@@ -0,0 +1 @@
+../../../../../waf \ No newline at end of file
diff --git a/lv2/lv2plug.in/ns/ext/parameters/wscript b/lv2/lv2plug.in/ns/ext/parameters/wscript
new file mode 120000
index 0000000..7e2c01b
--- /dev/null
+++ b/lv2/lv2plug.in/ns/ext/parameters/wscript
@@ -0,0 +1 @@
+../../../../../ext.wscript \ No newline at end of file