X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmodules%2Fplus%2Ffactory.c;h=2666f7ffb437774eddf4951dc7f06b544677981e;hb=a91bf759a557ca90e7ab46bac0050cab98c96272;hp=2e3d74d8222cc63800d5f4af6f8a32881617c8c1;hpb=bf3264b9e340ba5c11cbf59835a8af3db94e0cc2;p=melted diff --git a/src/modules/plus/factory.c b/src/modules/plus/factory.c index 2e3d74d..2666f7f 100644 --- a/src/modules/plus/factory.c +++ b/src/modules/plus/factory.c @@ -19,39 +19,19 @@ */ #include +#include -#include "filter_affine.h" -#include "filter_charcoal.h" -#include "filter_invert.h" -#include "filter_sepia.h" -#include "transition_affine.h" +extern mlt_filter filter_affine_init( mlt_profile profile, mlt_service_type type, const char *id, char *arg ); +extern mlt_filter filter_charcoal_init( mlt_profile profile, mlt_service_type type, const char *id, char *arg ); +extern mlt_filter filter_invert_init( mlt_profile profile, mlt_service_type type, const char *id, char *arg ); +extern mlt_filter filter_sepia_init( mlt_profile profile, mlt_service_type type, const char *id, char *arg ); +extern mlt_transition transition_affine_init( mlt_profile profile, mlt_service_type type, const char *id, char *arg ); -void *mlt_create_producer( char *id, void *arg ) +MLT_REPOSITORY { - return NULL; -} - -void *mlt_create_filter( char *id, void *arg ) -{ - if ( !strcmp( id, "affine" ) ) - return filter_affine_init( arg ); - if ( !strcmp( id, "charcoal" ) ) - return filter_charcoal_init( arg ); - if ( !strcmp( id, "invert" ) ) - return filter_invert_init( arg ); - if ( !strcmp( id, "sepia" ) ) - return filter_sepia_init( arg ); - return NULL; -} - -void *mlt_create_transition( char *id, void *arg ) -{ - if ( !strcmp( id, "affine" ) ) - return transition_affine_init( arg ); - return NULL; -} - -void *mlt_create_consumer( char *id, void *arg ) -{ - return NULL; + MLT_REGISTER( filter_type, "affine", filter_affine_init ); + MLT_REGISTER( filter_type, "charcoal", filter_charcoal_init ); + MLT_REGISTER( filter_type, "invert", filter_invert_init ); + MLT_REGISTER( filter_type, "sepia", filter_sepia_init ); + MLT_REGISTER( transition_type, "affine", transition_affine_init ); }