MLT 7.8.0
mlt_events.h
Go to the documentation of this file.
1
23#ifndef MLT_EVENTS_H
24#define MLT_EVENTS_H
25
26#include "mlt_types.h"
27
29typedef struct {
30 union {
31 int i;
32 void *p;
33 } u;
35
37typedef struct {
38 void **thread;
39 int *priority;
41 void *data;
43
49typedef void ( *mlt_listener )( mlt_properties, void*, mlt_event_data );
50
51extern void mlt_events_init( mlt_properties self );
52extern int mlt_events_register( mlt_properties self, const char *id );
53extern int mlt_events_fire( mlt_properties self, const char *id, mlt_event_data );
54extern mlt_event mlt_events_listen( mlt_properties self, void *listener_data, const char *id, mlt_listener listener );
55extern void mlt_events_block( mlt_properties self, void *listener_data );
56extern void mlt_events_unblock( mlt_properties self, void *listener_data );
57extern void mlt_events_disconnect( mlt_properties self, void *listener_data );
58
59extern mlt_event mlt_events_setup_wait_for( mlt_properties self, const char *id );
60extern void mlt_events_wait_for( mlt_properties self, mlt_event event );
62
63extern void mlt_event_inc_ref( mlt_event self );
64extern void mlt_event_block( mlt_event self );
65extern void mlt_event_unblock( mlt_event self );
66extern void mlt_event_close( mlt_event self );
67
77
78#endif
void mlt_events_init(mlt_properties self)
int mlt_event_data_to_int(mlt_event_data)
void mlt_event_unblock(mlt_event self)
mlt_event mlt_events_listen(mlt_properties self, void *listener_data, const char *id, mlt_listener listener)
void * mlt_event_data_to_object(mlt_event_data)
void mlt_event_inc_ref(mlt_event self)
void mlt_event_block(mlt_event self)
void mlt_event_close(mlt_event self)
mlt_event_data mlt_event_data_from_string(const char *value)
int mlt_events_fire(mlt_properties self, const char *id, mlt_event_data)
void(* mlt_listener)(mlt_properties, void *, mlt_event_data)
event handler when receiving an event message
Definition: mlt_events.h:49
void mlt_events_wait_for(mlt_properties self, mlt_event event)
int mlt_events_register(mlt_properties self, const char *id)
const char * mlt_event_data_to_string(mlt_event_data)
mlt_event_data mlt_event_data_from_frame(mlt_frame)
mlt_event_data mlt_event_data_from_int(int value)
mlt_event mlt_events_setup_wait_for(mlt_properties self, const char *id)
void mlt_events_disconnect(mlt_properties self, void *listener_data)
mlt_event_data mlt_event_data_from_object(void *)
void mlt_events_close_wait_for(mlt_properties self, mlt_event event)
mlt_frame mlt_event_data_to_frame(mlt_event_data)
void mlt_events_block(mlt_properties self, void *listener_data)
void mlt_events_unblock(mlt_properties self, void *listener_data)
mlt_event_data mlt_event_data_none()
Provides forward definitions of all public types.
void *(* mlt_thread_function_t)(void *)
generic thread function pointer
Definition: mlt_types.h:235
struct mlt_properties_s * mlt_properties
pointer to Properties object
Definition: mlt_types.h:209
An event data structure to convey thread parameters.
Definition: mlt_events.h:37
int * priority
a priority level for the thread
Definition: mlt_events.h:39
void ** thread
a pointer to a thread object or handle as determined by you
Definition: mlt_events.h:38
mlt_thread_function_t function
a pointer to the function that thread will run
Definition: mlt_events.h:40
void * data
an opaque data pointer to pass along
Definition: mlt_events.h:41
A container for data that may be supplied with an event.
Definition: mlt_events.h:29
int i
Definition: mlt_events.h:31
void * p
Definition: mlt_events.h:32
Event class.
Definition: mlt_events.c:61
Frame class.
Definition: mlt_frame.h:76
Properties class.
Definition: mlt_properties.h:40