LV2  1.0.13
Data Structures | Macros | Typedefs
atom.h File Reference

C header for the LV2 Atom extension http://lv2plug.in/ns/ext/atom. More...

Data Structures

struct  LV2_Atom
 The header of an atom:Atom. More...
struct  LV2_Atom_Int
 An atom:Int or atom:Bool. More...
struct  LV2_Atom_Long
 An atom:Long. More...
struct  LV2_Atom_Float
 An atom:Float. More...
struct  LV2_Atom_Double
 An atom:Double. More...
struct  LV2_Atom_URID
 An atom:URID. More...
struct  LV2_Atom_String
 An atom:String. More...
struct  LV2_Atom_Literal_Body
 The body of an atom:Literal. More...
struct  LV2_Atom_Literal
 An atom:Literal. More...
struct  LV2_Atom_Tuple
 An atom:Tuple. More...
struct  LV2_Atom_Vector_Body
 The body of an atom:Vector. More...
struct  LV2_Atom_Vector
 An atom:Vector. More...
struct  LV2_Atom_Property_Body
 The body of an atom:Property (e.g. More...
struct  LV2_Atom_Property
 An atom:Property. More...
struct  LV2_Atom_Object_Body
 The body of an atom:Object. More...
struct  LV2_Atom_Object
 An atom:Object. More...
struct  LV2_Atom_Event
 The header of an atom:Event. More...
struct  LV2_Atom_Sequence_Body
 The body of an atom:Sequence (a sequence of events). More...
struct  LV2_Atom_Sequence
 An atom:Sequence. More...

Macros

#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.
#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.
#define LV2_ATOM_BODY_CONST(atom)   LV2_ATOM_CONTENTS_CONST(LV2_Atom, atom)
 Const version of LV2_ATOM_BODY.

Typedefs

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.

Detailed Description

C header for the LV2 Atom extension http://lv2plug.in/ns/ext/atom.

Macro Definition Documentation

#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.

Parameters
typeThe type of the atom, e.g. LV2_Atom_String.
atomA 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 Documentation

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.

An atom:Bool.

May be cast to LV2_Atom.