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.