From 085dc3ca94c547ed3834ec944f0a3f7d92a3d9e2 Mon Sep 17 00:00:00 2001 From: Dan Dennedy Date: Sun, 29 May 2011 23:04:46 -0700 Subject: [PATCH] Add service metadata to plus module (WIP). --- src/modules/plus/Makefile | 2 ++ src/modules/plus/factory.c | 14 ++++++++++++++ src/modules/plus/filter_affine.yml | 11 +++++++++++ src/modules/plus/filter_charcoal.yml | 11 +++++++++++ src/modules/plus/filter_invert.yml | 11 +++++++++++ src/modules/plus/filter_sepia.yml | 11 +++++++++++ src/modules/plus/transition_affine.yml | 11 +++++++++++ 7 files changed, 71 insertions(+) create mode 100644 src/modules/plus/filter_affine.yml create mode 100644 src/modules/plus/filter_charcoal.yml create mode 100644 src/modules/plus/filter_invert.yml create mode 100644 src/modules/plus/filter_sepia.yml create mode 100644 src/modules/plus/transition_affine.yml diff --git a/src/modules/plus/Makefile b/src/modules/plus/Makefile index 99faa028..6a796075 100644 --- a/src/modules/plus/Makefile +++ b/src/modules/plus/Makefile @@ -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 diff --git a/src/modules/plus/factory.c b/src/modules/plus/factory.c index 2666f7ff..ec2b229e 100644 --- a/src/modules/plus/factory.c +++ b/src/modules/plus/factory.c @@ -19,6 +19,7 @@ */ #include +#include #include 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 index 00000000..3e436b10 --- /dev/null +++ b/src/modules/plus/filter_affine.yml @@ -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 index 00000000..eaf12304 --- /dev/null +++ b/src/modules/plus/filter_charcoal.yml @@ -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 index 00000000..58f8fd12 --- /dev/null +++ b/src/modules/plus/filter_invert.yml @@ -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 index 00000000..c0808750 --- /dev/null +++ b/src/modules/plus/filter_sepia.yml @@ -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 index 00000000..5ff99c6b --- /dev/null +++ b/src/modules/plus/transition_affine.yml @@ -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 -- 2.39.2