aboutsummaryrefslogtreecommitdiffstats
path: root/blip.lv2
diff options
context:
space:
mode:
Diffstat (limited to 'blip.lv2')
-rw-r--r--blip.lv2/adsr.ttl94
-rw-r--r--blip.lv2/adsr_gt.ttl100
-rw-r--r--blip.lv2/amp.ttl50
-rw-r--r--blip.lv2/branch.ttl48
-rw-r--r--blip.lv2/dahdsr.ttl122
-rw-r--r--blip.lv2/difference.ttl48
-rw-r--r--blip.lv2/fmod.ttl57
-rw-r--r--blip.lv2/interpolator.ttl39
-rw-r--r--blip.lv2/lp4pole.ttl64
-rw-r--r--blip.lv2/manifest.ttl.in138
-rw-r--r--blip.lv2/product.ttl47
-rw-r--r--blip.lv2/pulse.ttl57
-rw-r--r--blip.lv2/quantiser_100.ttl820
-rw-r--r--blip.lv2/quantiser_20.ttl260
-rw-r--r--blip.lv2/quantiser_50.ttl470
-rw-r--r--blip.lv2/random.ttl62
-rw-r--r--blip.lv2/ratio.ttl49
-rw-r--r--blip.lv2/sawtooth.ttl44
-rw-r--r--blip.lv2/sequencer_16.ttl192
-rw-r--r--blip.lv2/sequencer_32.ttl304
-rw-r--r--blip.lv2/sequencer_64.ttl528
-rw-r--r--blip.lv2/square.ttl44
-rw-r--r--blip.lv2/sum.ttl47
-rw-r--r--blip.lv2/sync_pulse.ttl60
-rw-r--r--blip.lv2/sync_square.ttl53
-rw-r--r--blip.lv2/tracker.ttl116
-rw-r--r--blip.lv2/triangle.ttl58
27 files changed, 3971 insertions, 0 deletions
diff --git a/blip.lv2/adsr.ttl b/blip.lv2/adsr.ttl
new file mode 100644
index 0000000..49fcd05
--- /dev/null
+++ b/blip.lv2/adsr.ttl
@@ -0,0 +1,94 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@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#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:adsr
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:name "Driving Signal" ;
+ lv2:symbol "port0" ;
+ a lv2:CVPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Trigger Threshold" ;
+ lv2:symbol "port1" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 2 ;
+ lv2:minimum 0 ;
+ lv2:name "Attack Time" ;
+ lv2:symbol "port2" ;
+ units:unit units:s ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 3 ;
+ lv2:minimum 0 ;
+ lv2:name "Decay Time" ;
+ lv2:symbol "port3" ;
+ units:unit units:s ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 1 ;
+ lv2:index 4 ;
+ lv2:maximum 1 ;
+ lv2:minimum 0 ;
+ lv2:name "Sustain Level" ;
+ lv2:symbol "port4" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 5 ;
+ lv2:minimum 0 ;
+ lv2:name "Release Time" ;
+ lv2:symbol "port5" ;
+ units:unit units:s ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 6 ;
+ lv2:name "Envelope Out" ;
+ lv2:symbol "port6" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:1653> ;
+ dc:rights "GPL" ;
+ doap:name "ADSR Envelope" ;
+ lv2:documentation """
+<p>Generates an ADSR (Attack, Decay, Sustain and Release) envelope.</p>
+
+<p>Driven by a gate signal - if the level of the signal goes higher than the
+Trigger Threshold, the attack stage begins, proceeds to the decay stage and
+then holds at the sustain level. The release stage begins when the gate falls
+below this theshold - even if the previous stages have not completed.</p>
+
+<p>The output is a signal between 0.0 (rest) and 1.0 (peak) and the transitions
+are linear.</p>
+""" ;
+ a lv2:Plugin .
diff --git a/blip.lv2/adsr_gt.ttl b/blip.lv2/adsr_gt.ttl
new file mode 100644
index 0000000..8cf025c
--- /dev/null
+++ b/blip.lv2/adsr_gt.ttl
@@ -0,0 +1,100 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@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#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:adsr_gt
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:name "Gate" ;
+ lv2:symbol "port0" ;
+ a lv2:CVPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Trigger" ;
+ lv2:symbol "port1" ;
+ a lv2:CVPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 2 ;
+ lv2:minimum 0 ;
+ lv2:name "Attack Time" ;
+ lv2:symbol "port2" ;
+ units:unit units:s ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 3 ;
+ lv2:minimum 0 ;
+ lv2:name "Decay Time" ;
+ lv2:symbol "port3" ;
+ units:unit units:s ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 1 ;
+ lv2:index 4 ;
+ lv2:maximum 1 ;
+ lv2:minimum 0 ;
+ lv2:name "Sustain Level" ;
+ lv2:symbol "port4" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 5 ;
+ lv2:minimum 0 ;
+ lv2:name "Release Time" ;
+ lv2:symbol "port5" ;
+ units:unit units:s ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 6 ;
+ lv2:name "Envelope Out" ;
+ lv2:symbol "port6" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:1680> ;
+ dc:rights "GPL" ;
+ doap:name "ADSR Envelope with Gate and Trigger" ;
+ lv2:documentation """
+<p>Generates an ADSR (Attack, Decay, Sustain and Release)
+envelope.</p>
+
+<p>Does the same thing as the other ADSR (1658) above, except the
+Trigger Threshold is fixed at zero, and the additional Trigger
+input allows retriggering whilst the gate is still high.</p>
+
+<p>The reasoning behind this design is to remove the need for a keyboard player
+to release a key before pressing another when using with a monosynth. <a
+href="http://www.sospubs.co.uk/sos/nov99/articles/synthsecrets.htm">The
+&lsquo;Synth Secrets&rsquo; article in the November 1999 issue of &lsquo;Sound
+on Sound&rsquo;</a> explains this in detail.</p>
+
+<p>The output is a signal between 0.0 (rest) and 1.0 (peak) and the
+transitions are linear.</p>
+""" ;
+ a lv2:Plugin .
diff --git a/blip.lv2/amp.ttl b/blip.lv2/amp.ttl
new file mode 100644
index 0000000..7355a16
--- /dev/null
+++ b/blip.lv2/amp.ttl
@@ -0,0 +1,50 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@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#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:amp
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:maximum 96 ;
+ lv2:minimum -96 ;
+ lv2:name "Gain" ;
+ lv2:symbol "port0" ;
+ units:unit units:db ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Input" ;
+ lv2:symbol "port1" ;
+ a lv2:AudioPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 2 ;
+ lv2:name "Output" ;
+ lv2:symbol "port2" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:1654> ,
+ <urn:ladspa:1655> ;
+ dc:rights "GPL" ;
+ doap:name "Amplifier" ;
+ lv2:documentation """
+<p>A simple monophonic amplifier.</p>
+""" ;
+ a lv2:Plugin , lv2:AmplifierPlugin .
diff --git a/blip.lv2/branch.ttl b/blip.lv2/branch.ttl
new file mode 100644
index 0000000..dfc9a1b
--- /dev/null
+++ b/blip.lv2/branch.ttl
@@ -0,0 +1,48 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:branch
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:name "Input" ;
+ lv2:symbol "port0" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "First Output" ;
+ lv2:symbol "port1" ;
+ a lv2:ControlPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 2 ;
+ lv2:name "Second Output" ;
+ lv2:symbol "port2" ;
+ a lv2:ControlPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:1673> ,
+ <urn:ladspa:1674> ;
+ dc:rights "GPL" ;
+ doap:name "Signal Branch" ;
+ lv2:documentation """
+<p>Splits an input signal into two identical signals. Somewhat redundant, as
+most modular synth hosts allow you to connect an output to more than one input.
+If your host of choice does not allow this, this plugin will do the job...</p>
+""" ;
+ a lv2:Plugin , lv2:UtilityPlugin .
diff --git a/blip.lv2/dahdsr.ttl b/blip.lv2/dahdsr.ttl
new file mode 100644
index 0000000..0f05cfb
--- /dev/null
+++ b/blip.lv2/dahdsr.ttl
@@ -0,0 +1,122 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@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#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:dahdsr
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:name "Gate" ;
+ lv2:symbol "port0" ;
+ a lv2:CVPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Trigger" ;
+ lv2:symbol "port1" ;
+ a lv2:CVPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 2 ;
+ lv2:minimum 0 ;
+ lv2:name "Delay Time" ;
+ lv2:symbol "port2" ;
+ units:unit units:s ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 3 ;
+ lv2:minimum 0 ;
+ lv2:name "Attack Time" ;
+ lv2:symbol "port3" ;
+ units:unit units:s ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 4 ;
+ lv2:minimum 0 ;
+ lv2:name "Hold Time" ;
+ lv2:symbol "port4" ;
+ units:unit units:s ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 5 ;
+ lv2:minimum 0 ;
+ lv2:name "Decay Time" ;
+ lv2:symbol "port5" ;
+ units:unit units:s ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 1 ;
+ lv2:index 6 ;
+ lv2:maximum 1 ;
+ lv2:minimum 0 ;
+ lv2:name "Sustain Level" ;
+ lv2:symbol "port6" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 7 ;
+ lv2:minimum 0 ;
+ lv2:name "Release Time" ;
+ lv2:symbol "port7" ;
+ units:unit units:s ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 8 ;
+ lv2:name "Envelope Out" ;
+ lv2:symbol "port8" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:2021> ,
+ <urn:ladspa:2022> ,
+ <urn:ladspa:2038> ;
+ dc:rights "GPL" ;
+ doap:name "DAHDSR Envelope with Gate and Trigger" ;
+ lv2:documentation """
+<p>Generates a DAHDSR (Delay, Attack, Hold, Decay, Sustain, Release)
+envelope.</p>
+
+<p>Another envelope generator, this time with two additional stages - Delay,
+which delays the onset of the Attack stage, and Hold, which holds the output at
+maximum before the Decay stage begins.</p>
+
+<p>Triggering works in subtly different ways to the <a href="#adsr_gnt">ADSR
+(1680)</a> - the Trigger will restart the envelope even if the Gate is closed -
+the effect of this is to proceed through the stages and begin the release stage
+immediately after the decay stage.</p>
+
+<p>The final variant (ID 2038) uses control-rate gate and trigger, which is a
+little less CPU hungry, but will cause timing errors that are dependent on the
+block size being used by the host.</p>
+""" ;
+ a lv2:Plugin .
diff --git a/blip.lv2/difference.ttl b/blip.lv2/difference.ttl
new file mode 100644
index 0000000..f277688
--- /dev/null
+++ b/blip.lv2/difference.ttl
@@ -0,0 +1,48 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:difference
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:name "Minuend" ;
+ lv2:symbol "minuend" ;
+ a lv2:CVPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Subtrahend" ;
+ lv2:symbol "subtrahend" ;
+ a lv2:CVPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 2 ;
+ lv2:name "Difference" ;
+ lv2:symbol "difference" ;
+ a lv2:CVPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:2030> ,
+ <urn:ladspa:2031> ,
+ <urn:ladspa:2032> ,
+ <urn:ladspa:2033> ;
+ dc:rights "GPL" ;
+ doap:name "Signal Difference" ;
+ lv2:documentation """
+<p>Subtract two signals.</p>
+""" ;
+ a lv2:Plugin , lv2:UtilityPlugin .
diff --git a/blip.lv2/fmod.ttl b/blip.lv2/fmod.ttl
new file mode 100644
index 0000000..3d59713
--- /dev/null
+++ b/blip.lv2/fmod.ttl
@@ -0,0 +1,57 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@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#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:fmod
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:maximum 0.5 ;
+ lv2:minimum "2.08333e-05"^^xsd:double ;
+ lv2:name "Frequency" ;
+ lv2:portProperty <http://lv2plug.in/ns/ext/port-props#logarithmic> ,
+ lv2:sampleRate ;
+ lv2:symbol "port0" ;
+ units:unit units:hz ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Modulation" ;
+ lv2:symbol "port1" ;
+ units:unit units:oct ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 2 ;
+ lv2:name "Modulated Frequency" ;
+ lv2:symbol "port2" ;
+ units:unit units:hz ;
+ a lv2:ControlPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:1656> ,
+ <urn:ladspa:1657> ,
+ <urn:ladspa:1658> ,
+ <urn:ladspa:1659> ;
+ dc:rights "GPL" ;
+ doap:name "Frequency Modulator" ;
+ lv2:documentation """
+<p>Modulates an input frequency by a driving signal, transposing the frequency
+by &#177;1 Octave per unit amplitude of signal.</p>
+""" ;
+ a lv2:Plugin , lv2:SpectralPlugin .
diff --git a/blip.lv2/interpolator.ttl b/blip.lv2/interpolator.ttl
new file mode 100644
index 0000000..6ea32a7
--- /dev/null
+++ b/blip.lv2/interpolator.ttl
@@ -0,0 +1,39 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:interpolator
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:name "Control Input" ;
+ lv2:symbol "port0" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Interpolated Output" ;
+ lv2:symbol "port1" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:1660> ;
+ dc:rights "GPL" ;
+ doap:name "Control to Audio Interpolator" ;
+ lv2:documentation """
+<p>Interpolates a control-rate (per-block) signal into a smooth audio
+(per-sample) signal.</p>
+""" ;
+ a lv2:Plugin , lv2:UtilityPlugin .
diff --git a/blip.lv2/lp4pole.ttl b/blip.lv2/lp4pole.ttl
new file mode 100644
index 0000000..f12e9bd
--- /dev/null
+++ b/blip.lv2/lp4pole.ttl
@@ -0,0 +1,64 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:lp4pole
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:default 0.5 ;
+ lv2:index 0 ;
+ lv2:maximum 0.5 ;
+ lv2:minimum "2.08333e-05"^^xsd:double ;
+ lv2:name "Cutoff Frequency" ;
+ lv2:portProperty <http://lv2plug.in/ns/ext/port-props#logarithmic> ,
+ lv2:sampleRate ;
+ lv2:symbol "port0" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 1 ;
+ lv2:maximum 4 ;
+ lv2:minimum 0 ;
+ lv2:name "Resonance" ;
+ lv2:symbol "port1" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 2 ;
+ lv2:name "Input" ;
+ lv2:symbol "port2" ;
+ a lv2:AudioPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 3 ;
+ lv2:name "Output" ;
+ lv2:symbol "port3" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:1671> ,
+ <urn:ladspa:1672> ;
+ dc:rights "GPL" ;
+ doap:name "4 Pole Resonant Low-Pass Filter" ;
+ lv2:documentation """
+<p>Emulates a low pass filter in popular analogue synthesisers. This particular
+filter is derived from one of <a
+href="http://www.musicdsp.org/archive.php?classid=3#24">many
+implementations</a> of the Moog 4 pole filter.</p>
+""" ;
+ a lv2:Plugin , lv2:LowpassPlugin .
diff --git a/blip.lv2/manifest.ttl.in b/blip.lv2/manifest.ttl.in
new file mode 100644
index 0000000..e1ceab7
--- /dev/null
+++ b/blip.lv2/manifest.ttl.in
@@ -0,0 +1,138 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:adsr
+ a lv2:Plugin ;
+ rdfs:seeAlso <adsr.ttl> ;
+ lv2:binary <adsr@LIB_EXT@> .
+
+blip:adsr_gt
+ a lv2:Plugin ;
+ rdfs:seeAlso <adsr_gt.ttl> ;
+ lv2:binary <adsr_gt@LIB_EXT@> .
+
+blip:amp
+ a lv2:Plugin ;
+ rdfs:seeAlso <amp.ttl> ;
+ lv2:binary <amp@LIB_EXT@> .
+
+blip:branch
+ a lv2:Plugin ;
+ rdfs:seeAlso <branch.ttl> ;
+ lv2:binary <branch@LIB_EXT@> .
+
+blip:dahdsr
+ a lv2:Plugin ;
+ rdfs:seeAlso <dahdsr.ttl> ;
+ lv2:binary <dahdsr@LIB_EXT@> .
+
+blip:difference
+ a lv2:Plugin ;
+ rdfs:seeAlso <difference.ttl> ;
+ lv2:binary <difference@LIB_EXT@> .
+
+blip:fmod
+ a lv2:Plugin ;
+ rdfs:seeAlso <fmod.ttl> ;
+ lv2:binary <fmod@LIB_EXT@> .
+
+blip:interpolator
+ a lv2:Plugin ;
+ rdfs:seeAlso <interpolator.ttl> ;
+ lv2:binary <interpolator@LIB_EXT@> .
+
+blip:lp4pole
+ a lv2:Plugin ;
+ rdfs:seeAlso <lp4pole.ttl> ;
+ lv2:binary <lp4pole@LIB_EXT@> .
+
+blip:product
+ a lv2:Plugin ;
+ rdfs:seeAlso <product.ttl> ;
+ lv2:binary <product@LIB_EXT@> .
+
+blip:pulse
+ a lv2:Plugin ;
+ rdfs:seeAlso <pulse.ttl> ;
+ lv2:binary <pulse@LIB_EXT@> .
+
+blip:quantiser_20
+ a lv2:Plugin ;
+ rdfs:seeAlso <quantiser_20.ttl> ;
+ lv2:binary <quantiser_20@LIB_EXT@> .
+
+blip:quantiser_50
+ a lv2:Plugin ;
+ rdfs:seeAlso <quantiser_50.ttl> ;
+ lv2:binary <quantiser_50@LIB_EXT@> .
+
+blip:quantiser_100
+ a lv2:Plugin ;
+ rdfs:seeAlso <quantiser_100.ttl> ;
+ lv2:binary <quantiser_100@LIB_EXT@> .
+
+blip:random
+ a lv2:Plugin ;
+ rdfs:seeAlso <random.ttl> ;
+ lv2:binary <random@LIB_EXT@> .
+
+blip:ratio
+ a lv2:Plugin ;
+ rdfs:seeAlso <ratio.ttl> ;
+ lv2:binary <ratio@LIB_EXT@> .
+
+blip:sawtooth
+ a lv2:Plugin ;
+ rdfs:seeAlso <sawtooth.ttl> ;
+ lv2:binary <sawtooth@LIB_EXT@> .
+
+blip:sequencer_16
+ a lv2:Plugin ;
+ rdfs:seeAlso <sequencer_16.ttl> ;
+ lv2:binary <sequencer_16@LIB_EXT@> .
+
+blip:sequencer_32
+ a lv2:Plugin ;
+ rdfs:seeAlso <sequencer_32.ttl> ;
+ lv2:binary <sequencer_32@LIB_EXT@> .
+
+blip:sequencer_64
+ a lv2:Plugin ;
+ rdfs:seeAlso <sequencer_64.ttl> ;
+ lv2:binary <sequencer_64@LIB_EXT@> .
+
+blip:square
+ a lv2:Plugin ;
+ rdfs:seeAlso <square.ttl> ;
+ lv2:binary <square@LIB_EXT@> .
+
+blip:sum
+ a lv2:Plugin ;
+ rdfs:seeAlso <sum.ttl> ;
+ lv2:binary <sum@LIB_EXT@> .
+
+blip:sync_pulse
+ a lv2:Plugin ;
+ rdfs:seeAlso <sync_pulse.ttl> ;
+ lv2:binary <sync_pulse@LIB_EXT@> .
+
+blip:sync_square
+ a lv2:Plugin ;
+ rdfs:seeAlso <sync_square.ttl> ;
+ lv2:binary <sync_square@LIB_EXT@> .
+
+blip:tracker
+ a lv2:Plugin ;
+ rdfs:seeAlso <tracker.ttl> ;
+ lv2:binary <tracker@LIB_EXT@> .
+
+blip:triangle
+ a lv2:Plugin ;
+ rdfs:seeAlso <triangle.ttl> ;
+ lv2:binary <triangle@LIB_EXT@> .
diff --git a/blip.lv2/product.ttl b/blip.lv2/product.ttl
new file mode 100644
index 0000000..efe1eab
--- /dev/null
+++ b/blip.lv2/product.ttl
@@ -0,0 +1,47 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:product
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:name "Multiplicand" ;
+ lv2:symbol "multiplicand" ;
+ a lv2:CVPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Multiplier" ;
+ lv2:symbol "multiplier" ;
+ a lv2:CVPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 2 ;
+ lv2:name "Product" ;
+ lv2:symbol "product" ;
+ a lv2:CVPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:1668> ,
+ <urn:ladspa:1669> ,
+ <urn:ladspa:1670> ;
+ dc:rights "GPL" ;
+ doap:name "Signal Product" ;
+ lv2:documentation """
+<p>Multiply two signals.</p>
+""" ;
+ a lv2:Plugin , lv2:UtilityPlugin .
diff --git a/blip.lv2/pulse.ttl b/blip.lv2/pulse.ttl
new file mode 100644
index 0000000..9eb3af1
--- /dev/null
+++ b/blip.lv2/pulse.ttl
@@ -0,0 +1,57 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:pulse
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:maximum 0.5 ;
+ lv2:minimum 0.000001 ;
+ lv2:default 440.0 ;
+ lv2:name "Frequency" ;
+ lv2:portProperty <http://lv2plug.in/ns/ext/port-props#logarithmic> ,
+ lv2:sampleRate ;
+ lv2:symbol "port0" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0.5 ;
+ lv2:index 1 ;
+ lv2:maximum 1 ;
+ lv2:minimum 0 ;
+ lv2:name "Pulse Width" ;
+ lv2:symbol "port1" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 2 ;
+ lv2:name "Output" ;
+ lv2:symbol "port2" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:1645> ,
+ <urn:ladspa:1646> ,
+ <urn:ladspa:1647> ,
+ <urn:ladspa:1648> ;
+ dc:rights "GPL" ;
+ doap:name "Variable Width Pulse Oscillator" ;
+ lv2:documentation """
+<p>Generates an alias-free pulse wave at given input frequency and pulse width
+(duty).</p>
+""" ;
+ a lv2:Plugin , lv2:OscillatorPlugin .
diff --git a/blip.lv2/quantiser_100.ttl b/blip.lv2/quantiser_100.ttl
new file mode 100644
index 0000000..b44d21d
--- /dev/null
+++ b/blip.lv2/quantiser_100.ttl
@@ -0,0 +1,820 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:quantiser_100
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:name "Quantise Range Minimum" ;
+ lv2:symbol "port0" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Quantise Range Maximum" ;
+ lv2:symbol "port1" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 10 ;
+ lv2:name "Value 5" ;
+ lv2:symbol "port10" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 100 ;
+ lv2:name "Value 95" ;
+ lv2:symbol "port100" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 101 ;
+ lv2:name "Value 96" ;
+ lv2:symbol "port101" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 102 ;
+ lv2:name "Value 97" ;
+ lv2:symbol "port102" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 103 ;
+ lv2:name "Value 98" ;
+ lv2:symbol "port103" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 104 ;
+ lv2:name "Value 99" ;
+ lv2:symbol "port104" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 105 ;
+ lv2:name "Input" ;
+ lv2:symbol "port105" ;
+ a lv2:AudioPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 106 ;
+ lv2:name "Quantised Output" ;
+ lv2:symbol "port106" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 107 ;
+ lv2:name "Output Changed" ;
+ lv2:symbol "port107" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 11 ;
+ lv2:name "Value 6" ;
+ lv2:symbol "port11" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 12 ;
+ lv2:name "Value 7" ;
+ lv2:symbol "port12" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 13 ;
+ lv2:name "Value 8" ;
+ lv2:symbol "port13" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 14 ;
+ lv2:name "Value 9" ;
+ lv2:symbol "port14" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 15 ;
+ lv2:name "Value 10" ;
+ lv2:symbol "port15" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 16 ;
+ lv2:name "Value 11" ;
+ lv2:symbol "port16" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 17 ;
+ lv2:name "Value 12" ;
+ lv2:symbol "port17" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 18 ;
+ lv2:name "Value 13" ;
+ lv2:symbol "port18" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 19 ;
+ lv2:name "Value 14" ;
+ lv2:symbol "port19" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 2 ;
+ lv2:minimum 0 ;
+ lv2:name "Match Range" ;
+ lv2:symbol "port2" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 20 ;
+ lv2:name "Value 15" ;
+ lv2:symbol "port20" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 21 ;
+ lv2:name "Value 16" ;
+ lv2:symbol "port21" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 22 ;
+ lv2:name "Value 17" ;
+ lv2:symbol "port22" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 23 ;
+ lv2:name "Value 18" ;
+ lv2:symbol "port23" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 24 ;
+ lv2:name "Value 19" ;
+ lv2:symbol "port24" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 25 ;
+ lv2:name "Value 20" ;
+ lv2:symbol "port25" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 26 ;
+ lv2:name "Value 21" ;
+ lv2:symbol "port26" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 27 ;
+ lv2:name "Value 22" ;
+ lv2:symbol "port27" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 28 ;
+ lv2:name "Value 23" ;
+ lv2:symbol "port28" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 29 ;
+ lv2:name "Value 24" ;
+ lv2:symbol "port29" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 3 ;
+ lv2:maximum 2 ;
+ lv2:minimum 0 ;
+ lv2:name "Mode (0 = Extend, 1 = Wrap, 2 = Clip)" ;
+ lv2:portProperty lv2:integer ;
+ lv2:symbol "port3" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 30 ;
+ lv2:name "Value 25" ;
+ lv2:symbol "port30" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 31 ;
+ lv2:name "Value 26" ;
+ lv2:symbol "port31" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 32 ;
+ lv2:name "Value 27" ;
+ lv2:symbol "port32" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 33 ;
+ lv2:name "Value 28" ;
+ lv2:symbol "port33" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 34 ;
+ lv2:name "Value 29" ;
+ lv2:symbol "port34" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 35 ;
+ lv2:name "Value 30" ;
+ lv2:symbol "port35" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 36 ;
+ lv2:name "Value 31" ;
+ lv2:symbol "port36" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 37 ;
+ lv2:name "Value 32" ;
+ lv2:symbol "port37" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 38 ;
+ lv2:name "Value 33" ;
+ lv2:symbol "port38" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 39 ;
+ lv2:name "Value 34" ;
+ lv2:symbol "port39" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 100 ;
+ lv2:index 4 ;
+ lv2:maximum 100 ;
+ lv2:minimum 1 ;
+ lv2:name "Steps (1 - 100)" ;
+ lv2:portProperty lv2:integer ;
+ lv2:symbol "port4" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 40 ;
+ lv2:name "Value 35" ;
+ lv2:symbol "port40" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 41 ;
+ lv2:name "Value 36" ;
+ lv2:symbol "port41" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 42 ;
+ lv2:name "Value 37" ;
+ lv2:symbol "port42" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 43 ;
+ lv2:name "Value 38" ;
+ lv2:symbol "port43" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 44 ;
+ lv2:name "Value 39" ;
+ lv2:symbol "port44" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 45 ;
+ lv2:name "Value 40" ;
+ lv2:symbol "port45" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 46 ;
+ lv2:name "Value 41" ;
+ lv2:symbol "port46" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 47 ;
+ lv2:name "Value 42" ;
+ lv2:symbol "port47" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 48 ;
+ lv2:name "Value 43" ;
+ lv2:symbol "port48" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 49 ;
+ lv2:name "Value 44" ;
+ lv2:symbol "port49" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 5 ;
+ lv2:name "Value 0" ;
+ lv2:symbol "port5" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 50 ;
+ lv2:name "Value 45" ;
+ lv2:symbol "port50" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 51 ;
+ lv2:name "Value 46" ;
+ lv2:symbol "port51" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 52 ;
+ lv2:name "Value 47" ;
+ lv2:symbol "port52" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 53 ;
+ lv2:name "Value 48" ;
+ lv2:symbol "port53" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 54 ;
+ lv2:name "Value 49" ;
+ lv2:symbol "port54" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 55 ;
+ lv2:name "Value 50" ;
+ lv2:symbol "port55" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 56 ;
+ lv2:name "Value 51" ;
+ lv2:symbol "port56" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 57 ;
+ lv2:name "Value 52" ;
+ lv2:symbol "port57" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 58 ;
+ lv2:name "Value 53" ;
+ lv2:symbol "port58" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 59 ;
+ lv2:name "Value 54" ;
+ lv2:symbol "port59" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 6 ;
+ lv2:name "Value 1" ;
+ lv2:symbol "port6" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 60 ;
+ lv2:name "Value 55" ;
+ lv2:symbol "port60" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 61 ;
+ lv2:name "Value 56" ;
+ lv2:symbol "port61" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 62 ;
+ lv2:name "Value 57" ;
+ lv2:symbol "port62" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 63 ;
+ lv2:name "Value 58" ;
+ lv2:symbol "port63" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 64 ;
+ lv2:name "Value 59" ;
+ lv2:symbol "port64" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 65 ;
+ lv2:name "Value 60" ;
+ lv2:symbol "port65" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 66 ;
+ lv2:name "Value 61" ;
+ lv2:symbol "port66" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 67 ;
+ lv2:name "Value 62" ;
+ lv2:symbol "port67" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 68 ;
+ lv2:name "Value 63" ;
+ lv2:symbol "port68" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 69 ;
+ lv2:name "Value 64" ;
+ lv2:symbol "port69" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 7 ;
+ lv2:name "Value 2" ;
+ lv2:symbol "port7" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 70 ;
+ lv2:name "Value 65" ;
+ lv2:symbol "port70" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 71 ;
+ lv2:name "Value 66" ;
+ lv2:symbol "port71" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 72 ;
+ lv2:name "Value 67" ;
+ lv2:symbol "port72" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 73 ;
+ lv2:name "Value 68" ;
+ lv2:symbol "port73" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 74 ;
+ lv2:name "Value 69" ;
+ lv2:symbol "port74" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 75 ;
+ lv2:name "Value 70" ;
+ lv2:symbol "port75" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 76 ;
+ lv2:name "Value 71" ;
+ lv2:symbol "port76" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 77 ;
+ lv2:name "Value 72" ;
+ lv2:symbol "port77" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 78 ;
+ lv2:name "Value 73" ;
+ lv2:symbol "port78" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 79 ;
+ lv2:name "Value 74" ;
+ lv2:symbol "port79" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 8 ;
+ lv2:name "Value 3" ;
+ lv2:symbol "port8" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 80 ;
+ lv2:name "Value 75" ;
+ lv2:symbol "port80" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 81 ;
+ lv2:name "Value 76" ;
+ lv2:symbol "port81" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 82 ;
+ lv2:name "Value 77" ;
+ lv2:symbol "port82" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 83 ;
+ lv2:name "Value 78" ;
+ lv2:symbol "port83" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 84 ;
+ lv2:name "Value 79" ;
+ lv2:symbol "port84" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 85 ;
+ lv2:name "Value 80" ;
+ lv2:symbol "port85" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 86 ;
+ lv2:name "Value 81" ;
+ lv2:symbol "port86" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 87 ;
+ lv2:name "Value 82" ;
+ lv2:symbol "port87" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 88 ;
+ lv2:name "Value 83" ;
+ lv2:symbol "port88" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 89 ;
+ lv2:name "Value 84" ;
+ lv2:symbol "port89" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 9 ;
+ lv2:name "Value 4" ;
+ lv2:symbol "port9" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 90 ;
+ lv2:name "Value 85" ;
+ lv2:symbol "port90" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 91 ;
+ lv2:name "Value 86" ;
+ lv2:symbol "port91" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 92 ;
+ lv2:name "Value 87" ;
+ lv2:symbol "port92" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 93 ;
+ lv2:name "Value 88" ;
+ lv2:symbol "port93" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 94 ;
+ lv2:name "Value 89" ;
+ lv2:symbol "port94" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 95 ;
+ lv2:name "Value 90" ;
+ lv2:symbol "port95" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 96 ;
+ lv2:name "Value 91" ;
+ lv2:symbol "port96" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 97 ;
+ lv2:name "Value 92" ;
+ lv2:symbol "port97" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 98 ;
+ lv2:name "Value 93" ;
+ lv2:symbol "port98" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 99 ;
+ lv2:name "Value 94" ;
+ lv2:symbol "port99" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:2029> ;
+ dc:rights "GPL" ;
+ doap:name "Quantiser (100 Steps)" ;
+ lv2:documentation """
+<p>Quantises a signal to a set of arbitrary values within a range.</p>
+
+<p>Match Range determines the distance from the quantised value that the input
+can deviate before being altered. This allows small variations in input to get
+through unmolested. If it is set to 0 the input is quantised to the nearest
+exact match.</p>
+
+<p>Mode is one of Extend (0), Wrap (1) or Clip (2).</p>
+
+<p>Steps is the number of quantisation steps to use (up to a maximum of
+100).</p>
+
+<p>For example, given the following settings:</p>
+<ul>
+ <li>Range Minimum = 0.0</li>
+ <li>Range Maximum = 12.0</li>
+ <li>Match Range = 0.0</li>
+ <li>Steps = 4</li>
+ <li>Quantisation Values 3, 5, 7 and 10</li>
+</ul>
+
+<p>and an input that is a line from -24 to 24, the output will be:</p>
+<ul>
+ <li>Extend: -26, -21, -19, -17, -14, -9, -7, -5, -2, 3, 5, 7, 10, 15, 17, 19,
+ 22</li>
+ <li>Wrap: 10, 3, 5, 7, 10, 3, 5, 7, 10, 3, 5, 7, 10, 3, 5, 7, 10</li>
+ <li>Clip: 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 7, 10, 10, 10, 10, 10</li>
+</ul>
+
+<p>The quantisation values should all be within the range minimum and maximum
+for it to work!</p>
+""" ;
+ a lv2:Plugin .
diff --git a/blip.lv2/quantiser_20.ttl b/blip.lv2/quantiser_20.ttl
new file mode 100644
index 0000000..893c346
--- /dev/null
+++ b/blip.lv2/quantiser_20.ttl
@@ -0,0 +1,260 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:quantiser_20
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:name "Quantise Range Minimum" ;
+ lv2:symbol "port0" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Quantise Range Maximum" ;
+ lv2:symbol "port1" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 10 ;
+ lv2:name "Value 5" ;
+ lv2:symbol "port10" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 11 ;
+ lv2:name "Value 6" ;
+ lv2:symbol "port11" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 12 ;
+ lv2:name "Value 7" ;
+ lv2:symbol "port12" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 13 ;
+ lv2:name "Value 8" ;
+ lv2:symbol "port13" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 14 ;
+ lv2:name "Value 9" ;
+ lv2:symbol "port14" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 15 ;
+ lv2:name "Value 10" ;
+ lv2:symbol "port15" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 16 ;
+ lv2:name "Value 11" ;
+ lv2:symbol "port16" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 17 ;
+ lv2:name "Value 12" ;
+ lv2:symbol "port17" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 18 ;
+ lv2:name "Value 13" ;
+ lv2:symbol "port18" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 19 ;
+ lv2:name "Value 14" ;
+ lv2:symbol "port19" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 2 ;
+ lv2:minimum 0 ;
+ lv2:name "Match Range" ;
+ lv2:symbol "port2" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 20 ;
+ lv2:name "Value 15" ;
+ lv2:symbol "port20" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 21 ;
+ lv2:name "Value 16" ;
+ lv2:symbol "port21" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 22 ;
+ lv2:name "Value 17" ;
+ lv2:symbol "port22" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 23 ;
+ lv2:name "Value 18" ;
+ lv2:symbol "port23" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 24 ;
+ lv2:name "Value 19" ;
+ lv2:symbol "port24" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 25 ;
+ lv2:name "Input" ;
+ lv2:symbol "port25" ;
+ a lv2:AudioPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 26 ;
+ lv2:name "Quantised Output" ;
+ lv2:symbol "port26" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 27 ;
+ lv2:name "Output Changed" ;
+ lv2:symbol "port27" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 3 ;
+ lv2:maximum 2 ;
+ lv2:minimum 0 ;
+ lv2:name "Mode (0 = Extend, 1 = Wrap, 2 = Clip)" ;
+ lv2:portProperty lv2:integer ;
+ lv2:symbol "port3" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 20 ;
+ lv2:index 4 ;
+ lv2:maximum 20 ;
+ lv2:minimum 1 ;
+ lv2:name "Steps (1 - 20)" ;
+ lv2:portProperty lv2:integer ;
+ lv2:symbol "port4" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 5 ;
+ lv2:name "Value 0" ;
+ lv2:symbol "port5" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 6 ;
+ lv2:name "Value 1" ;
+ lv2:symbol "port6" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 7 ;
+ lv2:name "Value 2" ;
+ lv2:symbol "port7" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 8 ;
+ lv2:name "Value 3" ;
+ lv2:symbol "port8" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 9 ;
+ lv2:name "Value 4" ;
+ lv2:symbol "port9" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:2027> ;
+ dc:rights "GPL" ;
+ doap:name "Quantiser (20 Steps)" ;
+ lv2:documentation """
+<p>Quantises a signal to a set of arbitrary values within a range.</p>
+
+<p>Match Range determines the distance from the quantised value that the input
+can deviate before being altered. This allows small variations in input to get
+through unmolested. If it is set to 0 the input is quantised to the nearest
+exact match.</p>
+
+<p>Mode is one of Extend (0), Wrap (1) or Clip (2).</p>
+
+<p>Steps is the number of quantisation steps to use (up to a maximum of
+20).</p>
+
+<p>For example, given the following settings:</p>
+<ul>
+ <li>Range Minimum = 0.0</li>
+ <li>Range Maximum = 12.0</li>
+ <li>Match Range = 0.0</li>
+ <li>Steps = 4</li>
+ <li>Quantisation Values 3, 5, 7 and 10</li>
+</ul>
+
+<p>and an input that is a line from -24 to 24, the output will be:</p>
+<ul>
+ <li>Extend: -26, -21, -19, -17, -14, -9, -7, -5, -2, 3, 5, 7, 10, 15, 17, 19,
+ 22</li>
+ <li>Wrap: 10, 3, 5, 7, 10, 3, 5, 7, 10, 3, 5, 7, 10, 3, 5, 7, 10</li>
+ <li>Clip: 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 7, 10, 10, 10, 10, 10</li>
+</ul>
+
+<p>The quantisation values should all be within the range minimum and maximum
+for it to work!</p>
+""" ;
+ a lv2:Plugin .
diff --git a/blip.lv2/quantiser_50.ttl b/blip.lv2/quantiser_50.ttl
new file mode 100644
index 0000000..9481cd2
--- /dev/null
+++ b/blip.lv2/quantiser_50.ttl
@@ -0,0 +1,470 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:quantiser_50
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:name "Quantise Range Minimum" ;
+ lv2:symbol "port0" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Quantise Range Maximum" ;
+ lv2:symbol "port1" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 10 ;
+ lv2:name "Value 5" ;
+ lv2:symbol "port10" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 11 ;
+ lv2:name "Value 6" ;
+ lv2:symbol "port11" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 12 ;
+ lv2:name "Value 7" ;
+ lv2:symbol "port12" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 13 ;
+ lv2:name "Value 8" ;
+ lv2:symbol "port13" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 14 ;
+ lv2:name "Value 9" ;
+ lv2:symbol "port14" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 15 ;
+ lv2:name "Value 10" ;
+ lv2:symbol "port15" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 16 ;
+ lv2:name "Value 11" ;
+ lv2:symbol "port16" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 17 ;
+ lv2:name "Value 12" ;
+ lv2:symbol "port17" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 18 ;
+ lv2:name "Value 13" ;
+ lv2:symbol "port18" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 19 ;
+ lv2:name "Value 14" ;
+ lv2:symbol "port19" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 2 ;
+ lv2:minimum 0 ;
+ lv2:name "Match Range" ;
+ lv2:symbol "port2" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 20 ;
+ lv2:name "Value 15" ;
+ lv2:symbol "port20" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 21 ;
+ lv2:name "Value 16" ;
+ lv2:symbol "port21" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 22 ;
+ lv2:name "Value 17" ;
+ lv2:symbol "port22" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 23 ;
+ lv2:name "Value 18" ;
+ lv2:symbol "port23" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 24 ;
+ lv2:name "Value 19" ;
+ lv2:symbol "port24" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 25 ;
+ lv2:name "Value 20" ;
+ lv2:symbol "port25" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 26 ;
+ lv2:name "Value 21" ;
+ lv2:symbol "port26" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 27 ;
+ lv2:name "Value 22" ;
+ lv2:symbol "port27" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 28 ;
+ lv2:name "Value 23" ;
+ lv2:symbol "port28" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 29 ;
+ lv2:name "Value 24" ;
+ lv2:symbol "port29" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 3 ;
+ lv2:maximum 2 ;
+ lv2:minimum 0 ;
+ lv2:name "Mode (0 = Extend, 1 = Wrap, 2 = Clip)" ;
+ lv2:portProperty lv2:integer ;
+ lv2:symbol "port3" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 30 ;
+ lv2:name "Value 25" ;
+ lv2:symbol "port30" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 31 ;
+ lv2:name "Value 26" ;
+ lv2:symbol "port31" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 32 ;
+ lv2:name "Value 27" ;
+ lv2:symbol "port32" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 33 ;
+ lv2:name "Value 28" ;
+ lv2:symbol "port33" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 34 ;
+ lv2:name "Value 29" ;
+ lv2:symbol "port34" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 35 ;
+ lv2:name "Value 30" ;
+ lv2:symbol "port35" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 36 ;
+ lv2:name "Value 31" ;
+ lv2:symbol "port36" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 37 ;
+ lv2:name "Value 32" ;
+ lv2:symbol "port37" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 38 ;
+ lv2:name "Value 33" ;
+ lv2:symbol "port38" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 39 ;
+ lv2:name "Value 34" ;
+ lv2:symbol "port39" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 50 ;
+ lv2:index 4 ;
+ lv2:maximum 50 ;
+ lv2:minimum 1 ;
+ lv2:name "Steps (1 - 50)" ;
+ lv2:portProperty lv2:integer ;
+ lv2:symbol "port4" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 40 ;
+ lv2:name "Value 35" ;
+ lv2:symbol "port40" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 41 ;
+ lv2:name "Value 36" ;
+ lv2:symbol "port41" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 42 ;
+ lv2:name "Value 37" ;
+ lv2:symbol "port42" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 43 ;
+ lv2:name "Value 38" ;
+ lv2:symbol "port43" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 44 ;
+ lv2:name "Value 39" ;
+ lv2:symbol "port44" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 45 ;
+ lv2:name "Value 40" ;
+ lv2:symbol "port45" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 46 ;
+ lv2:name "Value 41" ;
+ lv2:symbol "port46" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 47 ;
+ lv2:name "Value 42" ;
+ lv2:symbol "port47" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 48 ;
+ lv2:name "Value 43" ;
+ lv2:symbol "port48" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 49 ;
+ lv2:name "Value 44" ;
+ lv2:symbol "port49" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 5 ;
+ lv2:name "Value 0" ;
+ lv2:symbol "port5" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 50 ;
+ lv2:name "Value 45" ;
+ lv2:symbol "port50" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 51 ;
+ lv2:name "Value 46" ;
+ lv2:symbol "port51" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 52 ;
+ lv2:name "Value 47" ;
+ lv2:symbol "port52" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 53 ;
+ lv2:name "Value 48" ;
+ lv2:symbol "port53" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 54 ;
+ lv2:name "Value 49" ;
+ lv2:symbol "port54" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 55 ;
+ lv2:name "Input" ;
+ lv2:symbol "port55" ;
+ a lv2:AudioPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 56 ;
+ lv2:name "Quantised Output" ;
+ lv2:symbol "port56" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 57 ;
+ lv2:name "Output Changed" ;
+ lv2:symbol "port57" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 6 ;
+ lv2:name "Value 1" ;
+ lv2:symbol "port6" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 7 ;
+ lv2:name "Value 2" ;
+ lv2:symbol "port7" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 8 ;
+ lv2:name "Value 3" ;
+ lv2:symbol "port8" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 9 ;
+ lv2:name "Value 4" ;
+ lv2:symbol "port9" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:2028> ;
+ dc:rights "GPL" ;
+ doap:name "Quantiser (50 Steps)" ;
+ lv2:documentation """
+<p>Quantises a signal to a set of arbitrary values within a range.</p>
+
+<p>Match Range determines the distance from the quantised value that the input
+can deviate before being altered. This allows small variations in input to get
+through unmolested. If it is set to 0 the input is quantised to the nearest
+exact match.</p>
+
+<p>Mode is one of Extend (0), Wrap (1) or Clip (2).</p>
+
+<p>Steps is the number of quantisation steps to use (up to a maximum of
+50).</p>
+
+<p>For example, given the following settings:</p>
+<ul>
+ <li>Range Minimum = 0.0</li>
+ <li>Range Maximum = 12.0</li>
+ <li>Match Range = 0.0</li>
+ <li>Steps = 4</li>
+ <li>Quantisation Values 3, 5, 7 and 10</li>
+</ul>
+
+<p>and an input that is a line from -24 to 24, the output will be:</p>
+<ul>
+ <li>Extend: -26, -21, -19, -17, -14, -9, -7, -5, -2, 3, 5, 7, 10, 15, 17, 19,
+ 22</li>
+ <li>Wrap: 10, 3, 5, 7, 10, 3, 5, 7, 10, 3, 5, 7, 10, 3, 5, 7, 10</li>
+ <li>Clip: 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 7, 10, 10, 10, 10, 10</li>
+</ul>
+
+<p>The quantisation values should all be within the range minimum and maximum
+for it to work!</p>
+""" ;
+ a lv2:Plugin .
diff --git a/blip.lv2/random.ttl b/blip.lv2/random.ttl
new file mode 100644
index 0000000..abdc38e
--- /dev/null
+++ b/blip.lv2/random.ttl
@@ -0,0 +1,62 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@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#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:random
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:maximum 0.5 ;
+ lv2:minimum 0.000001 ;
+ lv2:default 440.0 ;
+ lv2:name "Frequency" ;
+ lv2:portProperty <http://lv2plug.in/ns/ext/port-props#logarithmic> ,
+ lv2:sampleRate ;
+ lv2:symbol "port0" ;
+ units:unit units:hz ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 1 ;
+ lv2:index 1 ;
+ lv2:maximum 1 ;
+ lv2:minimum 0 ;
+ lv2:name "Wave Smoothness" ;
+ lv2:symbol "port1" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 2 ;
+ lv2:name "Output" ;
+ lv2:symbol "port2" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:1661> ,
+ <urn:ladspa:1662> ,
+ <urn:ladspa:1663> ,
+ <urn:ladspa:1664> ;
+ dc:rights "GPL" ;
+ doap:name "Random Wave Generator" ;
+ lv2:documentation """
+<p>Generates a random waveform of varying frequency and smoothness. The
+frequency determines how often the output changes. The smoothness, how quickly
+a transition occurs.</p>
+
+<p>The output varies between &#177;1, with an even distribution.</p>
+""" ;
+ a lv2:Plugin , lv2:OscillatorPlugin .
diff --git a/blip.lv2/ratio.ttl b/blip.lv2/ratio.ttl
new file mode 100644
index 0000000..cefb069
--- /dev/null
+++ b/blip.lv2/ratio.ttl
@@ -0,0 +1,49 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:ratio
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:name "Numerator" ;
+ lv2:symbol "numerator" ;
+ a lv2:CVPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Denominator" ;
+ lv2:symbol "denominator" ;
+ a lv2:CVPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 2 ;
+ lv2:name "Ratio" ;
+ lv2:symbol "ratio" ;
+ a lv2:CVPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:2034> ,
+ <urn:ladspa:2035> ,
+ <urn:ladspa:2036> ,
+ <urn:ladspa:2037> ;
+ dc:rights "GPL" ;
+ doap:name "Signal Ratio" ;
+ lv2:documentation """
+<p>Get the ratio between two signals.</p>
+<p>To avoid divisions by zero, 0 is treated as a really small number.</p>
+""" ;
+ a lv2:Plugin , lv2:UtilityPlugin .
diff --git a/blip.lv2/sawtooth.ttl b/blip.lv2/sawtooth.ttl
new file mode 100644
index 0000000..0d928f3
--- /dev/null
+++ b/blip.lv2/sawtooth.ttl
@@ -0,0 +1,44 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:sawtooth
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:maximum 0.5 ;
+ lv2:minimum 0.000001 ;
+ lv2:default 440.0 ;
+ lv2:name "Frequency" ;
+ lv2:portProperty <http://lv2plug.in/ns/ext/port-props#logarithmic> ,
+ lv2:sampleRate ;
+ lv2:symbol "port0" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Output" ;
+ lv2:symbol "port1" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:1642> ,
+ <urn:ladspa:1643> ;
+ dc:rights "GPL" ;
+ doap:name "Sawtooth Oscillator" ;
+ lv2:documentation """
+<p>Generates an alias-free sawtooth wave at given input frequency.</p>
+""" ;
+ a lv2:Plugin , lv2:OscillatorPlugin .
diff --git a/blip.lv2/sequencer_16.ttl b/blip.lv2/sequencer_16.ttl
new file mode 100644
index 0000000..6f08ab2
--- /dev/null
+++ b/blip.lv2/sequencer_16.ttl
@@ -0,0 +1,192 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:sequencer_16
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:name "Gate (Open > 0)" ;
+ lv2:symbol "port0" ;
+ a lv2:AudioPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Step Trigger" ;
+ lv2:symbol "port1" ;
+ a lv2:AudioPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 10 ;
+ lv2:name "Value Step 5" ;
+ lv2:symbol "port10" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 11 ;
+ lv2:name "Value Step 6" ;
+ lv2:symbol "port11" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 12 ;
+ lv2:name "Value Step 7" ;
+ lv2:symbol "port12" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 13 ;
+ lv2:name "Value Step 8" ;
+ lv2:symbol "port13" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 14 ;
+ lv2:name "Value Step 9" ;
+ lv2:symbol "port14" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 15 ;
+ lv2:name "Value Step 10" ;
+ lv2:symbol "port15" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 16 ;
+ lv2:name "Value Step 11" ;
+ lv2:symbol "port16" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 17 ;
+ lv2:name "Value Step 12" ;
+ lv2:symbol "port17" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 18 ;
+ lv2:name "Value Step 13" ;
+ lv2:symbol "port18" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 19 ;
+ lv2:name "Value Step 14" ;
+ lv2:symbol "port19" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 16 ;
+ lv2:index 2 ;
+ lv2:maximum 16 ;
+ lv2:minimum 1 ;
+ lv2:name "Loop Steps (1 - 16)" ;
+ lv2:portProperty lv2:integer ;
+ lv2:symbol "port2" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 20 ;
+ lv2:name "Value Step 15" ;
+ lv2:symbol "port20" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 21 ;
+ lv2:name "Value Out" ;
+ lv2:symbol "port21" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 3 ;
+ lv2:maximum 1 ;
+ lv2:minimum 0 ;
+ lv2:name "Reset to Value on Gate Close?" ;
+ lv2:portProperty lv2:integer ;
+ lv2:symbol "port3" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 4 ;
+ lv2:name "Closed Gate Value" ;
+ lv2:symbol "port4" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 5 ;
+ lv2:name "Value Step 0" ;
+ lv2:symbol "port5" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 6 ;
+ lv2:name "Value Step 1" ;
+ lv2:symbol "port6" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 7 ;
+ lv2:name "Value Step 2" ;
+ lv2:symbol "port7" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 8 ;
+ lv2:name "Value Step 3" ;
+ lv2:symbol "port8" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 9 ;
+ lv2:name "Value Step 4" ;
+ lv2:symbol "port9" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:1677> ;
+ dc:rights "GPL" ;
+ doap:name "Analogue Style 16 Step Sequencer" ;
+ lv2:documentation """
+<p>Simulates an analogue step sequencer. The sequencer stores a number of
+values which are stepped through using a trigger when the gate is open, looping
+after a given number of steps. This variant has 16 steps.</p>
+
+<p>When the gate is closed, the sequencer returns to the start. Output when
+the gate is closed can be set to a default value. If not, it will just output
+the last value reached before the gate was closed.</p>
+""" ;
+ a lv2:Plugin .
diff --git a/blip.lv2/sequencer_32.ttl b/blip.lv2/sequencer_32.ttl
new file mode 100644
index 0000000..6797b36
--- /dev/null
+++ b/blip.lv2/sequencer_32.ttl
@@ -0,0 +1,304 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:sequencer_32
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:name "Gate (Open > 0)" ;
+ lv2:symbol "port0" ;
+ a lv2:AudioPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Step Trigger" ;
+ lv2:symbol "port1" ;
+ a lv2:AudioPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 10 ;
+ lv2:name "Value Step 5" ;
+ lv2:symbol "port10" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 11 ;
+ lv2:name "Value Step 6" ;
+ lv2:symbol "port11" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 12 ;
+ lv2:name "Value Step 7" ;
+ lv2:symbol "port12" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 13 ;
+ lv2:name "Value Step 8" ;
+ lv2:symbol "port13" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 14 ;
+ lv2:name "Value Step 9" ;
+ lv2:symbol "port14" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 15 ;
+ lv2:name "Value Step 10" ;
+ lv2:symbol "port15" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 16 ;
+ lv2:name "Value Step 11" ;
+ lv2:symbol "port16" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 17 ;
+ lv2:name "Value Step 12" ;
+ lv2:symbol "port17" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 18 ;
+ lv2:name "Value Step 13" ;
+ lv2:symbol "port18" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 19 ;
+ lv2:name "Value Step 14" ;
+ lv2:symbol "port19" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 32 ;
+ lv2:index 2 ;
+ lv2:maximum 32 ;
+ lv2:minimum 1 ;
+ lv2:name "Loop Steps (1 - 32)" ;
+ lv2:portProperty lv2:integer ;
+ lv2:symbol "port2" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 20 ;
+ lv2:name "Value Step 15" ;
+ lv2:symbol "port20" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 21 ;
+ lv2:name "Value Step 16" ;
+ lv2:symbol "port21" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 22 ;
+ lv2:name "Value Step 17" ;
+ lv2:symbol "port22" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 23 ;
+ lv2:name "Value Step 18" ;
+ lv2:symbol "port23" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 24 ;
+ lv2:name "Value Step 19" ;
+ lv2:symbol "port24" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 25 ;
+ lv2:name "Value Step 20" ;
+ lv2:symbol "port25" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 26 ;
+ lv2:name "Value Step 21" ;
+ lv2:symbol "port26" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 27 ;
+ lv2:name "Value Step 22" ;
+ lv2:symbol "port27" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 28 ;
+ lv2:name "Value Step 23" ;
+ lv2:symbol "port28" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 29 ;
+ lv2:name "Value Step 24" ;
+ lv2:symbol "port29" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 3 ;
+ lv2:maximum 1 ;
+ lv2:minimum 0 ;
+ lv2:name "Reset to Value on Gate Close?" ;
+ lv2:portProperty lv2:integer ;
+ lv2:symbol "port3" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 30 ;
+ lv2:name "Value Step 25" ;
+ lv2:symbol "port30" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 31 ;
+ lv2:name "Value Step 26" ;
+ lv2:symbol "port31" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 32 ;
+ lv2:name "Value Step 27" ;
+ lv2:symbol "port32" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 33 ;
+ lv2:name "Value Step 28" ;
+ lv2:symbol "port33" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 34 ;
+ lv2:name "Value Step 29" ;
+ lv2:symbol "port34" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 35 ;
+ lv2:name "Value Step 30" ;
+ lv2:symbol "port35" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 36 ;
+ lv2:name "Value Step 31" ;
+ lv2:symbol "port36" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 37 ;
+ lv2:name "Value Out" ;
+ lv2:symbol "port37" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 4 ;
+ lv2:name "Closed Gate Value" ;
+ lv2:symbol "port4" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 5 ;
+ lv2:name "Value Step 0" ;
+ lv2:symbol "port5" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 6 ;
+ lv2:name "Value Step 1" ;
+ lv2:symbol "port6" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 7 ;
+ lv2:name "Value Step 2" ;
+ lv2:symbol "port7" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 8 ;
+ lv2:name "Value Step 3" ;
+ lv2:symbol "port8" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 9 ;
+ lv2:name "Value Step 4" ;
+ lv2:symbol "port9" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:1676> ;
+ dc:rights "GPL" ;
+ doap:name "Analogue Style 32 Step Sequencer" ;
+ lv2:documentation """
+<p>Simulates an analogue step sequencer. The sequencer stores a number of
+values which are stepped through using a trigger when the gate is open, looping
+after a given number of steps. This variant has 32 steps.</p>
+
+<p>When the gate is closed, the sequencer returns to the start. Output when
+the gate is closed can be set to a default value. If not, it will just output
+the last value reached before the gate was closed.</p>
+""" ;
+ a lv2:Plugin .
diff --git a/blip.lv2/sequencer_64.ttl b/blip.lv2/sequencer_64.ttl
new file mode 100644
index 0000000..c38b82e
--- /dev/null
+++ b/blip.lv2/sequencer_64.ttl
@@ -0,0 +1,528 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:sequencer_64
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:name "Gate (Open > 0)" ;
+ lv2:symbol "port0" ;
+ a lv2:AudioPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Step Trigger" ;
+ lv2:symbol "port1" ;
+ a lv2:AudioPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 10 ;
+ lv2:name "Value Step 5" ;
+ lv2:symbol "port10" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 11 ;
+ lv2:name "Value Step 6" ;
+ lv2:symbol "port11" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 12 ;
+ lv2:name "Value Step 7" ;
+ lv2:symbol "port12" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 13 ;
+ lv2:name "Value Step 8" ;
+ lv2:symbol "port13" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 14 ;
+ lv2:name "Value Step 9" ;
+ lv2:symbol "port14" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 15 ;
+ lv2:name "Value Step 10" ;
+ lv2:symbol "port15" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 16 ;
+ lv2:name "Value Step 11" ;
+ lv2:symbol "port16" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 17 ;
+ lv2:name "Value Step 12" ;
+ lv2:symbol "port17" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 18 ;
+ lv2:name "Value Step 13" ;
+ lv2:symbol "port18" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 19 ;
+ lv2:name "Value Step 14" ;
+ lv2:symbol "port19" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 64 ;
+ lv2:index 2 ;
+ lv2:maximum 64 ;
+ lv2:minimum 1 ;
+ lv2:name "Loop Steps (1 - 64)" ;
+ lv2:portProperty lv2:integer ;
+ lv2:symbol "port2" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 20 ;
+ lv2:name "Value Step 15" ;
+ lv2:symbol "port20" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 21 ;
+ lv2:name "Value Step 16" ;
+ lv2:symbol "port21" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 22 ;
+ lv2:name "Value Step 17" ;
+ lv2:symbol "port22" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 23 ;
+ lv2:name "Value Step 18" ;
+ lv2:symbol "port23" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 24 ;
+ lv2:name "Value Step 19" ;
+ lv2:symbol "port24" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 25 ;
+ lv2:name "Value Step 20" ;
+ lv2:symbol "port25" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 26 ;
+ lv2:name "Value Step 21" ;
+ lv2:symbol "port26" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 27 ;
+ lv2:name "Value Step 22" ;
+ lv2:symbol "port27" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 28 ;
+ lv2:name "Value Step 23" ;
+ lv2:symbol "port28" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 29 ;
+ lv2:name "Value Step 24" ;
+ lv2:symbol "port29" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0 ;
+ lv2:index 3 ;
+ lv2:maximum 1 ;
+ lv2:minimum 0 ;
+ lv2:name "Reset to Value on Gate Close?" ;
+ lv2:portProperty lv2:integer ;
+ lv2:symbol "port3" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 30 ;
+ lv2:name "Value Step 25" ;
+ lv2:symbol "port30" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 31 ;
+ lv2:name "Value Step 26" ;
+ lv2:symbol "port31" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 32 ;
+ lv2:name "Value Step 27" ;
+ lv2:symbol "port32" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 33 ;
+ lv2:name "Value Step 28" ;
+ lv2:symbol "port33" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 34 ;
+ lv2:name "Value Step 29" ;
+ lv2:symbol "port34" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 35 ;
+ lv2:name "Value Step 30" ;
+ lv2:symbol "port35" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 36 ;
+ lv2:name "Value Step 31" ;
+ lv2:symbol "port36" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 37 ;
+ lv2:name "Value Step 32" ;
+ lv2:symbol "port37" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 38 ;
+ lv2:name "Value Step 33" ;
+ lv2:symbol "port38" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 39 ;
+ lv2:name "Value Step 34" ;
+ lv2:symbol "port39" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 4 ;
+ lv2:name "Closed Gate Value" ;
+ lv2:symbol "port4" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 40 ;
+ lv2:name "Value Step 35" ;
+ lv2:symbol "port40" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 41 ;
+ lv2:name "Value Step 36" ;
+ lv2:symbol "port41" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 42 ;
+ lv2:name "Value Step 37" ;
+ lv2:symbol "port42" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 43 ;
+ lv2:name "Value Step 38" ;
+ lv2:symbol "port43" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 44 ;
+ lv2:name "Value Step 39" ;
+ lv2:symbol "port44" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 45 ;
+ lv2:name "Value Step 40" ;
+ lv2:symbol "port45" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 46 ;
+ lv2:name "Value Step 41" ;
+ lv2:symbol "port46" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 47 ;
+ lv2:name "Value Step 42" ;
+ lv2:symbol "port47" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 48 ;
+ lv2:name "Value Step 43" ;
+ lv2:symbol "port48" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 49 ;
+ lv2:name "Value Step 44" ;
+ lv2:symbol "port49" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 5 ;
+ lv2:name "Value Step 0" ;
+ lv2:symbol "port5" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 50 ;
+ lv2:name "Value Step 45" ;
+ lv2:symbol "port50" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 51 ;
+ lv2:name "Value Step 46" ;
+ lv2:symbol "port51" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 52 ;
+ lv2:name "Value Step 47" ;
+ lv2:symbol "port52" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 53 ;
+ lv2:name "Value Step 48" ;
+ lv2:symbol "port53" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 54 ;
+ lv2:name "Value Step 49" ;
+ lv2:symbol "port54" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 55 ;
+ lv2:name "Value Step 50" ;
+ lv2:symbol "port55" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 56 ;
+ lv2:name "Value Step 51" ;
+ lv2:symbol "port56" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 57 ;
+ lv2:name "Value Step 52" ;
+ lv2:symbol "port57" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 58 ;
+ lv2:name "Value Step 53" ;
+ lv2:symbol "port58" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 59 ;
+ lv2:name "Value Step 54" ;
+ lv2:symbol "port59" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 6 ;
+ lv2:name "Value Step 1" ;
+ lv2:symbol "port6" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 60 ;
+ lv2:name "Value Step 55" ;
+ lv2:symbol "port60" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 61 ;
+ lv2:name "Value Step 56" ;
+ lv2:symbol "port61" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 62 ;
+ lv2:name "Value Step 57" ;
+ lv2:symbol "port62" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 63 ;
+ lv2:name "Value Step 58" ;
+ lv2:symbol "port63" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 64 ;
+ lv2:name "Value Step 59" ;
+ lv2:symbol "port64" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 65 ;
+ lv2:name "Value Step 60" ;
+ lv2:symbol "port65" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 66 ;
+ lv2:name "Value Step 61" ;
+ lv2:symbol "port66" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 67 ;
+ lv2:name "Value Step 62" ;
+ lv2:symbol "port67" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 68 ;
+ lv2:name "Value Step 63" ;
+ lv2:symbol "port68" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 69 ;
+ lv2:name "Value Out" ;
+ lv2:symbol "port69" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 7 ;
+ lv2:name "Value Step 2" ;
+ lv2:symbol "port7" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 8 ;
+ lv2:name "Value Step 3" ;
+ lv2:symbol "port8" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 9 ;
+ lv2:name "Value Step 4" ;
+ lv2:symbol "port9" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:1675> ;
+ dc:rights "GPL" ;
+ doap:name "Analogue Style 64 Step Sequencer" ;
+ lv2:documentation """
+<p>Simulates an analogue step sequencer. The sequencer stores a number of
+values which are stepped through using a trigger when the gate is open, looping
+after a given number of steps. This variant has 64 steps.</p>
+
+<p>When the gate is closed, the sequencer returns to the start. Output when
+the gate is closed can be set to a default value. If not, it will just output
+the last value reached before the gate was closed.</p>
+""" ;
+ a lv2:Plugin .
diff --git a/blip.lv2/square.ttl b/blip.lv2/square.ttl
new file mode 100644
index 0000000..0bd81d4
--- /dev/null
+++ b/blip.lv2/square.ttl
@@ -0,0 +1,44 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:square
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:maximum 0.5 ;
+ lv2:minimum 0.000001 ;
+ lv2:default 440.0 ;
+ lv2:name "Frequency" ;
+ lv2:portProperty <http://lv2plug.in/ns/ext/port-props#logarithmic> ,
+ lv2:sampleRate ;
+ lv2:symbol "port0" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Output" ;
+ lv2:symbol "port1" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:1643> ,
+ <urn:ladspa:1644> ;
+ dc:rights "GPL" ;
+ doap:name "Square Oscillator" ;
+ lv2:documentation """
+<p>Generates an alias-free square wave at given input frequency.</p>
+""" ;
+ a lv2:Plugin , lv2:OscillatorPlugin .
diff --git a/blip.lv2/sum.ttl b/blip.lv2/sum.ttl
new file mode 100644
index 0000000..56c00ea
--- /dev/null
+++ b/blip.lv2/sum.ttl
@@ -0,0 +1,47 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:sum
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:name "Input 1" ;
+ lv2:symbol "in1" ;
+ a lv2:CVPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Input 2" ;
+ lv2:symbol "in2" ;
+ a lv2:CVPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 2 ;
+ lv2:name "Sum" ;
+ lv2:symbol "sum" ;
+ a lv2:CVPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:1665> ,
+ <urn:ladspa:1666> ,
+ <urn:ladspa:1667> ;
+ dc:rights "GPL" ;
+ doap:name "Signal Sum" ;
+ lv2:documentation """
+<p>Add two signals.</p>
+""" ;
+ a lv2:Plugin , lv2:UtilityPlugin .
diff --git a/blip.lv2/sync_pulse.ttl b/blip.lv2/sync_pulse.ttl
new file mode 100644
index 0000000..9814a65
--- /dev/null
+++ b/blip.lv2/sync_pulse.ttl
@@ -0,0 +1,60 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:sync_pulse
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:default 16 ;
+ lv2:index 0 ;
+ lv2:maximum 64 ;
+ lv2:minimum 0 ;
+ lv2:name "Frequency" ;
+ lv2:symbol "port0" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0.5 ;
+ lv2:index 1 ;
+ lv2:maximum 1 ;
+ lv2:minimum 0 ;
+ lv2:name "Pulse Width" ;
+ lv2:symbol "port1" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 2 ;
+ lv2:name "Gate" ;
+ lv2:symbol "port2" ;
+ a lv2:AudioPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 3 ;
+ lv2:name "Output" ;
+ lv2:symbol "port3" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:2023> ,
+ <urn:ladspa:2024> ;
+ dc:rights "GPL" ;
+ doap:name "Clock Pulse Oscillator with Gate" ;
+ lv2:documentation """
+<p>Same as the <a href="http://drobilla.net/plugins/blip/sync_square">Clock
+Oscillator</a>, but with pulse-width modulation.</p>
+""" ;
+ a lv2:Plugin , lv2:OscillatorPlugin .
diff --git a/blip.lv2/sync_square.ttl b/blip.lv2/sync_square.ttl
new file mode 100644
index 0000000..85be37c
--- /dev/null
+++ b/blip.lv2/sync_square.ttl
@@ -0,0 +1,53 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:sync_square
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:default 16 ;
+ lv2:index 0 ;
+ lv2:maximum 64 ;
+ lv2:minimum 0 ;
+ lv2:name "Frequency" ;
+ lv2:symbol "port0" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 1 ;
+ lv2:name "Gate" ;
+ lv2:symbol "port1" ;
+ a lv2:AudioPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 2 ;
+ lv2:name "Output" ;
+ lv2:symbol "port2" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:1678> ,
+ <urn:ladspa:1679> ;
+ dc:rights "GPL" ;
+ doap:name "Clock Oscillator with Gate" ;
+ lv2:documentation """
+<p>Generates a non-bandlimited simple square waveform for use as a clock.
+Useful for triggering the sequencers, or anything else that uses a clock
+signal.</p>
+
+<p>When the gate is closed, it outputs silence, and the phase is reset.</p>
+""" ;
+ a lv2:Plugin , lv2:OscillatorPlugin .
diff --git a/blip.lv2/tracker.ttl b/blip.lv2/tracker.ttl
new file mode 100644
index 0000000..2894986
--- /dev/null
+++ b/blip.lv2/tracker.ttl
@@ -0,0 +1,116 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:tracker
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:name "Gate" ;
+ lv2:symbol "port0" ;
+ a lv2:CVPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 100 ;
+ lv2:index 1 ;
+ lv2:maximum 0.5 ;
+ lv2:minimum "2.08333e-05"^^xsd:double ;
+ lv2:name "Attack Rate (Hz) when Gate High" ;
+ lv2:portProperty <http://lv2plug.in/ns/ext/port-props#logarithmic> ,
+ lv2:sampleRate ;
+ lv2:symbol "port1" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 100 ;
+ lv2:index 2 ;
+ lv2:maximum 0.5 ;
+ lv2:minimum "2.08333e-05"^^xsd:double ;
+ lv2:name "Decay Rate (Hz) when Gate High" ;
+ lv2:portProperty <http://lv2plug.in/ns/ext/port-props#logarithmic> ,
+ lv2:sampleRate ;
+ lv2:symbol "port2" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 100 ;
+ lv2:index 3 ;
+ lv2:maximum 0.5 ;
+ lv2:minimum "2.08333e-05"^^xsd:double ;
+ lv2:name "Attack Rate (Hz) when Gate Low" ;
+ lv2:portProperty <http://lv2plug.in/ns/ext/port-props#logarithmic> ,
+ lv2:sampleRate ;
+ lv2:symbol "port3" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 100 ;
+ lv2:index 4 ;
+ lv2:maximum 0.5 ;
+ lv2:minimum "2.08333e-05"^^xsd:double ;
+ lv2:name "Decay Rate (Hz) when Gate Low" ;
+ lv2:portProperty <http://lv2plug.in/ns/ext/port-props#logarithmic> ,
+ lv2:sampleRate ;
+ lv2:symbol "port4" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 5 ;
+ lv2:name "Input" ;
+ lv2:symbol "port5" ;
+ a lv2:AudioPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 6 ;
+ lv2:name "Output" ;
+ lv2:symbol "port6" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:2025> ,
+ <urn:ladspa:2026> ;
+ dc:rights "GPL" ;
+ doap:name "Signal Tracker" ;
+ lv2:documentation """
+<p>This tracks an incoming signal and outputs the result.</p>
+<p>The rate controls tell the plugin how quickly to respond to a change in
+input. Low values will mean a slower response - a setting of 0 will hold the
+last value, and a very high value will track the input exactly.</p>
+<p>Attack rate is how quickly an upward change is tracked, and Decay for
+downward changes. There are two pairs of these - the one used depends on the
+level of the Gate.</p>
+<p>Example uses:</p>
+<ul>
+ <li>
+ <em>An envelope tracker</em>- use the &#8216;Gate Low&#8217; track rates with
+ the Gate held low, and run the output through a full-wave rectifier (an ABS()
+ operator) to get an estimate of the level of a signal.</li>
+ <li>
+ <em>Sample and Hold</em>- run a narrow pulse wave into the gate, set the
+ &#8216;Gate High&#8217; rates to maximum, and the &#8216;Gate Low&#8217;
+ rates set to 0.</li>
+ <li>
+ <em>Track and Hold</em>- run a variable pulse wave into the gate, set the
+ &#8216;Gate High&#8217; rates to 0, and the &#8216;Gate Low&#8217; rates set
+ high. Varying the pulsewidth will vary the time the input is tracked, and
+ when it is held.</li>
+</ul>
+""" ;
+ a lv2:Plugin .
diff --git a/blip.lv2/triangle.ttl b/blip.lv2/triangle.ttl
new file mode 100644
index 0000000..76c9d67
--- /dev/null
+++ b/blip.lv2/triangle.ttl
@@ -0,0 +1,58 @@
+@prefix blip: <http://drobilla.net/plugins/blip/> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dct: <http://purl.org/dc/terms/> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+blip:triangle
+ lv2:microVersion 0 ;
+ lv2:minorVersion 0 ;
+ lv2:optionalFeature lv2:hardRTCapable ;
+ lv2:port [
+ lv2:index 0 ;
+ lv2:maximum 0.5 ;
+ lv2:minimum 0.000001 ;
+ lv2:default 440.0 ;
+ lv2:name "Frequency" ;
+ lv2:portProperty <http://lv2plug.in/ns/ext/port-props#logarithmic> ,
+ lv2:sampleRate ;
+ lv2:symbol "port0" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:default 0.5 ;
+ lv2:index 1 ;
+ lv2:maximum 1 ;
+ lv2:minimum 0 ;
+ lv2:name "Slope" ;
+ lv2:symbol "port1" ;
+ a lv2:ControlPort ,
+ lv2:InputPort ,
+ lv2:Port
+ ] , [
+ lv2:index 2 ;
+ lv2:name "Output" ;
+ lv2:symbol "port2" ;
+ a lv2:AudioPort ,
+ lv2:OutputPort ,
+ lv2:Port
+ ] ;
+ dc:creator "Mike Rawes <mike_rawes[at]yahoo.co.uk>" ;
+ dct:replaces <urn:ladspa:1649> ,
+ <urn:ladspa:1650> ,
+ <urn:ladspa:1651> ,
+ <urn:ladspa:1652> ;
+ dc:rights "GPL" ;
+ doap:name "Variable Slope Triangle Oscillator" ;
+ lv2:documentation """
+<p>Generates an alias-free variable slope triangle wave at given input
+frequency and slope. The slope changes the wave shape from sawtooth to
+triangle.</p>
+""" ;
+ a lv2:Plugin , lv2:OscillatorPlugin .