]> git.sesse.net Git - mlt/commitdiff
Add service metadata to plus module (WIP).
authorDan Dennedy <dan@dennedy.org>
Mon, 30 May 2011 06:04:46 +0000 (23:04 -0700)
committerDan Dennedy <dan@dennedy.org>
Mon, 30 May 2011 06:04:46 +0000 (23:04 -0700)
src/modules/plus/Makefile
src/modules/plus/factory.c
src/modules/plus/filter_affine.yml [new file with mode: 0644]
src/modules/plus/filter_charcoal.yml [new file with mode: 0644]
src/modules/plus/filter_invert.yml [new file with mode: 0644]
src/modules/plus/filter_sepia.yml [new file with mode: 0644]
src/modules/plus/transition_affine.yml [new file with mode: 0644]

index 99faa028d721ec4111e9a1cc52d03a65c30d1f45..6a796075c79ccc2ae99c9a20fc22a3e5f2f22ca1 100644 (file)
@@ -31,6 +31,8 @@ clean:
 
 install: all
        install -m 755 $(TARGET) "$(DESTDIR)$(libdir)/mlt"
+       install -d "$(DESTDIR)$(datadir)/mlt/plus"
+       install -m 644 *.yml "$(DESTDIR)$(datadir)/mlt/plus"
 
 ifneq ($(wildcard .depend),)
 include .depend
index 2666f7ffb437774eddf4951dc7f06b544677981e..ec2b229e8cc0b96a4afc0db53ed1627479d9afa8 100644 (file)
@@ -19,6 +19,7 @@
  */
 
 #include <string.h>
+#include <limits.h>
 #include <framework/mlt.h>
 
 extern mlt_filter filter_affine_init( mlt_profile profile, mlt_service_type type, const char *id, char *arg );
@@ -27,6 +28,13 @@ extern mlt_filter filter_invert_init( mlt_profile profile, mlt_service_type type
 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 );
 
+static mlt_properties metadata( mlt_service_type type, const char *id, void *data )
+{
+       char file[ PATH_MAX ];
+       snprintf( file, PATH_MAX, "%s/plus/%s", mlt_environment( "MLT_DATA" ), (char*) data );
+       return mlt_properties_parse_yaml( file );
+}
+
 MLT_REPOSITORY
 {
        MLT_REGISTER( filter_type, "affine", filter_affine_init );
@@ -34,4 +42,10 @@ MLT_REPOSITORY
        MLT_REGISTER( filter_type, "invert", filter_invert_init );
        MLT_REGISTER( filter_type, "sepia", filter_sepia_init );
        MLT_REGISTER( transition_type, "affine", transition_affine_init );
+
+       MLT_REGISTER_METADATA( filter_type, "affine", metadata, "filter_affine.yml" );
+       MLT_REGISTER_METADATA( filter_type, "charcoal", metadata, "filter_charcoal.yml" );
+       MLT_REGISTER_METADATA( filter_type, "invert", metadata, "filter_invert.yml" );
+       MLT_REGISTER_METADATA( filter_type, "sepia", metadata, "filter_sepia.yml" );
+       MLT_REGISTER_METADATA( transition_type, "affine", metadata, "transition_affine.yml" );
 }
diff --git a/src/modules/plus/filter_affine.yml b/src/modules/plus/filter_affine.yml
new file mode 100644 (file)
index 0000000..3e436b1
--- /dev/null
@@ -0,0 +1,11 @@
+schema_version: 0.1
+type: filter
+identifier: affine
+title: Transform
+version: 1
+copyright: Ushodaya Enterprises Limited
+creator: Charles Yates
+license: LGPLv2.1
+language: en
+tags:
+  - Video
diff --git a/src/modules/plus/filter_charcoal.yml b/src/modules/plus/filter_charcoal.yml
new file mode 100644 (file)
index 0000000..eaf1230
--- /dev/null
@@ -0,0 +1,11 @@
+schema_version: 0.1
+type: filter
+identifier: charcoal
+title: Charcoal
+version: 1
+copyright: Ushodaya Enterprises Limited
+creator: Charles Yates
+license: LGPLv2.1
+language: en
+tags:
+  - Video
diff --git a/src/modules/plus/filter_invert.yml b/src/modules/plus/filter_invert.yml
new file mode 100644 (file)
index 0000000..58f8fd1
--- /dev/null
@@ -0,0 +1,11 @@
+schema_version: 0.1
+type: filter
+identifier: invert
+title: Invert
+version: 1
+copyright: Ushodaya Enterprises Limited
+creator: Charles Yates
+license: LGPLv2.1
+language: en
+tags:
+  - Video
diff --git a/src/modules/plus/filter_sepia.yml b/src/modules/plus/filter_sepia.yml
new file mode 100644 (file)
index 0000000..c080875
--- /dev/null
@@ -0,0 +1,11 @@
+schema_version: 0.1
+type: filter
+identifier: sepia
+title: Sepia
+version: 1
+copyright: Ushodaya Enterprises Limited
+creator: Charles Yates
+license: LGPLv2.1
+language: en
+tags:
+  - Video
diff --git a/src/modules/plus/transition_affine.yml b/src/modules/plus/transition_affine.yml
new file mode 100644 (file)
index 0000000..5ff99c6
--- /dev/null
@@ -0,0 +1,11 @@
+schema_version: 0.1
+type: transition
+identifier: affine
+title: Transform
+version: 1
+copyright: Ushodaya Enterprises Limited
+creator: Charles Yates
+license: LGPLv2.1
+language: en
+tags:
+  - Video