aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/lv2plug.in/ns/ext/cv-port/cv-port.ttl
blob: 82401b46432ad19d6cf9b975ba481552e4db3842 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# LV2 CV Port Extension
# Copyright 2011 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.

@prefix cv:   <http://lv2plug.in/ns/ext/cv-port#> .
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix lv2:  <http://lv2plug.in/ns/lv2core#> .
@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

<http://lv2plug.in/ns/ext/cv-port>
	a lv2:Specification ;
	rdfs:seeAlso <../../people/people.ttl> ;
	doap:license <http://opensource.org/licenses/isc> ;
	doap:name "LV2 CV Port" ;
	doap:shortdesc "Control Voltage ports for LV2 plugins." ;
	doap:developer <http://drobilla.net/drobilla#me> ;
	lv2:documentation """
<p>This extension defines Control Voltage (CV) ports, which are audio-rate
control ports like those used on classical voltage-controlled synthesizers.
These ports serve as control ports like <a
href="http://lv2plug.in/ns/lv2core#ControlPort">lv2:ControlPort</a> but can
also be used for audio-rate modulation of control signals.  This enables many
types of processing and synthesis which are not possible with a lower control
rate.</p>
""" .

cv:CVPort
	a rdfs:Class ;
	rdfs:label "CV Port" ;
	rdfs:subClassOf lv2:Port ;
	lv2:documentation """
<p>Ports of this type have identical semantics to <a
href="http://lv2plug.in/ns/lv2core#AudioPort">lv2:AudioPort</a> in terms of
buffer format and connection/input/output logistics.  However, rather than the
buffer representing audio, the buffer represents audio-rate control data.  A
CVPort SHOULD have the same properties a <a
href="http://lv2plug.in/ns/lv2core#ControlPort">lv2:ControlPort</a> typically
has to describe appropriate control values (e.g.  <a
href="http://lv2plug.in/ns/lv2core#minimum">lv2:minimum</a>, <a
href="http://lv2plug.in/ns/lv2core#maximum">lv2:maximum</a>, <a
href="http://lv2plug.in/ns/lv2core#default">lv2:default</a>)</p>

<p>Hosts SHOULD take care to prevent data from a CVPort port from being used as
audio except in cases where this is known to be safe.</p>

<p>Example:</p>
<pre class="turtle-code">
&lt;http://example.org/some-plugin&gt;
    lv2:port [
        a cv:CVPort, lv2:InputPort ;
        lv2:index 0 ;
        lv2:minimum -1.0 ;
        lv2:maximum 1.0 ;
        lv2:default 0.0 ;
        lv2:symbol "modulation" ;
        lv2:name "Modulation" ;
    ] .
</pre>
""" .