aboutsummaryrefslogtreecommitdiffstats
path: root/ext
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-09-25 21:46:02 +0000
committerDavid Robillard <d@drobilla.net>2011-09-25 21:46:02 +0000
commit8de1a3f5e38c7c8bc02f8e1efe59e680d0349ee2 (patch)
treece4a9ffaa8a55605a976f19e218eb0deb3cb11c1 /ext
parent9a68f8cf57e0bbed4ebbfb28c9bcf72672f64bee (diff)
downloadlv2-8de1a3f5e38c7c8bc02f8e1efe59e680d0349ee2.tar.xz
Add CV Port extension.
Diffstat (limited to 'ext')
-rw-r--r--ext/cv-port.lv2/cv-port.ttl78
-rw-r--r--ext/cv-port.lv2/manifest.ttl9
l---------ext/cv-port.lv2/waf1
-rw-r--r--ext/cv-port.lv2/wscript33
4 files changed, 121 insertions, 0 deletions
diff --git a/ext/cv-port.lv2/cv-port.ttl b/ext/cv-port.lv2/cv-port.ttl
new file mode 100644
index 0000000..c9582df
--- /dev/null
+++ b/ext/cv-port.lv2/cv-port.ttl
@@ -0,0 +1,78 @@
+# 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 ;
+ doap:license <http://opensource.org/licenses/isc-license> ;
+ doap:name "LV2 CV Port" ;
+ doap:maintainer [
+ a foaf:Person ;
+ foaf:name "David Robillard" ;
+ foaf:homepage <http://drobilla.net/> ;
+ rdfs:seeAlso <http://drobilla.net/drobilla.rdf>
+ ] ;
+ lv2:documentation """
+
+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.
+
+""" .
+
+cv:CVPort
+ a rdfs:Class ;
+ rdfs:label "CV Port" ;
+ rdfs:subClassOf lv2:Port ;
+ lv2:documentation """
+
+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>)
+
+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.
+
+Example:
+<pre>
+&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>
+""" .
diff --git a/ext/cv-port.lv2/manifest.ttl b/ext/cv-port.lv2/manifest.ttl
new file mode 100644
index 0000000..e5fa145
--- /dev/null
+++ b/ext/cv-port.lv2/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/cv-port>
+ a lv2:Specification ;
+ lv2:minorVersion 0 ;
+ lv2:microVersion 1 ;
+ rdfs:seeAlso <cv-port.ttl> .
+
diff --git a/ext/cv-port.lv2/waf b/ext/cv-port.lv2/waf
new file mode 120000
index 0000000..59a1ac9
--- /dev/null
+++ b/ext/cv-port.lv2/waf
@@ -0,0 +1 @@
+../../waf \ No newline at end of file
diff --git a/ext/cv-port.lv2/wscript b/ext/cv-port.lv2/wscript
new file mode 100644
index 0000000..9823edd
--- /dev/null
+++ b/ext/cv-port.lv2/wscript
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+from waflib.extras import autowaf as autowaf
+import waflib.Logs as Logs
+
+# Variables for 'waf dist'
+APPNAME = 'lv2-event'
+VERSION = '1.2'
+
+# Mandatory variables
+top = '.'
+out = 'build'
+
+def options(opt):
+ autowaf.set_options(opt)
+
+def configure(conf):
+ autowaf.configure(conf)
+ autowaf.display_msg(conf, "LV2 bundle directory",
+ conf.env['LV2DIR'])
+ print('')
+
+def build(bld):
+ bld.install_files('${LV2DIR}/event.lv2',
+ bld.path.ant_glob('*.*'))
+
+ bld.add_post_fun(warn_lv2config)
+
+def warn_lv2config(ctx):
+ if ctx.cmd == 'install':
+ Logs.warn('''
+* LV2 Extension Installed
+* You need to run lv2config to update extension headers
+''')