From eb43c8896480114b224755e824fae2e2f7485256 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 21 Nov 2011 01:36:00 +0000 Subject: Move ns to lv2/ns so repository top level can be used as an include dir directly. --- lv2/ns/extensions/units/ext.pc.in | 1 + lv2/ns/extensions/units/manifest.ttl | 9 + lv2/ns/extensions/units/units.ttl | 414 +++++++++++++++++++++++++++++++++++ lv2/ns/extensions/units/waf | 1 + lv2/ns/extensions/units/wscript | 1 + 5 files changed, 426 insertions(+) create mode 120000 lv2/ns/extensions/units/ext.pc.in create mode 100644 lv2/ns/extensions/units/manifest.ttl create mode 100644 lv2/ns/extensions/units/units.ttl create mode 120000 lv2/ns/extensions/units/waf create mode 120000 lv2/ns/extensions/units/wscript (limited to 'lv2/ns/extensions/units') diff --git a/lv2/ns/extensions/units/ext.pc.in b/lv2/ns/extensions/units/ext.pc.in new file mode 120000 index 0000000..82b50df --- /dev/null +++ b/lv2/ns/extensions/units/ext.pc.in @@ -0,0 +1 @@ +../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/ns/extensions/units/manifest.ttl b/lv2/ns/extensions/units/manifest.ttl new file mode 100644 index 0000000..fb5e949 --- /dev/null +++ b/lv2/ns/extensions/units/manifest.ttl @@ -0,0 +1,9 @@ +@prefix lv2: . +@prefix rdfs: . + + + a lv2:Specification ; + lv2:minorVersion 5 ; + lv2:microVersion 4 ; + rdfs:seeAlso . + diff --git a/lv2/ns/extensions/units/units.ttl b/lv2/ns/extensions/units/units.ttl new file mode 100644 index 0000000..ab33723 --- /dev/null +++ b/lv2/ns/extensions/units/units.ttl @@ -0,0 +1,414 @@ +# LV2 Units Extension +# Copyright 2009-2011 David Robillard +# Copyright 2007 Steve Harris +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +@prefix units: . +@prefix lv2: . +@prefix rdf: . +@prefix rdfs: . +@prefix doap: . +@prefix foaf: . +@prefix xsd: . +@prefix dcs: . + + + a foaf:Person ; + foaf:name "Steve Harris" ; + foaf:homepage ; + rdfs:seeAlso . + + + a foaf:Person ; + foaf:name "David Robillard" ; + foaf:homepage ; + foaf:mbox ; + rdfs:seeAlso . + + + a lv2:Specification ; + doap:name "LV2 Units" ; + doap:shortdesc "Units for LV2 values." ; + doap:created "2007-02-06" ; + doap:homepage ; + doap:license ; + doap:release [ + doap:revision "5.4" ; + doap:created "2011-11-20" ; + dcs:blame ; + dcs:changeset [ + dcs:item [ + rdfs:label "Define used but undefined resources (units:name, units:render, units:symbol, units:Conversion, units:conversion, units:prefixConversion, units:to, and units:factor)." + ] , [ + rdfs:label "Update packaging." + ] , [ + rdfs:label "Improve documentation." + ] + ] + ] ; + doap:maintainer [ + a foaf:Person ; + rdfs:seeAlso ; + foaf:homepage ; + foaf:mbox_sha1sum "44bc4fed584a2d1ac8fc55206db67656165d67fd" ; + foaf:name "Steve Harris" + ], [ + a foaf:Person ; + rdfs:seeAlso ; + foaf:homepage ; + foaf:name "David Robillard" + ] ; + lv2:documentation """ +

This extension defines a number of units for use in audio processing.

+ +

For example, to say that a gain port's value is in decibels (units:db)

+
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+@prefix eg:    <http://example.org/> .
+
+eg:plugin lv2:port [
+    a            lv2:ControlRateInputPort ;
+    lv2:datatype lv2:Float ;
+    lv2:index    0 ;
+    lv2:symbol   "gain" ;
+    lv2:name     "gain" ;
+    units:unit   units:db
+] .
+
+ +

Using the same form, plugins may also specify one-off units inline, to give +better display hints to hosts:

