|
mlt 0.7.6
|
00001 00024 #ifndef _MLT_TRANSITION_H_ 00025 #define _MLT_TRANSITION_H_ 00026 00027 #include "mlt_service.h" 00028 00041 struct mlt_transition_s 00042 { 00044 struct mlt_service_s parent; 00045 00047 void ( *close )( mlt_transition ); 00048 00050 mlt_frame ( *process )( mlt_transition, mlt_frame, mlt_frame ); 00051 00053 void *child; 00054 00056 mlt_service producer; 00057 00059 mlt_frame *frames; 00060 int held; 00061 }; 00062 00063 #define MLT_TRANSITION_SERVICE( transition ) ( &( transition )->parent ) 00064 #define MLT_TRANSITION_PROPERTIES( transition ) MLT_SERVICE_PROPERTIES( MLT_TRANSITION_SERVICE( transition ) ) 00065 00066 extern int mlt_transition_init( mlt_transition self, void *child ); 00067 extern mlt_transition mlt_transition_new( ); 00068 extern mlt_service mlt_transition_service( mlt_transition self ); 00069 extern mlt_properties mlt_transition_properties( mlt_transition self ); 00070 extern int mlt_transition_connect( mlt_transition self, mlt_service producer, int a_track, int b_track ); 00071 extern void mlt_transition_set_in_and_out( mlt_transition self, mlt_position in, mlt_position out ); 00072 extern int mlt_transition_get_a_track( mlt_transition self ); 00073 extern int mlt_transition_get_b_track( mlt_transition self ); 00074 extern mlt_position mlt_transition_get_in( mlt_transition self ); 00075 extern mlt_position mlt_transition_get_out( mlt_transition self ); 00076 extern mlt_position mlt_transition_get_length( mlt_transition self ); 00077 extern mlt_position mlt_transition_get_position( mlt_transition self, mlt_frame frame ); 00078 extern double mlt_transition_get_progress( mlt_transition self, mlt_frame frame ); 00079 extern double mlt_transition_get_progress_delta( mlt_transition self, mlt_frame frame ); 00080 extern mlt_frame mlt_transition_process( mlt_transition self, mlt_frame a_frame, mlt_frame b_frame ); 00081 extern void mlt_transition_close( mlt_transition self ); 00082 00083 #endif
1.7.3