From 820aa9d69bf05d978bfed403eb40e5f44fc5615c Mon Sep 17 00:00:00 2001
From: David Robillard Abstract base class for all atoms. An LV2_Atom has a 16-bit Abstract base class for all atoms. An LV2_Atom has a 16-bit
+ All concrete Atom types (subclasses of this class) MUST define a precise
binary layout for The A homogeneous sequence of atoms with equivalent type and size. An LV2_Atom_Vector is a
-16-bit An LV2_Atom_Vector is a 16-bit For example, an atom:Vector containing 42 elements of type atom:Float looks
like this in memory: Abstract base class for an "Object", i.e. an Atom
-with a number of properties. An LV2_Object is an unsigned 32-bit
-integer Abstract base class for an "Object", i.e. an Atom with a
+number of properties. An LV2_Object is an unsigned
+32-bit integer The Note this is an abstract class, i.e. no Atom can exist with
-type
and size
followed by
-a body
.type
and size
followed by a body
of
+size
bytes.body
.type
field is the URI of a subclass of Atom mapped to an
integer using the URI Map
-extension's LV2_URI_Map_Feature::uri_to_id with
+extension's LV2_URI_Map_Feature::uri_to_id() with
map = "http://lv2plug.in/ns/ext/event"
. If a plugin or host
does not understand type
, that atom SHOULD be gracefully ignored
(or copied if it does not have type 0).map = NULL
.
+An unsigned 32-bit integer mapped from a URI using the URI Map extension's
+LV2_URI_Map_Feature::uri_to_id() with map = NULL
.
""" .
atom:BlankID
@@ -190,11 +188,11 @@ atom:Vector
lv2:documentation """
elem_count
and elem_type
followed
-by elem_count
atom bodies of type elem_type
.
-The element type must be a fixed size Atom type, i.e. the
-size of each element is the vector's size / elem_count
.elem_count
and
+elem_type
followed by elem_count
atom bodies of type
+elem_type
. The element type must be a fixed size Atom type, i.e. the size of each element is the vector's
+size / elem_count
.key
and
+LV2_Atom_Property has an ID key
and
Atom value
.
""" .
@@ -249,23 +246,22 @@ atom:Object
rdfs:subClassOf atom:Atom ;
rdfs:label "Object" ;
lv2:documentation """
-context
and id
followed by a sequence of
-properties.context
and id
followed by a sequence
+of LV2_Atom_Property .context
is mapped using the URI Map extension's LV2_URI_Map_Feature::uri_to_id
-with map = NULL
, and may be 0 (the default context).type = uri_to_id(atom:Object)
. An Object is
-either a Resource or a Blank, but the body
always has the
-same binary format. Thus, both named and anonymous objects can be handled
-with common code using only a 64-bit header for both.map = NULL
, and may be 0
+(the default context).
Note this is an abstract class, i.e. no Atom can exist with type =
+uri_to_id(atom:Object)
. An Object is either a Resource or a Blank, but the
+body
always has the same binary format, LV2_Object. Thus, both
+named and anonymous objects can be handled with common code using only a 64-bit
+header for both.
URI
http://lv2plug.in/ns/ext/atom#blobSupport
-and data
pointing to a LV2_Blob_Support.
+MUST pass a LV2_Feature with URI
+http://lv2plug.in/ns/ext/atom#blobSupport and data
pointing to a
+LV2_Blob_Support.
""" .
atom:AtomPort
@@ -356,8 +351,8 @@ atom:AtomPort
rdfs:label "Atom Port" ;
lv2:documentation """
A port which contains an Atom. Ports of this type will
-be connected to a 32-bit aligned LV2_Atom
-immediately followed by size
bytes of data.
size
bytes of data.
This is an abstract port type, i.e. a port MUST NOT only be an AtomPort, but must be a more descriptive type that is a subclass of AtomPort which -- cgit v1.2.1