aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/parameters
diff options
context:
space:
mode:
Diffstat (limited to 'lv2/parameters')
-rw-r--r--lv2/parameters/manifest.ttl9
-rw-r--r--lv2/parameters/parameters.h63
-rw-r--r--lv2/parameters/parameters.meta.ttl75
-rw-r--r--lv2/parameters/parameters.ttl202
4 files changed, 349 insertions, 0 deletions
diff --git a/lv2/parameters/manifest.ttl b/lv2/parameters/manifest.ttl
new file mode 100644
index 0000000..57f5d2e
--- /dev/null
+++ b/lv2/parameters/manifest.ttl
@@ -0,0 +1,9 @@
+@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..01c6dde
--- /dev/null
+++ b/lv2/parameters/parameters.h
@@ -0,0 +1,63 @@
+/*
+ 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
+ @ingroup lv2
+
+ 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.meta.ttl b/lv2/parameters/parameters.meta.ttl
new file mode 100644
index 0000000..9d7c623
--- /dev/null
+++ b/lv2/parameters/parameters.meta.ttl
@@ -0,0 +1,75 @@
+@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 param: <http://lv2plug.in/ns/ext/parameters#> .
+@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> ;
+ lv2:documentation """
+
+This is a vocabulary for parameters that are 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
+(for example, using lv2:designation for ports) so they can be used more
+intelligently or presented to the user more efficiently.
+
+"""^^lv2:Markdown .
+
+param:wetDryRatio
+ a lv2:Parameter ;
+ rdfs:label "wet/dry ratio" ;
+ lv2:documentation """
+
+The ratio between processed and bypass components in output signal. The dry
+and wet percentages can be calculated from the following equations:
+
+ :::c
+ dry = (wetDryRatio.maximum - wetDryRatio.value) / wetDryRatio.maximum
+ wet = wetDryRatio.value / wetDryRatio.maximum
+
+Typically, maximum value of 1 or 100 and minimum value of 0 should be used.
+
+"""^^lv2:Markdown .
+
diff --git a/lv2/parameters/parameters.ttl b/lv2/parameters/parameters.ttl
new file mode 100644
index 0000000..5c3dadf
--- /dev/null
+++ b/lv2/parameters/parameters.ttl
@@ -0,0 +1,202 @@
+@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix param: <http://lv2plug.in/ns/ext/parameters#> .
+@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 owl:Ontology ;
+ rdfs:label "LV2 Parameters" ;
+ rdfs:comment "Common parameters for audio processing." ;
+ rdfs:seeAlso <parameters.meta.ttl> .
+
+param:ControlGroup
+ a rdfs:Class ;
+ rdfs:subClassOf pg:Group ;
+ rdfs:label "Control Group" ;
+ rdfs:comment "A group representing a set of associated controls." .
+
+param:amplitude
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "amplitude" ;
+ rdfs:comment "An amplitude as a factor, where 0 is silent and 1 is unity." .
+
+param:attack
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "attack" ;
+ rdfs:comment "The duration of an envelope attack stage." .
+
+param:cutoffFrequency
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "cutoff frequency" ;
+ rdfs:comment "The cutoff frequency, typically in Hz, for a filter." .
+
+param:decay
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "decay" ;
+ rdfs:comment "The duration of an envelope decay stage." .
+
+param:delay
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "delay" ;
+ rdfs:comment "The duration of an envelope delay stage." .
+
+param:frequency
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "frequency" ;
+ rdfs:comment "A frequency, typically in Hz." .
+
+param:hold
+ a lv2:Parameter ;
+ rdfs:range atom:Float ;
+ rdfs:label "hold" ;
+ rdfs:comment "The duration of an envelope 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 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 of an envelope sustain stage as a factor." .
+
+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" ;
+ rdfs:comment """The waveform "fader" for oscillators or modulators that have several.""" .
+
+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" ;
+ rdfs:comment "The ratio between processed and bypassed levels in the output." .
+
+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 disables 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 "Envelope Controls" ;
+ rdfs:comment "Typical controls for a DAHDSR envelope." ;
+ 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" ;
+ rdfs:comment "Typical controls for an oscillator." ;
+ 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" ;
+ rdfs:comment "Typical controls for a filter." ;
+ pg:element [
+ lv2:designation param:cutoffFrequency
+ ] , [
+ lv2:designation param:resonance
+ ] .
+
+param:CompressorControls
+ a rdfs:Class ;
+ rdfs:subClassOf param:ControlGroup ;
+ rdfs:label "Compressor Controls" ;
+ rdfs:comment "Typical controls for a compressor." ;
+ pg:element [
+ lv2:designation param:threshold
+ ] , [
+ lv2:designation param:ratio
+ ] .
+