LMMS
Loading...
Searching...
No Matches
lv2_atom.h File Reference
#include <stdint.h>
#include <stddef.h>

Go to the source code of this file.

Classes

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

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)
#define LV2_ATOM_CONTENTS_CONST(type, atom)
#define LV2_ATOM_BODY(atom)
#define LV2_ATOM_BODY_CONST(atom)

Typedefs

typedef char lv2_atom_assert_double_fits_in_64_bits[((sizeof(double)<=sizeof(uint64_t)) *2) - 1]

Macro Definition Documentation

◆ LV2_ATOM__Atom

#define LV2_ATOM__Atom   LV2_ATOM_PREFIX "Atom"

◆ LV2_ATOM__AtomPort

#define LV2_ATOM__AtomPort   LV2_ATOM_PREFIX "AtomPort"

◆ LV2_ATOM__atomTransfer

#define LV2_ATOM__atomTransfer   LV2_ATOM_PREFIX "atomTransfer"

◆ LV2_ATOM__beatTime

#define LV2_ATOM__beatTime   LV2_ATOM_PREFIX "beatTime"

◆ LV2_ATOM__Blank

#define LV2_ATOM__Blank   LV2_ATOM_PREFIX "Blank"

◆ LV2_ATOM__Bool

#define LV2_ATOM__Bool   LV2_ATOM_PREFIX "Bool"

◆ LV2_ATOM__bufferType

#define LV2_ATOM__bufferType   LV2_ATOM_PREFIX "bufferType"

◆ LV2_ATOM__childType

#define LV2_ATOM__childType   LV2_ATOM_PREFIX "childType"

◆ LV2_ATOM__Chunk

#define LV2_ATOM__Chunk   LV2_ATOM_PREFIX "Chunk"

◆ LV2_ATOM__Double

#define LV2_ATOM__Double   LV2_ATOM_PREFIX "Double"

◆ LV2_ATOM__Event

#define LV2_ATOM__Event   LV2_ATOM_PREFIX "Event"

◆ LV2_ATOM__eventTransfer

#define LV2_ATOM__eventTransfer   LV2_ATOM_PREFIX "eventTransfer"

◆ LV2_ATOM__Float

#define LV2_ATOM__Float   LV2_ATOM_PREFIX "Float"

◆ LV2_ATOM__frameTime

#define LV2_ATOM__frameTime   LV2_ATOM_PREFIX "frameTime"

◆ LV2_ATOM__Int

#define LV2_ATOM__Int   LV2_ATOM_PREFIX "Int"

◆ LV2_ATOM__Literal

#define LV2_ATOM__Literal   LV2_ATOM_PREFIX "Literal"

◆ LV2_ATOM__Long

#define LV2_ATOM__Long   LV2_ATOM_PREFIX "Long"

◆ LV2_ATOM__Number

#define LV2_ATOM__Number   LV2_ATOM_PREFIX "Number"

◆ LV2_ATOM__Object

#define LV2_ATOM__Object   LV2_ATOM_PREFIX "Object"

◆ LV2_ATOM__Path

#define LV2_ATOM__Path   LV2_ATOM_PREFIX "Path"

◆ LV2_ATOM__Property

#define LV2_ATOM__Property   LV2_ATOM_PREFIX "Property"

◆ LV2_ATOM__Resource

#define LV2_ATOM__Resource   LV2_ATOM_PREFIX "Resource"

◆ LV2_ATOM__Sequence

#define LV2_ATOM__Sequence   LV2_ATOM_PREFIX "Sequence"

◆ LV2_ATOM__Sound

#define LV2_ATOM__Sound   LV2_ATOM_PREFIX "Sound"

◆ LV2_ATOM__String

#define LV2_ATOM__String   LV2_ATOM_PREFIX "String"

◆ LV2_ATOM__supports

#define LV2_ATOM__supports   LV2_ATOM_PREFIX "supports"

◆ LV2_ATOM__timeUnit

#define LV2_ATOM__timeUnit   LV2_ATOM_PREFIX "timeUnit"

◆ LV2_ATOM__Tuple

#define LV2_ATOM__Tuple   LV2_ATOM_PREFIX "Tuple"

◆ LV2_ATOM__URI

#define LV2_ATOM__URI   LV2_ATOM_PREFIX "URI"

◆ LV2_ATOM__URID

#define LV2_ATOM__URID   LV2_ATOM_PREFIX "URID"

◆ LV2_ATOM__Vector

#define LV2_ATOM__Vector   LV2_ATOM_PREFIX "Vector"

◆ LV2_ATOM_BODY

#define LV2_ATOM_BODY ( atom)
Value:
#define LV2_ATOM_CONTENTS(type, atom)
Definition atom.h:85
Definition atom.h:106

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

◆ LV2_ATOM_BODY_CONST

#define LV2_ATOM_BODY_CONST ( atom)
Value:
#define LV2_ATOM_CONTENTS_CONST(type, atom)
Definition atom.h:91

Const version of LV2_ATOM_BODY.

◆ LV2_ATOM_CONTENTS

#define LV2_ATOM_CONTENTS ( type,
atom )
Value:
((void*)((uint8_t*)(atom) + sizeof(type)))
CAdPlugDatabase::CRecord::RecordType type
Definition adplugdb.cpp:93
unsigned char uint8_t
Definition mid.cpp:98

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.

◆ LV2_ATOM_CONTENTS_CONST

#define LV2_ATOM_CONTENTS_CONST ( type,
atom )
Value:
((const void*)((const uint8_t*)(atom) + sizeof(type)))

Const version of LV2_ATOM_CONTENTS.

◆ LV2_ATOM_PREFIX

#define LV2_ATOM_PREFIX   LV2_ATOM_URI "#"

◆ LV2_ATOM_REFERENCE_TYPE

#define LV2_ATOM_REFERENCE_TYPE   0

◆ LV2_ATOM_URI

#define LV2_ATOM_URI   "http://lv2plug.in/ns/ext/atom"

Typedef Documentation

◆ lv2_atom_assert_double_fits_in_64_bits

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.