From 7234b0f5d3e765ab4f6385036a218cc410284d68 Mon Sep 17 00:00:00 2001 From: ddennedy Date: Thu, 28 Feb 2008 07:48:21 +0000 Subject: [PATCH] framework/Makefile, metaschema.yaml: add a Kwalify schema for metadata producer_avformat.yml: update to schema git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@1085 d19143bc-622f-0410-bfdd-b5b2a6649095 --- src/framework/Makefile | 3 + src/framework/metaschema.yaml | 129 ++++++++++++++++++++++++++++ src/modules/avformat/producer_avformat.yml | 2 +- 3 files changed, 133 insertions(+), 1 deletions(-) create mode 100644 src/framework/metaschema.yaml diff --git a/src/framework/Makefile b/src/framework/Makefile index 8dcf6b4..e423319 100644 --- a/src/framework/Makefile +++ b/src/framework/Makefile @@ -90,12 +90,15 @@ install: ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(NAME) install -d "$(DESTDIR)$(prefix)/include/mlt/framework" install -m 644 $(INCS) "$(DESTDIR)$(prefix)/include/mlt/framework" + install -d "$(DESTDIR)$(prefix)/share/mlt" + install -m 644 metaschema.yaml "$(DESTDIR)$(prefix)/share/mlt/" uninstall: rm -f "$(DESTDIR)$(libdir)/$(TARGET)" rm -f "$(DESTDIR)$(libdir)/$(SONAME)" rm -f "$(DESTDIR)$(libdir)/$(NAME)" rm -rf "$(DESTDIR)$(prefix)/include/mlt/framework" + rm "$(DESTDIR)$(prefix)/share/mlt/metaschema.yaml" ifneq ($(wildcard .depend),) include .depend diff --git a/src/framework/metaschema.yaml b/src/framework/metaschema.yaml new file mode 100644 index 0000000..eccb1fd --- /dev/null +++ b/src/framework/metaschema.yaml @@ -0,0 +1,129 @@ +--- # A metadata schema in Kwalify: http://www.kuwata-lab.com/kwalify/ +# Version: 0.2 +type: map +mapping: + "schema_version": # This should match the version comment above + type: float + required: yes + "type": # A service type + type: str + required: yes + enum: [consumer, filter, producer, transition] + "identifier": # The same value used to register and create the service + type: str + required: yes + unique: yes + "title": # The UI can use this for a field label + type: str + "copyright": # Who owns the rights to the module and/or service? + type: str + "version": # The version of the service implementation + type: text + "license": # The software license for the service implementation + type: str + "language": # A 2 character ISO 639-1 language code + type: str + required: yes + "url": # A hyperlink to a related website + type: str + "creator": # The name and/or e-mail address of the original author + type: str + "contributor": # The name and/or e-mail of all source code contributors + type: seq + sequence: + - type: str + "tags": # A set of categories, this might become an enum + type: seq + sequence: + - type: str + "description": # A slightly longer description than title + type: str + "icon": # A graphical representation of the effect + type: map + mapping: + "filename": + type: str + "content-type": + type: str + "content-encoding": + type: str + "content": + type: str + "notes": # Details about the usage and/or implementation - can be long + type: str + "bugs": # A list of known problems that users can try to avoid + type: seq + sequence: + - type: str # Can be a sentence or paragraph, preferably not a hyperlink + "parameters": # A list of all of the options for the service + type: seq + sequence: + - type: map + mapping: + "identifier": # The key that must be used to set the mlt_property + type: str + required: yes + "type": # An mlt_property_type + type: str + enum: + - float + - geometry + - integer + - properties # for passing options to encapsulated services + - string + - time # currently, mlt_position (frame), soon to be a time value + "service-name": # for type: properties, a reference to another service + type: str # format: type.service, e.g. transition.composite + "title": # A UI can use this for a field label + type: str + "description": # A UI can use this for a tool tip or what's-this + type: str + "readonly": # If you set this property, it will be ignored + type: bool + default: no + "required": # Is this property required? + type: bool + default: no + "mutable": # The service will change behavior if this is set after + # processing the first frame + type: bool + default: no + "widget": # A hint to the UI about how to let the user set this + type: str + enum: + - checkbox + - color + - combo + - curve + - directory + - fileopen + - filesave + - font + - knob + - listbox + - dropdown # aka HTML select or GtkOptionMenu + - radio + - rectangle # for use with type: geometry + - slider + - spinner + - text + - textbox # multi-line + - timecode + "minimum": # For numeric types, the minimal value + type: number + "maximum": # For numeric types, the maximal value + type: number + "default": # The default value to be used in a UI + type: scalar # If not specified, the UI might be able to display + # this as blank + "unit": # A UI can display this as a label after the widget (e.g. %) + type: str + "scale": # the number of digits after decimal point when type: float + type: int + "format": # A hint about a custom string encoding, possibly scanf + "values": # A list of acceptable string values + type: seq # A UI can allow something outside the list with + # widget: combo or if "other" is in this sequence + sequence: + - type: scalar + diff --git a/src/modules/avformat/producer_avformat.yml b/src/modules/avformat/producer_avformat.yml index 958eeb6..fae1274 100644 --- a/src/modules/avformat/producer_avformat.yml +++ b/src/modules/avformat/producer_avformat.yml @@ -1,4 +1,4 @@ -schema version: 0.1 +schema_version: 0.2 type: producer # consumer, filter, producer, or transition identifier: avformat title: FFmpeg Reader -- 1.7.4.4