|
LV2
1.0.13
|
A generic value container and several data types, see http://lv2plug.in/ns/ext/atom for details.
Modules | |
| Forge | |
| Utilities | |
Data Structures | |
| struct | LV2_Atom |
| struct | LV2_Atom_Int |
| struct | LV2_Atom_Long |
| struct | LV2_Atom_Float |
| struct | LV2_Atom_Double |
| struct | LV2_Atom_URID |
| struct | LV2_Atom_String |
| struct | LV2_Atom_Literal_Body |
| struct | LV2_Atom_Literal |
| struct | LV2_Atom_Tuple |
| struct | LV2_Atom_Vector_Body |
| struct | LV2_Atom_Vector |
| struct | LV2_Atom_Property_Body |
| struct | LV2_Atom_Property |
| struct | LV2_Atom_Object_Body |
| struct | LV2_Atom_Object |
| struct | LV2_Atom_Event |
| struct | LV2_Atom_Sequence_Body |
| struct | LV2_Atom_Sequence |
Typedefs | |
| typedef char | lv2_atom_assert_double_fits_in_64_bits[((sizeof(double)<=sizeof(uint64_t))*2)-1] |
| typedef LV2_Atom_Int | LV2_Atom_Bool |
| struct LV2_Atom |
| struct LV2_Atom_Int |
| struct LV2_Atom_Long |
| struct LV2_Atom_Float |
| struct LV2_Atom_Double |
| struct LV2_Atom_URID |
| struct LV2_Atom_String |
| struct LV2_Atom_Literal_Body |
| struct LV2_Atom_Literal |
An atom:Literal.
May be cast to LV2_Atom.
Data Fields | |
| LV2_Atom | atom |
| LV2_Atom_Literal_Body | body |
| LV2_Atom LV2_Atom_Literal::atom |
Atom header.
| LV2_Atom_Literal_Body LV2_Atom_Literal::body |
Body.
| struct LV2_Atom_Tuple |
| struct LV2_Atom_Vector_Body |
The body of an atom:Vector.
Data Fields | |
| uint32_t | child_size |
| uint32_t | child_type |
| uint32_t LV2_Atom_Vector_Body::child_size |
The size of each element in the vector.
| uint32_t LV2_Atom_Vector_Body::child_type |
The type of each element in the vector.
| struct LV2_Atom_Vector |
An atom:Vector.
May be cast to LV2_Atom.
Data Fields | |
| LV2_Atom | atom |
| LV2_Atom_Vector_Body | body |
| LV2_Atom LV2_Atom_Vector::atom |
Atom header.
| LV2_Atom_Vector_Body LV2_Atom_Vector::body |
Body.
| struct LV2_Atom_Property_Body |
The body of an atom:Property (e.g.
in an atom:Object).
Data Fields | |
| uint32_t | key |
| uint32_t | context |
| LV2_Atom | value |
| uint32_t LV2_Atom_Property_Body::key |
Key (predicate) (mapped URI).
| uint32_t LV2_Atom_Property_Body::context |
Context URID (may be, and generally is, 0).
| LV2_Atom LV2_Atom_Property_Body::value |
Value atom header.
| struct LV2_Atom_Property |
An atom:Property.
May be cast to LV2_Atom.
Data Fields | |
| LV2_Atom | atom |
| LV2_Atom_Property_Body | body |
| LV2_Atom LV2_Atom_Property::atom |
Atom header.
| LV2_Atom_Property_Body LV2_Atom_Property::body |
Body.
| struct LV2_Atom_Object_Body |
| struct LV2_Atom_Object |
An atom:Object.
May be cast to LV2_Atom.
Data Fields | |
| LV2_Atom | atom |
| LV2_Atom_Object_Body | body |
| LV2_Atom LV2_Atom_Object::atom |
Atom header.
| LV2_Atom_Object_Body LV2_Atom_Object::body |
Body.
| struct LV2_Atom_Event |
The header of an atom:Event.
Note this type is NOT an LV2_Atom.
Data Fields | |
| union { | |
| int64_t frames | |
| double beats | |
| } | time |
| LV2_Atom | body |
| int64_t LV2_Atom_Event::frames |
Time in audio frames.
| double LV2_Atom_Event::beats |
Time in beats.
| union { ... } LV2_Atom_Event::time |
Time stamp.
Which type is valid is determined by context.
| LV2_Atom LV2_Atom_Event::body |
Event body atom header.
| struct LV2_Atom_Sequence_Body |
The body of an atom:Sequence (a sequence of events).
The unit field is either a URID that described an appropriate time stamp type, or may be 0 where a default stamp type is known. For LV2_Descriptor::run(), the default stamp type is audio frames.
The contents of a sequence is a series of LV2_Atom_Event, each aligned to 64-bits, e.g.:
| Event 1 (size 6) | Event 2 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |FRAMES |SUBFRMS|TYPE |SIZE |DATADATADATAPAD|FRAMES |SUBFRMS|...
Data Fields | |
| uint32_t | unit |
| uint32_t | pad |
| uint32_t LV2_Atom_Sequence_Body::unit |
URID of unit of event time stamps.
| uint32_t LV2_Atom_Sequence_Body::pad |
Currently unused.
| struct LV2_Atom_Sequence |
An atom:Sequence.
Data Fields | |
| LV2_Atom | atom |
| LV2_Atom_Sequence_Body | body |
| LV2_Atom LV2_Atom_Sequence::atom |
Atom header.
| LV2_Atom_Sequence_Body LV2_Atom_Sequence::body |
Body.
| #define LV2_ATOM_URI "http://lv2plug.in/ns/ext/atom" |
| #define LV2_ATOM_PREFIX LV2_ATOM_URI "#" |
| #define LV2_ATOM__Atom LV2_ATOM_PREFIX "Atom" |
| #define LV2_ATOM__AtomPort LV2_ATOM_PREFIX "AtomPort" |
| #define LV2_ATOM__Blank LV2_ATOM_PREFIX "Blank" |
| #define LV2_ATOM__Bool LV2_ATOM_PREFIX "Bool" |
| #define LV2_ATOM__Chunk LV2_ATOM_PREFIX "Chunk" |
| #define LV2_ATOM__Double LV2_ATOM_PREFIX "Double" |
| #define LV2_ATOM__Event LV2_ATOM_PREFIX "Event" |
| #define LV2_ATOM__Float LV2_ATOM_PREFIX "Float" |
| #define LV2_ATOM__Int LV2_ATOM_PREFIX "Int" |
| #define LV2_ATOM__Literal LV2_ATOM_PREFIX "Literal" |
| #define LV2_ATOM__Long LV2_ATOM_PREFIX "Long" |
| #define LV2_ATOM__Number LV2_ATOM_PREFIX "Number" |
| #define LV2_ATOM__Object LV2_ATOM_PREFIX "Object" |
| #define LV2_ATOM__Path LV2_ATOM_PREFIX "Path" |
| #define LV2_ATOM__Property LV2_ATOM_PREFIX "Property" |
| #define LV2_ATOM__Resource LV2_ATOM_PREFIX "Resource" |
| #define LV2_ATOM__Sequence LV2_ATOM_PREFIX "Sequence" |
| #define LV2_ATOM__Sound LV2_ATOM_PREFIX "Sound" |
| #define LV2_ATOM__String LV2_ATOM_PREFIX "String" |
| #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__Vector LV2_ATOM_PREFIX "Vector" |
| #define LV2_ATOM__atomTransfer LV2_ATOM_PREFIX "atomTransfer" |
| #define LV2_ATOM__beatTime LV2_ATOM_PREFIX "beatTime" |
| #define LV2_ATOM__bufferType LV2_ATOM_PREFIX "bufferType" |
| #define LV2_ATOM__childType LV2_ATOM_PREFIX "childType" |
| #define LV2_ATOM__eventTransfer LV2_ATOM_PREFIX "eventTransfer" |
| #define LV2_ATOM__frameTime LV2_ATOM_PREFIX "frameTime" |
| #define LV2_ATOM__supports LV2_ATOM_PREFIX "supports" |
| #define LV2_ATOM__timeUnit LV2_ATOM_PREFIX "timeUnit" |
| #define LV2_ATOM_REFERENCE_TYPE 0 |
| #define LV2_ATOM_CONTENTS | ( | type, | |
| atom | |||
| ) | ((void*)((uint8_t*)(atom) + sizeof(type))) |
Return a pointer to the contents of an Atom.
The "contents" of an atom is the data past the complete type-specific header.
| type | The type of the atom, e.g. LV2_Atom_String. |
| atom | A variable-sized atom. |
| #define LV2_ATOM_CONTENTS_CONST | ( | type, | |
| atom | |||
| ) | ((const void*)((const uint8_t*)(atom) + sizeof(type))) |
Const version of LV2_ATOM_CONTENTS.
| #define LV2_ATOM_BODY | ( | atom | ) | LV2_ATOM_CONTENTS(LV2_Atom, atom) |
Return a pointer to the body of an Atom.
The "body" of an atom is the data just past the LV2_Atom head (i.e. the same offset for all types).
| #define LV2_ATOM_BODY_CONST | ( | atom | ) | LV2_ATOM_CONTENTS_CONST(LV2_Atom, atom) |
Const version of LV2_ATOM_BODY.
| typedef char lv2_atom_assert_double_fits_in_64_bits[((sizeof(double)<=sizeof(uint64_t))*2)-1] |
This expression will fail to compile if double does not fit in 64 bits.
| typedef LV2_Atom_Int LV2_Atom_Bool |
An atom:Bool.
May be cast to LV2_Atom.
1.8.11