]> git.sesse.net Git - mlt/blobdiff - src/modules/plusgpl/factory.c
Move burningtv into plusgpl module.
[mlt] / src / modules / plusgpl / factory.c
index e0f2825f7d590f566cf42f75996397ee3b49bb1f..9a89e3047391a8b4318ba6561263245a6aaac7a9 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * factory.c -- the factory method interfaces
- * Copyright (C) 2008 Dan Dennedy <dan@dennedy.org>
+ * Copyright (C) 2008-2014 Dan Dennedy <dan@dennedy.org>
  *
  * 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
 
 #include <string.h>
 #include <framework/mlt.h>
+#include <limits.h>
 
+extern mlt_filter filter_burn_init( mlt_profile profile, mlt_service_type type, const char *id, char *arg );
 extern mlt_filter filter_telecide_init( mlt_profile profile, mlt_service_type type, const char *id, char *arg );
 
+static mlt_properties metadata( mlt_service_type type, const char *id, void *data )
+{
+       char file[ PATH_MAX ];
+       snprintf( file, PATH_MAX, "%s/plusgpl/%s", mlt_environment( "MLT_DATA" ), (char*) data );
+       return mlt_properties_parse_yaml( file );
+}
+
 MLT_REPOSITORY
 {
+       MLT_REGISTER( filter_type, "BurningTV", filter_burn_init );
+       MLT_REGISTER( filter_type, "burningtv", filter_burn_init );
        MLT_REGISTER( filter_type, "telecide", filter_telecide_init );
+
+       MLT_REGISTER_METADATA( filter_type, "BurningTV", metadata, "filter_burningtv.yml" );
+       MLT_REGISTER_METADATA( filter_type, "burningtv", metadata, "filter_burningtv.yml" );
 }