MLT  7.24.0
mlt_repository.h
Go to the documentation of this file.
1 
23 #ifndef MLT_REPOSITORY_H
24 #define MLT_REPOSITORY_H
25 
26 #include "mlt_profile.h"
27 #include "mlt_types.h"
28 
36 
40 typedef void *(*mlt_register_callback)(mlt_profile,
42  const char * /* service name */,
43  const void * /* arg */);
44 
49  const char * /* service name */,
50  void * /* callback_data */);
51 
53 #define MLT_REPOSITORY void mlt_register(mlt_repository repository)
54 
56 #define MLT_REGISTER(type, service, symbol) \
57  (mlt_repository_register(repository, (type), (service), (mlt_register_callback) (symbol)))
58 
60 #define MLT_REGISTER_METADATA(type, service, callback, data) \
61  (mlt_repository_register_metadata(repository, \
62  (type), \
63  (service), \
64  (mlt_metadata_callback) (callback), \
65  (data)))
66 
67 extern mlt_repository mlt_repository_init(const char *directory);
69  mlt_service_type service_type,
70  const char *service,
73  mlt_profile profile,
74  mlt_service_type type,
75  const char *service,
76  const void *arg);
84  mlt_service_type type,
85  const char *service,
87  void *callback_data);
89  mlt_service_type type,
90  const char *service);
93 
94 #endif
video output definition
void(* mlt_repository_callback)(mlt_repository)
This callback is the main entry point into a module, which must be exported with the symbol "mlt_regi...
Definition: mlt_repository.h:35
mlt_properties(* mlt_metadata_callback)(mlt_service_type, const char *, void *)
The callback function that modules implement to supply metadata as a properties list.
Definition: mlt_repository.h:48
void *(* mlt_register_callback)(mlt_profile, mlt_service_type, const char *, const void *)
The callback function that modules implement to construct a service.
Definition: mlt_repository.h:40
Provides forward definitions of all public types.
struct mlt_profile_s * mlt_profile
pointer to Profile object
Definition: mlt_types.h:260
mlt_service_type
The recognized subclasses of mlt_service.
Definition: mlt_types.h:194
struct mlt_repository_s * mlt_repository
pointer to Repository object
Definition: mlt_types.h:261
struct mlt_properties_s * mlt_properties
pointer to Properties object
Definition: mlt_types.h:245
Profile class.
Definition: mlt_profile.h:35
Properties class.
Definition: mlt_properties.h:40
Repository class.
Definition: mlt_repository.c:46
mlt_repository mlt_repository_init(const char *directory)
Construct a new repository.
Definition: mlt_repository.c:62
mlt_properties mlt_repository_producers(mlt_repository self)
Get the list of registered producers.
Definition: mlt_repository.c:391
mlt_properties mlt_repository_links(mlt_repository self)
Get the list of registered links.
Definition: mlt_repository.c:379
mlt_properties mlt_repository_languages(mlt_repository self)
Return a list of user-preferred language codes taken from environment variables.
Definition: mlt_repository.c:517
mlt_properties mlt_repository_transitions(mlt_repository self)
Get the list of registered transitions.
Definition: mlt_repository.c:403
void mlt_repository_register_metadata(mlt_repository self, mlt_service_type type, const char *service, mlt_metadata_callback callback, void *callback_data)
Register the metadata for a service.
Definition: mlt_repository.c:421
mlt_properties mlt_repository_presets()
Get the list of presets.
Definition: mlt_repository.c:606
void mlt_repository_register(mlt_repository self, mlt_service_type service_type, const char *service, mlt_register_callback symbol)
Register a service with the repository.
Definition: mlt_repository.c:214
void * mlt_repository_create(mlt_repository self, mlt_profile profile, mlt_service_type type, const char *service, const void *input)
Construct a new instance of a service.
Definition: mlt_repository.c:315
mlt_properties mlt_repository_metadata(mlt_repository self, mlt_service_type type, const char *service)
Get the metadata about a service.
Definition: mlt_repository.c:443
void mlt_repository_close(mlt_repository self)
Destroy a repository and free its resources.
Definition: mlt_repository.c:337
mlt_properties mlt_repository_filters(mlt_repository self)
Get the list of registered filters.
Definition: mlt_repository.c:367
mlt_properties mlt_repository_consumers(mlt_repository self)
Get the list of registered consumers.
Definition: mlt_repository.c:355