diff options
Diffstat (limited to 'lv2/parameters')
-rw-r--r-- | lv2/parameters/lv2-parameters.doap.ttl | 47 | ||||
-rw-r--r-- | lv2/parameters/manifest.ttl | 8 | ||||
-rw-r--r-- | lv2/parameters/parameters.h | 62 | ||||
-rw-r--r-- | lv2/parameters/parameters.ttl | 206 |
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 + ] . |