+
+eg:plugin lv2:port [
+    a            lv2:ControlRateInputPort ;
+    lv2:datatype lv2:Float ;
+    lv2:index    0 ;
+    lv2:symbol   "frob" ;
+    lv2:name     "frob level" ;
+    units:unit [
+        a            units:Unit ;
+        units:name   "frobnication" ;
+        units:symbol "fr" ;
+        units:render "%f f"
+    ]
+] .
+
+ +

It is also possible to define conversions between various units, which makes +it possible for hosts to automatically and generically convert from a given +unit to a desired unit. The units defined in this extension include conversion +definitions where it makes sense to do so.

+""" . + +units:Unit a rdfs:Class ; + rdfs:comment "A unit for LV2 port data" . + +units:unit + a rdf:Property ; + rdfs:domain lv2:Port ; + rdfs:range units:Unit ; + rdfs:comment "Relates a port to the unit of its data" . + +units:name + a rdf:Property ; + rdfs:domain units:Unit ; + rdfs:range xsd:string ; + rdfs:comment "A display name for the unit (e.g. decibels)." . + +units:render + a rdf:Property ; + rdfs:domain units:Unit ; + rdfs:range xsd:string ; + rdfs:comment "A printf format string for rendering a value (eg. \"%f dB\")." . + +units:symbol + a rdf:Property ; + rdfs:domain units:Unit ; + rdfs:range xsd:string ; + rdfs:comment "The abbreviated symbol for the unit (e.g. dB)." . + +units:Conversion + a rdfs:Class ; + rdfs:comment "A conversion from one unit to another." . + +units:conversion + a rdf:Property ; + rdfs:domain units:Unit ; + rdfs:range units:Conversion ; + rdfs:comment "A conversion from this unit to another." . + +units:prefixConversion + a rdf:Property ; + rdfs:subPropertyOf units:conversion ; + rdfs:domain units:Unit ; + rdfs:range units:Conversion ; + rdfs:comment """ +A conversion from this unit to the same unit but with a different SI prefix +(e.g. Hz to kHz). +""" . + +units:to + a rdf:Property ; + rdfs:domain units:Conversion ; + rdfs:range units:Unit ; + rdfs:comment "The target unit this conversion converts to." . + +units:factor + a rdf:Property ; + rdfs:domain units:Conversion ; + rdfs:range units:Unit ; + rdfs:comment """ +The factor to multiple the source value by in order to convert +to the target unit. +""" . + +units:s a units:Unit ; + units:conversion [ + units:factor 0.0166666666 ; + units:to units:min + ] ; + units:name "second" ; + units:prefixConversion [ + units:factor 1000 ; + units:to units:ms + ] ; + units:render "%f s" ; + units:symbol "s" . + +units:ms a units:Unit ; + units:name "millisecond" ; + units:prefixConversion [ + units:factor 0.001 ; + units:to units:s + ] ; + units:render "%f ms" ; + units:symbol "ms" . + +units:min a units:Unit ; + units:conversion [ + units:factor 60.0 ; + units:to units:s + ] ; + units:name "minute" ; + units:render "%f mins" ; + units:symbol "min" . + +units:bar a units:Unit ; + units:name "bar" ; + units:render "%f bars" ; + units:symbol "bars" . + +units:beat a units:Unit ; + units:name "beat" ; + units:render "%f beats" ; + units:symbol "beats" . + +units:m a units:Unit ; + units:conversion [ + units:factor 39.37 ; + units:to units:inch + ] ; + units:name "metre" ; + units:prefixConversion [ + units:factor 100 ; + units:to units:cm + ], [ + units:factor 1000 ; + units:to units:mm + ], [ + units:factor 0.001 ; + units:to units:km + ] ; + units:render "%f m" ; + units:symbol "m" . + +units:cm a units:Unit ; + units:conversion [ + units:factor 0.3937 ; + units:to units:inch + ] ; + units:name "centimetre" ; + units:prefixConversion [ + units:factor 0.01 ; + units:to units:m + ], [ + units:factor 10 ; + units:to units:mm + ], [ + units:factor 0.00001 ; + units:to units:km + ] ; + units:render "%f cm" ; + units:symbol "cm" . + +units:mm a units:Unit ; + units:conversion [ + units:factor 0.03937 ; + units:to units:inch + ] ; + units:name "millimetre" ; + units:prefixConversion [ + units:factor 0.001 ; + units:to units:m + ], [ + units:factor 0.1 ; + units:to units:cm + ], [ + units:factor 0.000001 ; + units:to units:km + ] ; + units:render "%f mm" ; + units:symbol "mm" . + +units:km a units:Unit ; + units:conversion [ + units:factor 0.62138818 ; + units:to units:mile + ] ; + units:name "kilometre" ; + units:prefixConversion [ + units:factor 1000 ; + units:to units:m + ], [ + units:factor 100000 ; + units:to units:cm + ], [ + units:factor 1000000 ; + units:to units:mm + ] ; + units:render "%f km" ; + units:symbol "km" . + +units:inch a units:Unit ; + units:conversion [ + units:factor 2.54 ; + units:to units:cm + ] ; + units:name "inch" ; + units:render "%f\"" ; + units:symbol "in" . + +units:mile a units:Unit ; + units:conversion [ + units:factor 1.6093 ; + units:to units:km + ] ; + units:name "mile" ; + units:render "%f mi" ; + units:symbol "mi" . + +units:db a units:Unit ; + units:name "decibel" ; + units:render "%f dB" ; + units:symbol "dB" . + +units:pc a units:Unit ; + units:conversion [ + units:factor 0.01 ; + units:to units:coef + ] ; + units:name "percent" ; + units:render "%f%%" ; + units:symbol "%" . + +units:coef a units:Unit ; + units:conversion [ + units:factor 100 ; + units:to units:pc + ] ; + units:name "coefficient" ; + units:render "* %f" ; + units:symbol "" . + +units:hz a units:Unit ; + units:name "hertz" ; + units:prefixConversion [ + units:factor 0.001 ; + units:to units:khz + ], [ + units:factor 0.000001 ; + units:to units:mhz + ] ; + units:render "%f Hz" ; + units:symbol "Hz" . + +units:khz a units:Unit ; + units:name "kilohertz" ; + units:prefixConversion [ + units:factor 1000 ; + units:to units:hz + ], [ + units:factor 0.001 ; + units:to units:mhz + ] ; + units:render "%f kHz" ; + units:symbol "kHz" . + +units:mhz a units:Unit ; + units:name "megahertz" ; + units:prefixConversion [ + units:factor 1000000 ; + units:to units:hz + ], [ + units:factor 0.001 ; + units:to units:khz + ] ; + units:render "%f MHz" ; + units:symbol "MHz" . + +units:bpm a units:Unit ; + units:name "beats per minute" ; + units:prefixConversion [ + units:factor 0.0166666666 ; + units:to units:hz + ] ; + units:render "%f BPM" ; + units:symbol "BPM" . + +units:oct a units:Unit ; + units:conversion [ + units:factor 12.0 ; + units:to units:semitone12TET + ] ; + units:name "octaves" ; + units:render "%f octaves" ; + units:symbol "oct" . + +units:cent a units:Unit ; + units:conversion [ + units:factor 0.01 ; + units:to units:semitone12TET + ] ; + units:name "cent" ; + units:render "%f ct" ; + units:symbol "ct" . + +units:semitone12TET a units:Unit ; + units:conversion [ + units:factor 0.083333333 ; + units:to units:oct + ] ; + units:name "semitone" ; + units:render "%f semi" ; + units:symbol "semi" . + +units:degree a units:Unit ; + units:name "degree" ; + units:render "%f deg" ; + units:symbol "deg" . + +units:midiNote a units:Unit ; + units:name "MIDI note" ; + units:render "MIDI note %d" ; + units:symbol "note" . diff --git a/lv2/ns/extensions/units/waf b/lv2/ns/extensions/units/waf new file mode 120000 index 0000000..b955110 --- /dev/null +++ b/lv2/ns/extensions/units/waf @@ -0,0 +1 @@ +../../../../waf \ No newline at end of file diff --git a/lv2/ns/extensions/units/wscript b/lv2/ns/extensions/units/wscript new file mode 120000 index 0000000..ec20a77 --- /dev/null +++ b/lv2/ns/extensions/units/wscript @@ -0,0 +1 @@ +../../../../ext.wscript \ No newline at end of file -- cgit v1.2.1