From 62a094a802a06a6606849daadf57244d6bd1f0bf Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 25 Mar 2012 01:51:32 +0000 Subject: Remove atom:MessagePort and atom:ValuePort. --- lv2/lv2plug.in/ns/ext/atom/atom.h | 2 -- lv2/lv2plug.in/ns/ext/atom/atom.ttl | 71 +++++++------------------------------ 2 files changed, 12 insertions(+), 61 deletions(-) (limited to 'lv2') diff --git a/lv2/lv2plug.in/ns/ext/atom/atom.h b/lv2/lv2plug.in/ns/ext/atom/atom.h index 0716228..3c7bee8 100644 --- a/lv2/lv2plug.in/ns/ext/atom/atom.h +++ b/lv2/lv2plug.in/ns/ext/atom/atom.h @@ -41,7 +41,6 @@ #define LV2_ATOM__Int LV2_ATOM_PREFIX "Int" #define LV2_ATOM__Long LV2_ATOM_PREFIX "Long" #define LV2_ATOM__Literal LV2_ATOM_PREFIX "Literal" -#define LV2_ATOM__MessagePort LV2_ATOM_PREFIX "MessagePort" #define LV2_ATOM__Number LV2_ATOM_PREFIX "Number" #define LV2_ATOM__Object LV2_ATOM_PREFIX "Object" #define LV2_ATOM__Path LV2_ATOM_PREFIX "Path" @@ -54,7 +53,6 @@ #define LV2_ATOM__Tuple LV2_ATOM_PREFIX "Tuple" #define LV2_ATOM__URI LV2_ATOM_PREFIX "URI" #define LV2_ATOM__URID LV2_ATOM_PREFIX "URID" -#define LV2_ATOM__ValuePort LV2_ATOM_PREFIX "ValuePort" #define LV2_ATOM__Vector LV2_ATOM_PREFIX "Vector" #define LV2_ATOM__beatTime LV2_ATOM_PREFIX "beatTime" #define LV2_ATOM__bufferType LV2_ATOM_PREFIX "bufferType" diff --git a/lv2/lv2plug.in/ns/ext/atom/atom.ttl b/lv2/lv2plug.in/ns/ext/atom/atom.ttl index 762c6b0..2cd0f59 100644 --- a/lv2/lv2plug.in/ns/ext/atom/atom.ttl +++ b/lv2/lv2plug.in/ns/ext/atom/atom.ttl @@ -53,10 +53,10 @@ that type. Similarly, plugins (such as routers, delays, or data stores) can meaningfully process atoms of a type unknown to them.

Atoms can and should be used anywhere values of various types must be stored -or transmitted. This extension defines port types, atom:ValuePort and -atom:MessagePort, which contain Atoms. The atom:Sequence type in conjunction -with atom:MessagePort is intended to replace the LV2 event extension.

+or transmitted. This extension defines a port type, atom:AtomPort, for +transmitting atoms via ports. The atom:Sequence type in an atom:AtomPort +replaces the LV2 event +extension.

The types defined in this extension should be powerful enough to express almost any structure. Implementations SHOULD build structures out of the types @@ -431,59 +431,12 @@ atom:AtomPort

A port which contains an lv2:Atom. Ports of this type are connected to an LV2_Atom with a type specified by atom:bufferType.

-

This is an abstract port type with incomplete semantics which can not be -used directly as a port type. Atom ports should be either a atom:ValuePort or -a atom:MessagePort.

- -

Output ports with a variably sized type should be initialised by the host -before every run to an atom:Chunk with size set to the available space. The -plugin must set the size and type of this atom appropriately when writing -output.

-""" . - -atom:ValuePort - a rdfs:Class ; - rdfs:subClassOf atom:AtomPort ; - rdfs:label "Value Port" ; - lv2:documentation """ -

An AtomPort that contains a persistent value. A value is -time-independent and may be used numerous times. A ValuePort is pure in -the sense that it may affect output but MUST NOT affect persistent plugin state -in any externally visible way.

- - - -

Value ports are essentially purely functional ports: if a plugin has only -value ports, that plugin is purely functional. Hosts may elect to cache output -and avoid calling run() if the output is already known according to these -rules.

-""" . - -atom:MessagePort - a rdfs:Class ; - rdfs:subClassOf atom:AtomPort ; - rdfs:label "Message Port" ; - lv2:documentation """ -

An AtomPort that contains transient data which is consumed or -sent. The Atom contained in a MessagePort is time-dependent and only -valid for a single run invocation. Unlike a ValuePort, a MessagePort may be -used to manipulate internal plugin state.

- -

Intuitively, a MessagePort contains a message or event which -is reacted to once (not a value which is computed with any -number of times).

+

Output ports with a variably sized type MUST be initialised by the host +before every run() to an atom:Chunk with size set to the available space. The +plugin reads this size to know how much space is available for writing. In all +cases, the plugin MUST write a complete atom (including header) to outputs. +However, to be robust, hosts SHOULD initialise output ports to a safe sentinel +(e.g. the null Atom) before calling run().

""" . atom:bufferType @@ -500,7 +453,7 @@ connected directly to an LV2_Atom_Double value is described like so:

 <plugin>
     lv2:port [
-        a lv2:InputPort , atom:ValuePort ;
+        a lv2:InputPort , atom:AtomPort ;
         atom:bufferType atom:Double ;
     ] .
 
@@ -532,7 +485,7 @@ MIDI events is described like so:

 <plugin>
     lv2:port [
-        a lv2:InputPort , atom:MessagePort ;
+        a lv2:InputPort , atom:AtomPort ;
         atom:bufferType atom:Sequence ;
         atom:supports midi:MidiEvent ;
     ] .
-- 
cgit v1.2.1