|
mlt 0.7.6
|
00001 00024 #ifndef _MLT_MULITRACK_H_ 00025 #define _MLT_MULITRACK_H_ 00026 00027 #include "mlt_producer.h" 00028 00032 struct mlt_track_s 00033 { 00034 mlt_producer producer; 00035 mlt_event event; 00036 }; 00037 00038 typedef struct mlt_track_s *mlt_track; 00039 00048 struct mlt_multitrack_s 00049 { 00051 struct mlt_producer_s parent; 00052 mlt_track *list; 00053 int size; 00054 int count; 00055 }; 00056 00057 #define MLT_MULTITRACK_PRODUCER( multitrack ) ( &( multitrack )->parent ) 00058 #define MLT_MULTITRACK_SERVICE( multitrack ) MLT_PRODUCER_SERVICE( MLT_MULTITRACK_PRODUCER( multitrack ) ) 00059 #define MLT_MULTITRACK_PROPERTIES( multitrack ) MLT_SERVICE_PROPERTIES( MLT_MULTITRACK_SERVICE( multitrack ) ) 00060 00061 extern mlt_multitrack mlt_multitrack_init( ); 00062 extern mlt_producer mlt_multitrack_producer( mlt_multitrack self ); 00063 extern mlt_service mlt_multitrack_service( mlt_multitrack self ); 00064 extern mlt_properties mlt_multitrack_properties( mlt_multitrack self ); 00065 extern int mlt_multitrack_connect( mlt_multitrack self, mlt_producer producer, int track ); 00066 extern mlt_position mlt_multitrack_clip( mlt_multitrack self, mlt_whence whence, int index ); 00067 extern void mlt_multitrack_close( mlt_multitrack self ); 00068 extern int mlt_multitrack_count( mlt_multitrack self ); 00069 extern void mlt_multitrack_refresh( mlt_multitrack self ); 00070 extern mlt_producer mlt_multitrack_track( mlt_multitrack self, int track ); 00071 00072 #endif 00073
1.7.3