X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmodules%2Fplus%2Ffactory.c;h=2666f7ffb437774eddf4951dc7f06b544677981e;hb=e89b21b07607ae485f56b32f3e67f83f528f2ae6;hp=f993b914c064fe988eb505591d06f7529326a988;hpb=dc6eb42c57d2f1111d87d8b9544e158b86a441f8;p=melted diff --git a/src/modules/plus/factory.c b/src/modules/plus/factory.c index f993b91..2666f7f 100644 --- a/src/modules/plus/factory.c +++ b/src/modules/plus/factory.c @@ -3,55 +3,35 @@ * Copyright (C) 2003-2004 Ushodaya Enterprises Limited * Author: Charles Yates * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. * - * This program is distributed in the hope that it will be useful, + * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #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 ); }