aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/lv2plug.in/ns/ext/atom/atom.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-02-17 06:12:25 +0000
committerDavid Robillard <d@drobilla.net>2012-02-17 06:12:25 +0000
commit9db204f703d338e7b6434fccdedb1050c9124bf6 (patch)
treeb106d8520cbef66efc48cff1e3fd5468c87db085 /lv2/lv2plug.in/ns/ext/atom/atom.h
parent64f7c134aabf7b336b90cf3b8954a791ae91b546 (diff)
downloadlv2-9db204f703d338e7b6434fccdedb1050c9124bf6.tar.xz
Add LV2_Atom_Port_Buffer.
Diffstat (limited to 'lv2/lv2plug.in/ns/ext/atom/atom.h')
-rw-r--r--lv2/lv2plug.in/ns/ext/atom/atom.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/lv2/lv2plug.in/ns/ext/atom/atom.h b/lv2/lv2plug.in/ns/ext/atom/atom.h
index fd0279c..66f0490 100644
--- a/lv2/lv2plug.in/ns/ext/atom/atom.h
+++ b/lv2/lv2plug.in/ns/ext/atom/atom.h
@@ -196,6 +196,29 @@ typedef struct {
/* Contents (a series of events) follow here. */
} LV2_Atom_Sequence;
+/**
+ The contents of an atom:AtomPort buffer.
+
+ This contains a pointer to an Atom, which is the data to be
+ processed/written, as well as additional metadata. This struct may be
+ augmented in the future to add more metadata fields as they become
+ necessary. The initial version of this struct contains data, size, and
+ capacity. Implementations MUST check that any other fields they wish to use
+ are actually present by comparing the size with the offset of that field,
+ e.g.:
+
+ @code
+ if (offsetof(LV2_Atom_Port_Buffer, field) < buf->size) {
+ do_stuff_with(buf->field);
+ }
+ @endcode
+*/
+typedef struct {
+ LV2_Atom* data; /** Pointer to data. */
+ uint32_t size; /** Total size of this struct. */
+ uint32_t capacity; /** Available space for data body. */
+} LV2_Atom_Port_Buffer;
+
#ifdef __cplusplus
} /* extern "C" */
#endif