23 #ifndef MLT_REPOSITORY_H
24 #define MLT_REPOSITORY_H
53 #define MLT_REPOSITORY void mlt_register(mlt_repository repository)
56 #define MLT_REGISTER(type, service, symbol) \
57 (mlt_repository_register(repository, (type), (service), (mlt_register_callback) (symbol)))
60 #define MLT_REGISTER_METADATA(type, service, callback, data) \
61 (mlt_repository_register_metadata(repository, \
64 (mlt_metadata_callback) (callback), \
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:522
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:611
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