aboutsummaryrefslogtreecommitdiffstats
path: root/ext/atom.lv2/atom.ttl
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-07-23 03:24:08 +0000
committerDavid Robillard <d@drobilla.net>2011-07-23 03:24:08 +0000
commit3920c3947d7c092d684ebbc92d080beef20cbfe9 (patch)
tree137ec28a844f361488b6a84708130a1cecbf76a6 /ext/atom.lv2/atom.ttl
parente417a0f26c43293b92e5086129d41b29560f8daa (diff)
downloadlv2-3920c3947d7c092d684ebbc92d080beef20cbfe9.tar.xz
Move reference and blob stuff from atom extension to a separate "reference" extension.
Diffstat (limited to 'ext/atom.lv2/atom.ttl')
-rw-r--r--ext/atom.lv2/atom.ttl85
1 files changed, 21 insertions, 64 deletions
diff --git a/ext/atom.lv2/atom.ttl b/ext/atom.lv2/atom.ttl
index 25318d9..2043fbd 100644
--- a/ext/atom.lv2/atom.ttl
+++ b/ext/atom.lv2/atom.ttl
@@ -1,23 +1,17 @@
# LV2 Atom Extension
-# Copyright (C) 2007-2011 David Robillard <d@drobilla.net>
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
-# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-# OTHER DEALINGS IN THE SOFTWARE.
+# Copyright 2007-2011 David Robillard <d@drobilla.net>
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix doap: <http://usefulinc.com/ns/doap#> .
@@ -63,14 +57,6 @@ implementations to be polymorphic and extensible.</p>
<p>Atoms (the start of the LV2_Atom header) MUST be 32-bit aligned.</p>
-<p>Optionally, the host MAY implement <a href="#blobSupport">blob support</a>.
-A <a href="#Blob">Blob</a> is a dynamically allocated chunk of memory
-that (unlike an Atom) is not necessarily POD. Blobs are accessed via a
-<a href="#Reference">Reference</a>, which is a special case of Atom that
-always has <code>type = 0</code>, is not POD, and can only be copied using
-host provided functions. This allows plugins and hosts to work with data
-of any type at all.</p>
-
<p>Atoms can be communicated in many ways. Since an Atom is the payload of an
Event, an <a href="http://lv2plug.in/ns/ext/event#EventPort">EventPort</a>
can be used for communicating Atoms in realtime with sub-sample time stamp
@@ -100,27 +86,14 @@ extension's <a href="urn:struct:LV2_URI_Map_Feature"
>LV2_URI_Map_Feature</a>::uri_to_id with
<code>map = "http://lv2plug.in/ns/ext/event"</code>. If a plugin or host
does not understand <code>type</code>, that atom SHOULD be gracefully ignored
-(or copied if it is not a <a href="#Reference">Reference</a>).</p>
-
-<p>All atoms are POD by definition except references, which have
-<code>type = 0</code>. An Atom MUST NOT contain a Reference. It is safe
-to copy any non-reference Atom with a simple <code>memcpy</code>, even if
-the implementation does not understand <code>type</code>.</p>
-""" .
-
-
-atom:Reference a rdfs:Class ;
- rdfs:subClassOf atom:Atom ;
- rdfs:label "Reference" ;
- lv2:documentation """
-<p>Reference to a <a href="#Blob">Blob</a>. The actual contents of a Reference
-are opaque and host specific, and must not be copied, serialized, or otherwise
-interpreted by a plugin, except via functions provided by the host in
-<a href="urn:struct:LV2_Blob_Support">LV2_Blob_Support</a>.</p>
-
-<p>A Reference is a special case of Atom with <code>type = 0</code>.
-"Null" is the unique Atom with <code>type = 0</code> and
-<code>size = 0</code>.</p>
+(or copied if it does not have type 0).</p>
+
+<p>All atoms are POD by definition except references, which as a special case
+have <code>type = 0</code>. An Atom MUST NOT contain a Reference. It is safe
+to copy any non-reference Atom with a simple <code>memcpy</code>, even if the
+implementation does not understand <code>type</code>. Though this extension reserves
+the type 0 for references, actual specification of how references are used is left
+to another extension.</p>
""" .
@@ -362,22 +335,6 @@ and <code>data</code> pointing to a <a href="urn:struct:LV2_Blob_Support"
""" .
-atom:Blob a rdfs:Class ;
- rdfs:label "Blob" ;
- lv2:documentation """
-<p>Base class for all dynamically allocated blobs. An <a
-href="urn:struct:LV2_Blob" >LV2_Blob</a> ia an opaque pointer to host
-data. The type and data of a blob can be accessed via host-provided
-functions in <a href="urn:struct:LV2_Blob_Support">LV2_Blob_Support</a>.
-The type of a blob can be any URI that describes a data format. Blobs are
-always allocated by the host, and unlike atoms are not necessarily POD.</p>
-
-<p>Blob data MUST NOT be used in any way by an implementation that does not
-understand that blob type (unlike Atoms, meaningful type-oblivious use
-of a Blob is impossible).</p>
-""" .
-
-
atom:AtomPort a rdfs:Class ;
rdfs:subClassOf lv2:Port ;
rdfs:label "Atom Port" ;