aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-03-30 18:12:43 +0000
committerDavid Robillard <d@drobilla.net>2012-03-30 18:12:43 +0000
commitb75c914fc9a2fd99b7082e76e968f214b184c993 (patch)
treea5fa63fbb71c4fcc10a49b2f5091710fe7496de4
parentaae93ebd722e93200a7218debb515c2cad6a8ae2 (diff)
downloadlv2-b75c914fc9a2fd99b7082e76e968f214b184c993.tar.xz
Add missing ui:ui and ui:binary property definitions.
Mark up properties more precisely for validation.
-rw-r--r--lv2/lv2plug.in/ns/ext/atom/atom.ttl17
-rw-r--r--lv2/lv2plug.in/ns/ext/midi/midi.ttl80
-rw-r--r--lv2/lv2plug.in/ns/ext/patch/patch.ttl36
-rw-r--r--lv2/lv2plug.in/ns/ext/port-groups/port-groups.ttl68
-rw-r--r--lv2/lv2plug.in/ns/ext/resize-port/resize-port.ttl10
-rw-r--r--lv2/lv2plug.in/ns/ext/time/time.ttl49
-rw-r--r--lv2/lv2plug.in/ns/extensions/ui/ui.ttl17
-rw-r--r--lv2/lv2plug.in/ns/lv2core/lv2.h1
-rw-r--r--lv2/lv2plug.in/ns/lv2core/lv2core.ttl50
9 files changed, 239 insertions, 89 deletions
diff --git a/lv2/lv2plug.in/ns/ext/atom/atom.ttl b/lv2/lv2plug.in/ns/ext/atom/atom.ttl
index bda776d..1a27389 100644
--- a/lv2/lv2plug.in/ns/ext/atom/atom.ttl
+++ b/lv2/lv2plug.in/ns/ext/atom/atom.ttl
@@ -71,7 +71,8 @@ extension.</p>
atom:cType
a rdf:Property ,
- owl:DatatypeProperty ;
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:label "C type" ;
rdfs:domain rdfs:Class ;
rdfs:range xsd:string ;
@@ -370,7 +371,9 @@ atom:TimeUnit
lv2:documentation "<p>A unit for atom:Event time stamps.</p>" .
atom:frameTime
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:decimal ;
rdfs:label "Frame time" ;
lv2:documentation """
@@ -378,7 +381,9 @@ atom:frameTime
""" .
atom:beatTime
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:decimal ;
rdfs:label "Beat time" ;
lv2:documentation """
@@ -439,7 +444,8 @@ However, to be robust, hosts SHOULD initialise output ports to a safe sentinel
""" .
atom:bufferType
- a rdf:Property ;
+ a rdf:Property ,
+ owl:ObjectProperty ;
rdfs:domain atom:AtomPort ;
rdfs:label "Buffer type" ;
lv2:documentation """
@@ -463,7 +469,8 @@ that, use atom:supports.</p>
""" .
atom:childType
- a rdf:Property ;
+ a rdf:Property ,
+ owl:ObjectProperty ;
rdfs:label "Child type" ;
rdfs:comment "The type of a container's children." .
diff --git a/lv2/lv2plug.in/ns/ext/midi/midi.ttl b/lv2/lv2plug.in/ns/ext/midi/midi.ttl
index 53f0ea1..02864f4 100644
--- a/lv2/lv2plug.in/ns/ext/midi/midi.ttl
+++ b/lv2/lv2plug.in/ns/ext/midi/midi.ttl
@@ -21,6 +21,7 @@
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix midi: <http://lv2plug.in/ns/ext/midi#> .
+@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#> .
@@ -112,10 +113,10 @@ midi:Aftertouch
midi:statusMask "A0"^^xsd:hexBinary ;
midi:chunk [
midi:byteNumber 0 ;
- midi:property midi:noteNumber ;
+ midi:property midi:noteNumber
] , [
midi:byteNumber 1 ;
- midi:property midi:pressure ;
+ midi:property midi:pressure
] .
midi:Bender
@@ -126,7 +127,7 @@ midi:Bender
midi:chunk [
midi:byteNumber 0 ,
1 ;
- midi:property midi:benderValue ;
+ midi:property midi:benderValue
] .
midi:ChannelPressure
@@ -136,7 +137,7 @@ midi:ChannelPressure
midi:statusMask "D0"^^xsd:hexBinary ;
midi:chunk [
midi:byteNumber 0 ;
- midi:property midi:pressure ;
+ midi:property midi:pressure
] .
midi:Chunk
@@ -162,10 +163,10 @@ midi:Controller
midi:statusMask "B0"^^xsd:hexBinary ;
midi:chunk [
midi:byteNumber 0 ;
- midi:property midi:controllerNumber ;
+ midi:property midi:controllerNumber
] , [
midi:byteNumber 1 ;
- midi:property midi:controllerValue ;
+ midi:property midi:controllerValue
] .
midi:MidiEvent
@@ -204,10 +205,10 @@ midi:NoteOff
midi:statusMask "80"^^xsd:hexBinary ;
midi:chunk [
midi:byteNumber 0 ;
- midi:property midi:noteNumber ;
+ midi:property midi:noteNumber
] , [
midi:byteNumber 1 ;
- midi:property midi:velocity ;
+ midi:property midi:velocity
] .
midi:NoteOn
@@ -217,10 +218,10 @@ midi:NoteOn
midi:statusMask "90"^^xsd:hexBinary ;
midi:chunk [
midi:byteNumber 0 ;
- midi:property midi:noteNumber ;
+ midi:property midi:noteNumber
] , [
midi:byteNumber 1 ;
- midi:property midi:velocity ;
+ midi:property midi:velocity
] .
midi:ProgramChange
@@ -230,7 +231,7 @@ midi:ProgramChange
midi:statusMask "C0"^^xsd:hexBinary ;
midi:chunk [
midi:byteNumber 0 ;
- midi:property midi:programNumber ;
+ midi:property midi:programNumber
] .
midi:QuarterFrame
@@ -253,7 +254,7 @@ midi:SongPosition
midi:chunk [
midi:byteNumber 0 ,
1 ;
- midi:property midi:songPosition ;
+ midi:property midi:songPosition
] .
midi:SongSelect
@@ -315,12 +316,15 @@ midi:VoiceMessage
midi:statusMask "F0"^^xsd:hexBinary .
midi:benderValue
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:short ;
rdfs:comment "The value of a pitch bender (-8192 to 8192)." .
midi:byteNumber
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ;
rdfs:domain midi:Chunk ;
rdfs:range xsd:unsignedByte ;
rdfs:comment "The 0-based index of a byte which is part of this chunk." .
@@ -329,57 +333,77 @@ midi:chunk
a rdf:Property ;
rdfs:range xsd:byte ,
xsd:hexBinary ;
- rdfs:comment "The exact status byte for a message of this type." .
+ rdfs:comment "A chunk of a MIDI message." .
midi:controllerNumber
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:byte ;
rdfs:comment "The numberic ID of a controller (0 to 127)." .
midi:controllerValue
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:byte ;
rdfs:comment "The value of a controller (0 to 127)." .
midi:noteNumber
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:byte ;
- rdfs:comment "The numeric ID of a controller (0 to 127)." .
+ rdfs:comment "The numeric ID of a note (0 to 127)." .
midi:pressure
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:byte ;
rdfs:comment "Key pressure (0 to 127)." .
midi:programNumber
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:byte ;
rdfs:comment "The numeric ID of a program (0 to 127)." .
midi:property
- a rdf:Property ;
+ a rdf:Property ,
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:domain midi:Chunk ;
rdfs:range rdf:Property ;
rdfs:comment "The property this chunk represents." .
midi:songNumber
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:byte ;
rdfs:comment "The numeric ID of a song (0 to 127)." .
midi:songPosition
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:short ;
rdfs:comment "Song position in MIDI beats (16th notes) (-8192 to 8192)." .
midi:status
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:byte ,
xsd:hexBinary ;
rdfs:comment "The exact status byte for a message of this type." .
midi:statusMask
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:byte ,
xsd:hexBinary ;
rdfs:comment """
@@ -387,6 +411,8 @@ The status byte for a message of this type on channel 1, i.e. a status byte
with the lower nibble set to zero.""" .
midi:velocity
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:byte ;
rdfs:comment "The velocity of a note message (0 to 127)." .
diff --git a/lv2/lv2plug.in/ns/ext/patch/patch.ttl b/lv2/lv2plug.in/ns/ext/patch/patch.ttl
index f5eef6c..9e60939 100644
--- a/lv2/lv2plug.in/ns/ext/patch/patch.ttl
+++ b/lv2/lv2plug.in/ns/ext/patch/patch.ttl
@@ -31,7 +31,7 @@
doap:name "LV2 Patch" ;
doap:release [
doap:created "2012-02-08" ;
- doap:revision "0.1" ;
+ doap:revision "0.1"
] ;
doap:shortdesc "Messages for accessing and manipulating properties." ;
lv2:documentation """
@@ -156,7 +156,7 @@ patch:Insert
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty patch:subject ;
+ owl:onProperty patch:subject
] ;
lv2:documentation """
<p>Insert the patch:body at patch:subject. If the subject does not exist, it is
@@ -176,11 +176,11 @@ patch:Move
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty patch:subject ;
+ owl:onProperty patch:subject
] , [
a owl:Restriction ;
owl:cardinality 1 ;
- owl:onProperty patch:destination ;
+ owl:onProperty patch:destination
] ;
lv2:documentation """
<p>Move the patch:subject to patch:destination. After this, patch:destination has
@@ -195,15 +195,15 @@ patch:Patch
[
a owl:Restriction ;
owl:minCardinality 1 ;
- owl:onProperty patch:subject ;
+ owl:onProperty patch:subject
] , [
a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty patch:add ;
+ owl:onProperty patch:add
] , [
a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty patch:remove ;
+ owl:onProperty patch:remove
] ;
lv2:documentation """
<p>A method for modifying the properties of an object.</p>
@@ -236,7 +236,7 @@ patch:Put
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty patch:subject ;
+ owl:onProperty patch:subject
] ;
lv2:documentation """
<p>Put the patch:body as the patch:subject. If the subject does not already exist,
@@ -268,7 +268,7 @@ patch:Set
[
a owl:Restriction ;
owl:cardinality 1 ;
- owl:onProperty patch:body ;
+ owl:onProperty patch:body
] ;
lv2:documentation """
<p>A method for setting properties of an object to unique values.</p>
@@ -309,12 +309,14 @@ patch is equivalent to:</p>
patch:add
a rdf:Property ,
- owl:ObjectProperty ;
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:domain patch:Message .
patch:body
a rdf:Property ,
- owl:ObjectProperty ;
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:domain patch:Message ;
lv2:documentation """
<p>The body of a message.</p>
@@ -325,12 +327,14 @@ part of.</p>
patch:destination
a rdf:Property ,
- owl:ObjectProperty ;
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:domain patch:Message .
patch:request
a rdf:Property ,
- owl:ObjectProperty ;
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:domain patch:Response ;
rdfs:range patch:Request ;
lv2:documentation """
@@ -339,10 +343,12 @@ patch:request
patch:subject
a rdf:Property ,
- owl:ObjectProperty ;
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:domain patch:Message .
patch:remove
a rdf:Property ,
- owl:ObjectProperty ;
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:domain patch:Message .
diff --git a/lv2/lv2plug.in/ns/ext/port-groups/port-groups.ttl b/lv2/lv2plug.in/ns/ext/port-groups/port-groups.ttl
index a827c3f..005f64f 100644
--- a/lv2/lv2plug.in/ns/ext/port-groups/port-groups.ttl
+++ b/lv2/lv2plug.in/ns/ext/port-groups/port-groups.ttl
@@ -92,8 +92,8 @@ An element of a group, which has a designation and an optional index.
""" .
pg:element
- a rdf:Property ;
- rdfs:domain pg:Group ;
+ a rdf:Property ,
+ owl:ObjectProperty ;
rdfs:range pg:Element ;
rdfs:label "element" ;
rdfs:comment """
@@ -102,7 +102,8 @@ designation with a possible index).
""" .
pg:sideChainOf
- a rdf:Property ;
+ a rdf:Property ,
+ owl:ObjectProperty ;
rdfs:label "Side-chain of" ;
rdfs:comment """
Indicates that this port or group should be considered a "side chain" of
@@ -112,7 +113,9 @@ some other group, rather than an independent input itself.
""" .
pg:subGroupOf
- a rdf:Property ;
+ a rdf:Property ,
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:domain pg:Group ;
rdfs:range pg:Group ;
rdfs:label "Sub-group of" ;
@@ -125,7 +128,8 @@ symbol.
""" .
pg:source
- a rdf:Property ;
+ a rdf:Property ,
+ owl:ObjectProperty ;
rdfs:domain pg:OutputGroup ;
rdfs:range pg:InputGroup ;
rdfs:label "Source" ;
@@ -139,6 +143,7 @@ types, e.g. a mono->stereo plugin.
pg:mainInput
a rdf:Property ,
+ owl:ObjectProperty ,
owl:FunctionalProperty ;
rdfs:domain lv2:Plugin ;
rdfs:range pg:InputGroup ;
@@ -151,6 +156,7 @@ more than one pg:mainInput property.
pg:mainOutput
a rdf:Property ,
+ owl:ObjectProperty ,
owl:FunctionalProperty ;
rdfs:domain lv2:Plugin ;
rdfs:range pg:OutputGroup ;
@@ -161,7 +167,9 @@ output group SHOULD have the main input group as a pg:source.
""" .
pg:group
- a rdf:Property ;
+ a rdf:Property ,
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:domain lv2:Port ;
rdfs:range pg:Group ;
rdfs:label "In port group" ;
@@ -426,6 +434,54 @@ pg:SevenPointOneWideGroup
lv2:designation pg:lowFrequencyEffects
] .
+amb:ACN0
+ a lv2:Channel .
+
+amb:ACN1
+ a lv2:Channel .
+
+amb:ACN2
+ a lv2:Channel .
+
+amb:ACN3
+ a lv2:Channel .
+
+amb:ACN4
+ a lv2:Channel .
+
+amb:ACN5
+ a lv2:Channel .
+
+amb:ACN6
+ a lv2:Channel .
+
+amb:ACN7
+ a lv2:Channel .
+
+amb:ACN8
+ a lv2:Channel .
+
+amb:ACN9
+ a lv2:Channel .
+
+amb:ACN10
+ a lv2:Channel .
+
+amb:ACN11
+ a lv2:Channel .
+
+amb:ACN12
+ a lv2:Channel .
+
+amb:ACN13
+ a lv2:Channel .
+
+amb:ACN14
+ a lv2:Channel .
+
+amb:ACN15
+ a lv2:Channel .
+
pg:AmbisonicGroup
a rdfs:Class ;
rdfs:subClassOf pg:Group ;
diff --git a/lv2/lv2plug.in/ns/ext/resize-port/resize-port.ttl b/lv2/lv2plug.in/ns/ext/resize-port/resize-port.ttl
index 6b10a4d..72f81a2 100644
--- a/lv2/lv2plug.in/ns/ext/resize-port/resize-port.ttl
+++ b/lv2/lv2plug.in/ns/ext/resize-port/resize-port.ttl
@@ -16,6 +16,7 @@
@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 rsz: <http://lv2plug.in/ns/ext/resize-port#> .
@@ -44,7 +45,8 @@ amount of space required for a particular port buffer.</p>
""" .
rsz:asLargeAs
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ;
rdfs:domain lv2:Port ;
rdfs:range lv2:Symbol ;
rdfs:label "as large as" ;
@@ -62,9 +64,11 @@ enough to copy I, or NULL if the port is lv2:connectionOptional.
""" .
rsz:minimumSize
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:domain lv2:Port ;
- rdfs:range lv2:Symbol ;
+ rdfs:range xsd:nonNegativeInteger ;
rdfs:label "minimum size" ;
rdfs:comment """
Indicates that a port requires a buffer at least this large, in bytes.
diff --git a/lv2/lv2plug.in/ns/ext/time/time.ttl b/lv2/lv2plug.in/ns/ext/time/time.ttl
index 4f21505..db6a3c1 100644
--- a/lv2/lv2plug.in/ns/ext/time/time.ttl
+++ b/lv2/lv2plug.in/ns/ext/time/time.ttl
@@ -13,12 +13,13 @@
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-@prefix time: <http://lv2plug.in/ns/ext/time#> .
@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 time: <http://lv2plug.in/ns/ext/time#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<http://lv2plug.in/ns/ext/time>
@@ -50,7 +51,7 @@ The meter describes how many beats are in one bar.</p>
time:Time
a rdfs:Class ;
- rdfs:subClassOf time:Position ;
+ rdfs:subClassOf time:Position ;
rdfs:label "A point in time" ;
rdfs:comment "A point in time in some unit/dimension." .
@@ -63,73 +64,93 @@ both a point and a speed, which precisely defines a time within a timeline.</p>
time:Rate
a rdfs:Class ;
- rdfs:subClassOf time:Position ;
+ rdfs:subClassOf time:Position ;
rdfs:label "Rate" ;
lv2:documentation """
<p>The rate of passage of time in terms of one unit with respect to
another.</p> """ .
time:position
- a rdf:Property ;
+ a rdf:Property ,
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:range time:Position ;
rdfs:label "Position in time" .
time:barBeat
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:domain time:Time ;
rdfs:range xsd:float ;
rdfs:label "Beat within this bar" ;
rdfs:comment "The beat number within the bar, from 0 to beatsPerBar." .
time:bar
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:domain time:Time ;
rdfs:range xsd:long ;
rdfs:label "Global position in bars" .
time:beat
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:domain time:Time ;
rdfs:range xsd:double ;
rdfs:label "Global position in beats" .
time:beatUnit
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:domain time:Rate ;
- rdfs:range xsd:double ;
+ rdfs:range xsd:nonNegativeInteger ;
lv2:documentation """
<p>Beat unit, the note value that counts as one beat. This is the bottom number
in a time signature: 2 for half note, 4 for quarter note, and so on.</p>
""" .
time:beatsPerBar
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:domain time:Rate ;
rdfs:range xsd:float ;
rdfs:label "Beats per bar" .
time:beatsPerMinute
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:domain time:Rate ;
rdfs:range xsd:float ;
rdfs:label "Beats per minute" ;
rdfs:comment "Tempo in beats per minute." .
time:frame
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:domain time:Time ;
rdfs:range xsd:long ;
rdfs:label "Global position in frames" .
time:framesPerSecond
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:domain time:Rate ;
rdfs:range xsd:float ;
rdfs:label "Frames per second" ;
rdfs:comment "Frame rate in frames per second." .
time:speed
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:domain time:Rate ;
rdfs:range xsd:float ;
rdfs:label "Speed" ;
diff --git a/lv2/lv2plug.in/ns/extensions/ui/ui.ttl b/lv2/lv2plug.in/ns/extensions/ui/ui.ttl
index f6b8e19..efc1bb1 100644
--- a/lv2/lv2plug.in/ns/extensions/ui/ui.ttl
+++ b/lv2/lv2plug.in/ns/extensions/ui/ui.ttl
@@ -137,6 +137,23 @@ A UI where the LV2_Widget is an X11 window ID. Note this is actually an
integer, i.e. the LV2_Widget is not a pointer to an X11 window ID, but should
be itself taken as an integer value.""" .
+ui:ui
+ a rdf:Property ;
+ rdfs:domain lv2:Plugin ;
+ rdfs:range ui:UI ;
+ rdfs:comment """
+Relates a plugin to a UI that applies to it.
+""" .
+
+ui:binary
+ a rdf:Property ;
+ owl:sameAs lv2:binary ;
+ owl:deprecated "true"^^xsd:boolean ;
+ rdfs:comment """
+The shared library a UI resides in. This property is redundant, new UIs SHOULD
+use lv2:binary, however hosts MUST still support ui:binary at this time.
+""" .
+
ui:makeSONameResident
a lv2:Feature ;
owl:deprecated "true"^^xsd:boolean ;
diff --git a/lv2/lv2plug.in/ns/lv2core/lv2.h b/lv2/lv2plug.in/ns/lv2core/lv2.h
index e0be241..0b04bce 100644
--- a/lv2/lv2plug.in/ns/lv2core/lv2.h
+++ b/lv2/lv2plug.in/ns/lv2core/lv2.h
@@ -97,7 +97,6 @@
#define LV2_CORE__index LV2_CORE_PREFIX "index"
#define LV2_CORE__integer LV2_CORE_PREFIX "integer"
#define LV2_CORE__isLive LV2_CORE_PREFIX "isLive"
-#define LV2_CORE__isParameter LV2_CORE_PREFIX "isParameter"
#define LV2_CORE__latency LV2_CORE_PREFIX "latency"
#define LV2_CORE__maximum LV2_CORE_PREFIX "maximum"
#define LV2_CORE__microVersion LV2_CORE_PREFIX "microVersion"
diff --git a/lv2/lv2plug.in/ns/lv2core/lv2core.ttl b/lv2/lv2plug.in/ns/lv2core/lv2core.ttl
index 1648f30..746b47f 100644
--- a/lv2/lv2plug.in/ns/lv2core/lv2core.ttl
+++ b/lv2/lv2plug.in/ns/lv2core/lv2core.ttl
@@ -23,6 +23,7 @@
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
lv2:Specification a rdfs:Class , owl:Class ;
+ rdfs:subClassOf doap:Project ;
lv2:documentation """
<p>An LV2 specification (i.e. this specification, or an LV2 extension).</p>
@@ -185,7 +186,8 @@ will do), but the value itself MUST be non-negative.
""" ] , [
a owl:Restriction ;
owl:onProperty lv2:symbol ;
- owl:someValuesFrom xsd:string ;
+ owl:allValuesFrom xsd:string ;
+ owl:cardinality 1 ;
rdfs:comment """
A port MUST have a single lv2:symbol which is of type xsd:string with no
language tag.
@@ -386,29 +388,40 @@ if/when to load the data, knowing that it describes an additional resource and
not the plugin itself.</p>
""" .
-lv2:index a rdf:Property , owl:DatatypeProperty ;
+lv2:index a rdf:Property , owl:DatatypeProperty , owl:FunctionalProperty ;
rdfs:range xsd:nonNegativeInteger ;
rdfs:label "index" ;
rdfs:comment "A non-negative zero-based index." .
-lv2:symbol a rdf:Property , owl:DatatypeProperty ;
- rdfs:label "symbol" ;
+lv2:Symbol a rdfs:Datatype ;
+ rdfs:subClassOf xsd:string ;
+ xsd:pattern "[_a-zA-Z][_a-zA-Z0-9]*$" ;
rdfs:comment """
-A short name used as a machine and human readable identifier.
+A short restricted name used as a machine and human readable identifier.
+
+The first character must be one of _, a-z or A-Z and subsequent characters can
+be from _, a-z, A-Z and 0-9. This is a valid C identifier, and compatible in
+most other contexts with restricted string identifiers (e.g. file paths).
+""" .
-The first character must be one of _, a-z or A-Z and subsequenct characters can
-be from _, a-z, A-Z and 0-9.
+lv2:symbol a rdf:Property , owl:DatatypeProperty , owl:FunctionalProperty ;
+ rdfs:label "symbol" ;
+ rdfs:range lv2:Symbol ;
+ lv2:documentation """
+<p>The value of this property MUST conform to the rules for lv2:Symbol, and
+MUST NOT have a language tag.</p>
-A language tag MUST NOT be used on this property. The symbol uniquely
-identifies the port on a plugin with a given URI (i.e. the plugin author MUST
-change the plugin URI if a port symbol is changed or removed).
+<p>A symbol is a unique identifier with respect to the parent (e.g. a port's
+symbol is a unique identifier with respect to its plugin). The plugin author
+MUST change the plugin URI if a port symbol is changed or removed.</p>
""" .
lv2:name a rdf:Property , owl:DatatypeProperty ;
- rdfs:domain lv2:Port ;
rdfs:label "name" ;
rdfs:comment """
-A display name for labeling the Port in a user interface.
+A display name for labeling in a user interface. Unlike lv2:symbol this is
+unrestricted and may be translated. The lv2:name MUST NOT be used as an
+identifier.
This property is required for Ports, but MUST NOT be used by the host for
port identification. The plugin author may change the values of this
@@ -433,6 +446,7 @@ lv2:Channel a rdfs:Class , owl:Class ;
lv2:Parameter a rdfs:Class , owl:Class ;
rdfs:subClassOf lv2:Designation ;
+ #owl:equivalentClass rdf:Property ;
lv2:documentation """
<p>A parameter, i.e. a recognized property. A parameter is a designation for a
control.</p>
@@ -445,7 +459,7 @@ messages, are possible but not defined here.</p>
""" .
lv2:hasParameter a rdf:Property , owl:ObjectProperty ;
- rdfs:range lv2:Parameter ;
+ #rdfs:range lv2:Parameter ;
rdfs:label "has parameter" ;
lv2:documentation """
<p>Indicates that a specific parameter is supported. This predicate is to
@@ -457,8 +471,8 @@ parameters, simply use lv2:designation on the port for that.</p>
not restricted to plugins.</p>
""" .
-lv2:designation a rdf:Property , owl:ObjectProperty ;
- rdfs:range lv2:Designation ;
+lv2:designation a rdf:Property , owl:ObjectProperty , owl:FunctionalProperty ;
+ #rdfs:range lv2:Designation ;
rdfs:label "assignment" ;
lv2:documentation """
<p>Indicates a channel or parameter designation.</p>
@@ -515,7 +529,7 @@ lv2:scalePoint a rdf:Property , owl:ObjectProperty ;
rdfs:label "Scale point" ;
rdfs:comment "Relates a Port to its ScalePoints." .
-lv2:default a rdf:Property , owl:DatatypeProperty ;
+lv2:default a rdf:Property , owl:DatatypeProperty , owl:FunctionalProperty ;
rdfs:domain lv2:Port ;
rdfs:label "Default value" ;
rdfs:comment """
@@ -523,7 +537,7 @@ The default value that the host SHOULD set this port to when there is no
other information available.
""" .
-lv2:minimum a rdf:Property , owl:DatatypeProperty ;
+lv2:minimum a rdf:Property , owl:DatatypeProperty , owl:FunctionalProperty ;
rdfs:domain lv2:Port ;
rdfs:label "Minimum value" ;
lv2:documentation """
@@ -532,7 +546,7 @@ is a <q>soft</q> limit; the plugin is required to gracefully accept all values
in the range of a port's data type.</p>
""" .
-lv2:maximum a rdf:Property , owl:DatatypeProperty ;
+lv2:maximum a rdf:Property , owl:DatatypeProperty , owl:FunctionalProperty ;
rdfs:domain lv2:Port ;
rdfs:label "Maximum value" ;
lv2:documentation """