From bf611932445b2b9c1126f91196f2068fe5cdf4eb Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 24 Mar 2012 00:51:27 +0000 Subject: Rename port-props => parameters. --- lv2/lv2plug.in/ns/ext/parameters/ext.pc.in | 1 + lv2/lv2plug.in/ns/ext/parameters/manifest.ttl | 8 + lv2/lv2plug.in/ns/ext/parameters/parameters.ttl | 209 ++++++++++++++++++++++++ lv2/lv2plug.in/ns/ext/parameters/waf | 1 + lv2/lv2plug.in/ns/ext/parameters/wscript | 1 + lv2/lv2plug.in/ns/ext/port-props/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/port-props/manifest.ttl | 8 - lv2/lv2plug.in/ns/ext/port-props/port-props.ttl | 191 ---------------------- lv2/lv2plug.in/ns/ext/port-props/waf | 1 - lv2/lv2plug.in/ns/ext/port-props/wscript | 1 - 10 files changed, 220 insertions(+), 202 deletions(-) create mode 120000 lv2/lv2plug.in/ns/ext/parameters/ext.pc.in create mode 100644 lv2/lv2plug.in/ns/ext/parameters/manifest.ttl create mode 100644 lv2/lv2plug.in/ns/ext/parameters/parameters.ttl create mode 120000 lv2/lv2plug.in/ns/ext/parameters/waf create mode 120000 lv2/lv2plug.in/ns/ext/parameters/wscript delete mode 120000 lv2/lv2plug.in/ns/ext/port-props/ext.pc.in delete mode 100644 lv2/lv2plug.in/ns/ext/port-props/manifest.ttl delete mode 100644 lv2/lv2plug.in/ns/ext/port-props/port-props.ttl delete mode 120000 lv2/lv2plug.in/ns/ext/port-props/waf delete mode 120000 lv2/lv2plug.in/ns/ext/port-props/wscript (limited to 'lv2') 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: . +@prefix rdfs: . + + + a lv2:Specification ; + lv2:minorVersion 0 ; + lv2:microVersion 2 ; + rdfs:seeAlso . 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 +# 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: . +@prefix foaf: . +@prefix lv2: . +@prefix param: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . + + + a foaf:Person ; + foaf:name "David Robillard" ; + foaf:homepage ; + foaf:mbox ; + rdfs:seeAlso . + + + 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" ; + ] , ; + lv2:documentation """ +

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.

""" . + +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 """ +

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.

+ +

Note that when used with a param:logarithmic port, the steps are +logarithmic too, and port value can be calculated as:

+ +
+value = lower * pow(upper / lower, step / (steps - 1))
+
+ +

and the step from value is:

+ +
+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 upper are the bounds
  • +
+""" . 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 diff --git a/lv2/lv2plug.in/ns/ext/port-props/ext.pc.in b/lv2/lv2plug.in/ns/ext/port-props/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/port-props/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/port-props/manifest.ttl b/lv2/lv2plug.in/ns/ext/port-props/manifest.ttl deleted file mode 100644 index b4afe2f..0000000 --- a/lv2/lv2plug.in/ns/ext/port-props/manifest.ttl +++ /dev/null @@ -1,8 +0,0 @@ -@prefix lv2: . -@prefix rdfs: . - - - a lv2:Specification ; - lv2:minorVersion 0 ; - lv2:microVersion 1 ; - rdfs:seeAlso . diff --git a/lv2/lv2plug.in/ns/ext/port-props/port-props.ttl b/lv2/lv2plug.in/ns/ext/port-props/port-props.ttl deleted file mode 100644 index d6f30e6..0000000 --- a/lv2/lv2plug.in/ns/ext/port-props/port-props.ttl +++ /dev/null @@ -1,191 +0,0 @@ -@prefix pprops: . -@prefix doap: . -@prefix foaf: . -@prefix lv2: . -@prefix rdf: . -@prefix rdfs: . -@prefix xsd: . - - - a lv2:Specification ; - doap:name "LV2 Port Properties" ; - doap:release [ - doap:revision "0.1" ; - doap:created "2011-11-01" - ] ; - doap:created "2009-01-01" ; - doap:shortdesc "Additional properties for LV2 plugin ports." ; - doap:maintainer [ - a foaf:Person ; - foaf:name "Krzysztof Foltman" - ] , [ - a foaf:Person ; - foaf:name "David Robillard" ; - rdfs:seeAlso - ] ; - lv2:documentation """ -

This extension defines several useful properties for LV2 plugin ports, which -can be used in plugin descriptions to better describe ports. Using this -metadata, hosts can build better UIs for plugins, and provide more advanced -automatic functionality.

-""" . - -pprops: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. -""" . - -pprops:supportsStrictBounds - a lv2:Feature ; - rdfs:label "Supports strict bounds" ; - rdfs:comment """ -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. -""" . - -pprops:hasStrictBounds - a lv2:PortProperty ; - rdfs:label "Has strict bounds" ; - rdfs:comment """ -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. -""" . - -pprops: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. -""" . - -pprops: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. -""" . - -pprops: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). -""" . - -pprops: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 -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). -""" . - -pprops: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. -""" . - -pprops: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. -""" . - -pprops: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. -""" . - -pprops: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. -""" . - -pprops:rangeSteps - a rdf:Property ; - rdfs:domain lv2:Port ; - rdfs:range xsd:nonNegativeInteger ; - rdfs:label "Number of value quantization steps" ; - lv2:documentation """ -

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.

- -

Note that when used with a pprops:logarithmic port, the steps are -logarithmic too, and port value can be calculated as:

- -
-value = lower * pow(upper / lower, step / (steps - 1))
-
- -

and the step from value is:

- -
-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 upper are the bounds
  • -
-""" . diff --git a/lv2/lv2plug.in/ns/ext/port-props/waf b/lv2/lv2plug.in/ns/ext/port-props/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/port-props/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/port-props/wscript b/lv2/lv2plug.in/ns/ext/port-props/wscript deleted file mode 120000 index 7e2c01b..0000000 --- a/lv2/lv2plug.in/ns/ext/port-props/wscript +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.wscript \ No newline at end of file -- cgit v1.2.1