00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef LV2_EVENT_H
00022 #define LV2_EVENT_H
00023
00024 #define LV2_EVENT_URI "http://lv2plug.in/ns/ext/event"
00025 #define LV2_EVENT_AUDIO_STAMP 0
00026
00027 #include <stdint.h>
00028
00049 static const uint32_t LV2_EVENT_PPQN = 3136573440U;
00050
00051
00065 typedef struct {
00066
00072 uint32_t frames;
00073
00078 uint32_t subframes;
00079
00095 uint16_t type;
00096
00100 uint16_t size;
00101
00102
00103
00104 } LV2_Event;
00105
00106
00107
00123 typedef struct {
00124
00130 uint8_t* data;
00131
00138 uint16_t header_size;
00139
00160 uint16_t stamp_type;
00161
00170 uint32_t event_count;
00171
00176 uint32_t capacity;
00177
00188 uint32_t size;
00189
00190 } LV2_Event_Buffer;
00191
00192
00194 typedef void* LV2_Event_Callback_Data;
00195
00196
00203 typedef struct {
00204
00210 LV2_Event_Callback_Data callback_data;
00211
00232 uint32_t (*lv2_event_ref)(LV2_Event_Callback_Data callback_data,
00233 LV2_Event* event);
00234
00253 uint32_t (*lv2_event_unref)(LV2_Event_Callback_Data callback_data,
00254 LV2_Event* event);
00255
00256 } LV2_Event_Feature;
00257
00258
00259 #endif // LV2_EVENT_H
00260