|
mlt 0.7.6
|
00001 00025 #ifndef _MLT_REPOSITORY_H_ 00026 #define _MLT_REPOSITORY_H_ 00027 00028 #include "mlt_types.h" 00029 #include "mlt_profile.h" 00030 00037 typedef void ( *mlt_repository_callback )( mlt_repository ); 00038 00042 typedef void *( *mlt_register_callback )( mlt_profile, mlt_service_type, const char * /* service name */, const void * /* arg */ ); 00043 00047 typedef mlt_properties ( *mlt_metadata_callback )( mlt_service_type, const char * /* service name */, void * /* callback_data */ ); 00048 00050 #define MLT_REPOSITORY void mlt_register( mlt_repository repository ) 00051 00053 #define MLT_REGISTER( type, service, symbol ) ( mlt_repository_register( repository, (type), (service), ( mlt_register_callback )(symbol) ) ) 00054 00056 #define MLT_REGISTER_METADATA( type, service, callback, data ) ( mlt_repository_register_metadata( repository, (type), (service), ( mlt_metadata_callback )(callback), (data) ) ) 00057 00058 extern mlt_repository mlt_repository_init( const char *directory ); 00059 extern void mlt_repository_register( mlt_repository self, mlt_service_type service_type, const char *service, mlt_register_callback ); 00060 extern void *mlt_repository_create( mlt_repository self, mlt_profile profile, mlt_service_type type, const char *service, const void *arg ); 00061 extern void mlt_repository_close( mlt_repository self ); 00062 extern mlt_properties mlt_repository_consumers( mlt_repository self ); 00063 extern mlt_properties mlt_repository_filters( mlt_repository self ); 00064 extern mlt_properties mlt_repository_producers( mlt_repository self ); 00065 extern mlt_properties mlt_repository_transitions( mlt_repository self ); 00066 extern void mlt_repository_register_metadata( mlt_repository self, mlt_service_type type, const char *service, mlt_metadata_callback, void *callback_data ); 00067 extern mlt_properties mlt_repository_metadata( mlt_repository self, mlt_service_type type, const char *service ); 00068 extern mlt_properties mlt_repository_languages( mlt_repository self ); 00069 extern mlt_properties mlt_repository_presets( ); 00070 00071 #endif 00072
1.7.3