aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/parameters
diff options
context:
space:
mode:
Diffstat (limited to 'lv2/parameters')
-rw-r--r--lv2/parameters/lv2-parameters.doap.ttl47
-rw-r--r--lv2/parameters/manifest.ttl8
-rw-r--r--lv2/parameters/parameters.h62
-rw-r--r--lv2/parameters/parameters.ttl206
4 files changed, 323 insertions, 0 deletions
diff --git a/lv2/parameters/lv2-parameters.doap.ttl b/lv2/parameters/lv2-parameters.doap.ttl
new file mode 100644
index 0000000..3ff707c
--- /dev/null
+++ b/lv2/parameters/lv2-parameters.doap.ttl
@@ -0,0 +1,47 @@
+@prefix dcs: <http://ontologi.es/doap-changeset#> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+
+<http://lv2plug.in/ns/ext/parameters>
+ a doap:Project ;
+ doap:name "LV2 Parameters" ;
+ doap:release [
+ doap:revision "1.4" ;
+ doap:created "2015-04-07" ;
+ doap:file-release <http://lv2plug.in/spec/lv2-1.12.0.tar.bz2> ;
+ dcs:blame <http://drobilla.net/drobilla#me> ;
+ dcs:changeset [
+ dcs:item [
+ rdfs:label "Add range to parameters so hosts know how to control them."
+ ]
+ ]
+ ] , [
+ doap:revision "1.2" ;
+ doap:created "2012-10-14" ;
+ doap:file-release <http://lv2plug.in/spec/lv2-1.2.0.tar.bz2> ;
+ dcs:blame <http://drobilla.net/drobilla#me> ;
+ dcs:changeset [
+ dcs:item [
+ rdfs:label "Use consistent label style."
+ ] , [
+ rdfs:label "Add param:sampleRate."
+ ] , [
+ rdfs:label "Add parameters.h of URI defines for convenience."
+ ]
+ ]
+ ] , [
+ doap:revision "1.0" ;
+ doap:created "2012-04-17" ;
+ doap:file-release <http://lv2plug.in/spec/lv2-1.0.0.tar.bz2> ;
+ dcs:blame <http://drobilla.net/drobilla#me> ;
+ dcs:changeset [
+ dcs:item [
+ rdfs:label "Initial release."
+ ]
+ ]
+ ] ;
+ doap:created "2009-00-00" ;
+ doap:shortdesc "Common parameters for audio processing." ;
+ doap:maintainer <http://drobilla.net/drobilla#me> ;
+ doap:developer <http://lv2plug.in/ns/meta#larsl> .
diff --git a/lv2/parameters/manifest.ttl b/lv2/parameters/manifest.ttl
new file mode 100644
index 0000000..d2ba8fa
--- /dev/null
+++ b/lv2/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 1 ;
+ lv2:microVersion 4 ;
+ rdfs:seeAlso <parameters.ttl> .
diff --git a/lv2/parameters/parameters.h b/lv2/parameters/parameters.h
new file mode 100644
index 0000000..f81e78b
--- /dev/null
+++ b/lv2/parameters/parameters.h
@@ -0,0 +1,62 @@
+/*
+ Copyright 2012-2016 David Robillard <http://drobilla.net>
+
+ 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.
+*/
+
+/**
+ @defgroup parameters Parameters
+
+ Common parameters for audio processing, see
+ <http://lv2plug.in/ns/ext/parameters>.
+
+ @{
+*/
+
+#ifndef LV2_PARAMETERS_H
+#define LV2_PARAMETERS_H
+
+#define LV2_PARAMETERS_URI "http://lv2plug.in/ns/ext/parameters" ///< http://lv2plug.in/ns/ext/parameters
+#define LV2_PARAMETERS_PREFIX LV2_PARAMETERS_URI "#" ///< http://lv2plug.in/ns/ext/parameters#
+
+#define LV2_PARAMETERS__CompressorControls LV2_PARAMETERS_PREFIX "CompressorControls" ///< http://lv2plug.in/ns/ext/parameters#CompressorControls
+#define LV2_PARAMETERS__ControlGroup LV2_PARAMETERS_PREFIX "ControlGroup" ///< http://lv2plug.in/ns/ext/parameters#ControlGroup
+#define LV2_PARAMETERS__EnvelopeControls LV2_PARAMETERS_PREFIX "EnvelopeControls" ///< http://lv2plug.in/ns/ext/parameters#EnvelopeControls
+#define LV2_PARAMETERS__FilterControls LV2_PARAMETERS_PREFIX "FilterControls" ///< http://lv2plug.in/ns/ext/parameters#FilterControls
+#define LV2_PARAMETERS__OscillatorControls LV2_PARAMETERS_PREFIX "OscillatorControls" ///< http://lv2plug.in/ns/ext/parameters#OscillatorControls
+#define LV2_PARAMETERS__amplitude LV2_PARAMETERS_PREFIX "amplitude" ///< http://lv2plug.in/ns/ext/parameters#amplitude
+#define LV2_PARAMETERS__attack LV2_PARAMETERS_PREFIX "attack" ///< http://lv2plug.in/ns/ext/parameters#attack
+#define LV2_PARAMETERS__bypass LV2_PARAMETERS_PREFIX "bypass" ///< http://lv2plug.in/ns/ext/parameters#bypass
+#define LV2_PARAMETERS__cutoffFrequency LV2_PARAMETERS_PREFIX "cutoffFrequency" ///< http://lv2plug.in/ns/ext/parameters#cutoffFrequency
+#define LV2_PARAMETERS__decay LV2_PARAMETERS_PREFIX "decay" ///< http://lv2plug.in/ns/ext/parameters#decay
+#define LV2_PARAMETERS__delay LV2_PARAMETERS_PREFIX "delay" ///< http://lv2plug.in/ns/ext/parameters#delay
+#define LV2_PARAMETERS__dryLevel LV2_PARAMETERS_PREFIX "dryLevel" ///< http://lv2plug.in/ns/ext/parameters#dryLevel
+#define LV2_PARAMETERS__frequency LV2_PARAMETERS_PREFIX "frequency" ///< http://lv2plug.in/ns/ext/parameters#frequency
+#define LV2_PARAMETERS__gain LV2_PARAMETERS_PREFIX "gain" ///< http://lv2plug.in/ns/ext/parameters#gain
+#define LV2_PARAMETERS__hold LV2_PARAMETERS_PREFIX "hold" ///< http://lv2plug.in/ns/ext/parameters#hold
+#define LV2_PARAMETERS__pulseWidth LV2_PARAMETERS_PREFIX "pulseWidth" ///< http://lv2plug.in/ns/ext/parameters#pulseWidth
+#define LV2_PARAMETERS__ratio LV2_PARAMETERS_PREFIX "ratio" ///< http://lv2plug.in/ns/ext/parameters#ratio
+#define LV2_PARAMETERS__release LV2_PARAMETERS_PREFIX "release" ///< http://lv2plug.in/ns/ext/parameters#release
+#define LV2_PARAMETERS__resonance LV2_PARAMETERS_PREFIX "resonance" ///< http://lv2plug.in/ns/ext/parameters#resonance
+#define LV2_PARAMETERS__sampleRate LV2_PARAMETERS_PREFIX "sampleRate" ///< http://lv2plug.in/ns/ext/parameters#sampleRate
+#define LV2_PARAMETERS__sustain LV2_PARAMETERS_PREFIX "sustain" ///< http://lv2plug.in/ns/ext/parameters#sustain
+#define LV2_PARAMETERS__threshold LV2_PARAMETERS_PREFIX "threshold" ///< http://lv2plug.in/ns/ext/parameters#threshold
+#define LV2_PARAMETERS__waveform LV2_PARAMETERS_PREFIX "waveform" ///< http://lv2plug.in/ns/ext/parameters#waveform
+#define LV2_PARAMETERS__wetDryRatio LV2_PARAMETERS_PREFIX "wetDryRatio" ///< http://lv2plug.in/ns/ext/parameters#wetDryRatio
+#define LV2_PARAMETERS__wetLevel LV2_PARAMETERS_PREFIX "wetLevel" ///< http://lv2plug.in/ns/ext/parameters#wetLevel
+
+#endif /* LV2_PARAMETERS_H */
+
+/**
+ @}
+*/
diff --git a/lv2/parameters/parameters.ttl b/lv2/parameters/parameters.ttl
new file mode 100644
index 0000000..f8ad2ab
--- /dev/null
+++ b/lv2/parameters/parameters.ttl
@@ -0,0 +1,206 @@
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix param: <http://lv2plug.in/ns/ext/parameters#> .
+@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
+@prefix pg: <http://lv2plug.in/ns/ext/port-groups#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+<http://lv2plug.in/ns/ext/parameters>
+ a lv2:Specification ;
+ rdfs:seeAlso <lv2-parameters.doap.ttl> ;
+ lv2:documentation """
+<p>This vocabulary describes parameters common in audio processing software. A
+<q>parameter</q> is purely a metadata concept, unrelated to any particular code
+mechanism. Parameters are used to assign meaning to controls (e.g. using
+lv2:designation for ports) so they can be used more intelligently or presented
+to the user more efficiently.</p> """ .
+
+param:ControlGroup
+ a rdfs:Class ;
+ rdfs:subClassOf pg:Group ;
+ rdfs:comment "A group representing a set of associated controls." .
+
+param:amplitude
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "amplitude" .
+
+param:attack
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "attack" ;
+ rdfs:comment "The duration of an envelope's attack stage." .
+
+param:cutoffFrequency
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "cutoff frequency" .
+
+param:decay
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "decay" ;
+ rdfs:comment "The duration of an envelope's decay stage." .
+
+param:delay
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "delay" ;
+ rdfs:comment "The duration of an envelope's delay stage." .
+
+param:frequency
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "frequency" .
+
+param:hold
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "hold" ;
+ rdfs:comment "The duration of an envelope's hold stage." .
+
+param:pulseWidth
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "pulse width" ;
+ rdfs:comment "The width of a pulse of a rectangular waveform." .
+
+param:ratio
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "ratio" ;
+ rdfs:comment "Compression ratio." .
+
+param:release
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "release" ;
+ rdfs:comment "The duration of an envelope's release stage." .
+
+param:resonance
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "resonance" ;
+ rdfs:comment "The resonance of a filter." .
+
+param:sustain
+ a lv2:Parameter ;
+ rdfs:label "sustain" ;
+ rdfs:range atom:Float ;
+ rdfs:comment "The level (not duration) of an envelope's sustain stage." .
+
+param:threshold
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "threshold" ;
+ rdfs:comment "Compression threshold." .
+
+param:waveform
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "waveform" .
+
+param:gain
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ lv2:default 0.0 ;
+ lv2:minimum -20.0 ;
+ lv2:maximum 20.0 ;
+ units:unit units:db ;
+ rdfs:label "gain" ;
+ rdfs:comment "Gain in decibels." .
+
+param:wetDryRatio
+ a lv2:Parameter ;
+ rdfs:label "wet/dry ratio" ;
+ lv2:documentation """
+<p>The ratio between processed and bypass components in output signal. The dry
+and wet percentages can be calculated from the following equations:</p>
+
+<pre class="c-code">
+ dry = (wetDryRatio.maximum - wetDryRatio.value) / wetDryRatio.maximum
+ wet = wetDryRatio.value / wetDryRatio.maximum
+</pre>
+
+<p>Typically, maximum value of 1 or 100 and minimum value of 0 should be
+used.</p>
+""" .
+
+param:wetLevel
+ a lv2:Parameter ;
+ rdfs:label "wet level" ;
+ rdfs:comment "The level of the processed component of a signal." .
+
+param:dryLevel
+ a lv2:Parameter ;
+ rdfs:label "dry level" ;
+ rdfs:comment "The level of the unprocessed component of a signal." .
+
+param:bypass
+ a lv2:Parameter ;
+ rdfs:label "bypass" ;
+ rdfs:comment "A boolean parameter that disabled processing if true." .
+
+param:sampleRate
+ a lv2:Parameter ;
+ rdfs:label "sample rate" ;
+ rdfs:comment "A sample rate in Hz." .
+
+param:EnvelopeControls
+ a rdfs:Class ;
+ rdfs:subClassOf param:ControlGroup ;
+ rdfs:label "DAHDSR Envelope Controls" ;
+ pg:element [
+ lv2:index 0 ;
+ lv2:designation param:delay
+ ] , [
+ lv2:index 1 ;
+ lv2:designation param:attack
+ ] , [
+ lv2:index 2 ;
+ lv2:designation param:hold
+ ] , [
+ lv2:index 3 ;
+ lv2:designation param:decay
+ ] , [
+ lv2:index 4 ;
+ lv2:designation param:sustain
+ ] , [
+ lv2:index 5 ;
+ lv2:designation param:release
+ ] .
+
+param:OscillatorControls
+ a rdfs:Class ;
+ rdfs:subClassOf param:ControlGroup ;
+ rdfs:label "Oscillator Controls" ;
+ pg:element [
+ lv2:designation param:frequency
+ ] , [
+ lv2:designation param:amplitude
+ ] , [
+ lv2:designation param:waveform
+ ] , [
+ lv2:designation param:pulseWidth
+ ] .
+
+param:FilterControls
+ a rdfs:Class ;
+ rdfs:subClassOf param:ControlGroup ;
+ rdfs:label "Filter Controls" ;
+ pg:element [
+ lv2:designation param:cutoffFrequency
+ ] , [
+ lv2:designation param:resonance
+ ] .
+
+param:CompressorControls
+ a rdfs:Class ;
+ rdfs:subClassOf param:ControlGroup ;
+ rdfs:label "Compressor Controls" ;
+ pg:element [
+ lv2:designation param:threshold
+ ] , [
+ lv2:designation param:ratio
+ ] .