LV2  1.0.13
Data Structures | Macros | Typedefs | Variables
event.h File Reference

C API for the LV2 Event extension http://lv2plug.in/ns/ext/event. More...

Data Structures

struct  LV2_Event
 An LV2 event (header only). More...
struct  LV2_Event_Buffer
 A buffer of LV2 events (header only). More...
struct  LV2_Event_Feature
 Non-POD events feature. More...

Macros

#define LV2_EVENT_URI   "http://lv2plug.in/ns/ext/event"
#define LV2_EVENT_PREFIX   LV2_EVENT_URI "#"
#define LV2_EVENT__Event   LV2_EVENT_PREFIX "Event"
#define LV2_EVENT__EventPort   LV2_EVENT_PREFIX "EventPort"
#define LV2_EVENT__FrameStamp   LV2_EVENT_PREFIX "FrameStamp"
#define LV2_EVENT__TimeStamp   LV2_EVENT_PREFIX "TimeStamp"
#define LV2_EVENT__generatesTimeStamp   LV2_EVENT_PREFIX "generatesTimeStamp"
#define LV2_EVENT__generic   LV2_EVENT_PREFIX "generic"
#define LV2_EVENT__inheritsEvent   LV2_EVENT_PREFIX "inheritsEvent"
#define LV2_EVENT__inheritsTimeStamp   LV2_EVENT_PREFIX "inheritsTimeStamp"
#define LV2_EVENT__supportsEvent   LV2_EVENT_PREFIX "supportsEvent"
#define LV2_EVENT__supportsTimeStamp   LV2_EVENT_PREFIX "supportsTimeStamp"
#define LV2_EVENT_AUDIO_STAMP   0

Typedefs

typedef void * LV2_Event_Callback_Data
 Opaque pointer to host data.

Variables

static const uint32_t LV2_EVENT_PPQN = 3136573440U
 The best Pulses Per Quarter Note for tempo-based uint32_t timestamps.

Detailed Description

C API for the LV2 Event extension http://lv2plug.in/ns/ext/event.

This extension is a generic transport mechanism for time stamped events of any type (e.g. MIDI, OSC, ramps, etc). Each port can transport mixed events of any type; the type of events and timestamps are defined by a URI which is mapped to an integer by the host for performance reasons.

This extension requires the host to support the LV2 URI Map extension. Any host which supports this extension MUST guarantee that any call to the LV2 URI Map uri_to_id function with the URI of this extension as the 'map' argument returns a value within the range of uint16_t.

Macro Definition Documentation

#define LV2_EVENT_URI   "http://lv2plug.in/ns/ext/event"
#define LV2_EVENT_PREFIX   LV2_EVENT_URI "#"
#define LV2_EVENT__Event   LV2_EVENT_PREFIX "Event"
#define LV2_EVENT__EventPort   LV2_EVENT_PREFIX "EventPort"
#define LV2_EVENT__FrameStamp   LV2_EVENT_PREFIX "FrameStamp"
#define LV2_EVENT__TimeStamp   LV2_EVENT_PREFIX "TimeStamp"
#define LV2_EVENT__generatesTimeStamp   LV2_EVENT_PREFIX "generatesTimeStamp"
#define LV2_EVENT__generic   LV2_EVENT_PREFIX "generic"
#define LV2_EVENT__inheritsEvent   LV2_EVENT_PREFIX "inheritsEvent"
#define LV2_EVENT__inheritsTimeStamp   LV2_EVENT_PREFIX "inheritsTimeStamp"
#define LV2_EVENT__supportsEvent   LV2_EVENT_PREFIX "supportsEvent"
#define LV2_EVENT__supportsTimeStamp   LV2_EVENT_PREFIX "supportsTimeStamp"
#define LV2_EVENT_AUDIO_STAMP   0

Typedef Documentation

typedef void* LV2_Event_Callback_Data

Opaque pointer to host data.

Variable Documentation

const uint32_t LV2_EVENT_PPQN = 3136573440U
static

The best Pulses Per Quarter Note for tempo-based uint32_t timestamps.

Equal to 2^12 * 5 * 7 * 9 * 11 * 13 * 17, which is evenly divisble by all integers from 1 through 18 inclusive, and powers of 2 up to 2^12.