]> git.sesse.net Git - mlt/commitdiff
Convert services.txt to metadata YAML (WIP).
authorDan Dennedy <dan@dennedy.org>
Fri, 8 Jul 2011 04:36:53 +0000 (21:36 -0700)
committerDan Dennedy <dan@dennedy.org>
Fri, 8 Jul 2011 04:36:53 +0000 (21:36 -0700)
Patch by Brian Matherly.

12 files changed:
src/modules/core/filter_data_show.yml
src/modules/core/filter_gamma.yml
src/modules/core/filter_greyscale.yml
src/modules/core/filter_luma.yml
src/modules/core/filter_watermark.yml
src/modules/core/producer_colour.yml
src/modules/core/producer_noise.yml
src/modules/dv/producer_libdv.yml
src/modules/gtk2/producer_pango.yml
src/modules/gtk2/producer_pixbuf.yml
src/modules/vorbis/producer_vorbis.yml
src/modules/xml/producer_xml.yml

index b15678d39a5be0d47b369367b7d853a3961d1b6a..e289b3d84b6485998ffb42f9092b440125ef25d6 100644 (file)
@@ -9,3 +9,50 @@ license: LGPLv2.1
 language: en
 tags:
   - Video
+description: Show data based on properties of the producer.
+notes: |
+  The data show filter uses data provided by the data feed filter.
+  The producer properties must supply: >
+    * The keyword text to be inserted in the form of: 
+    meta.attr.[keyword].markup=[text to insert]
+  
+    * The name of the properties to be used from the feed file in the form of: 
+    meta.attr.[name]=1
+  
+    * The text to be displayed in the form of: 
+    meta.attr.[name].markup=[some text #keyword#] 
+    (Keyword text is enclosed between #s.)
+  
+  e.g.
+  melt file.dv meta.attr.sometext.markup="this is some text" meta.attr.titles=1 meta.attr.titles.markup=#sometext# -filter data_show dynamic=1
+  >
+  Two special keywords exist
+  * #timecode# shows the frame position as a timecode.
+  * #frame# shows the frame position as an integer.
+  e.g.
+  melt file.dv meta.attr.timecode=1 meta.attr.timecode.markup=#timecode# -attach data_feed:attr_check -attach data_show:custom_file.properties dynamic=1
+  (where the file "custom_file" contains a filter definition by the name of "timecode")
+parameters:
+  - identifier: argument
+    title: Feed Properties File
+    type: string
+    required: no
+    readonly: no
+    default: data_fx.properties
+    widget: fileopen
+
+  - identifier: resource
+    title: Feed Properties File
+    type: string
+    required: no
+    readonly: yes
+    default: data_fx.properties
+    widget: fileopen
+
+  - identifier: dynamic
+    title: Dynamic
+    type: integer
+    default: 0
+    minimum: 0
+    maximum: 1
+    widget: checkbox
index 963dde9640eeacf8aebccab4723660957891b63d..d3b0e0b355f3bf1cb9cc9d0081fa08d779e5c52b 100644 (file)
@@ -9,3 +9,16 @@ license: LGPLv2.1
 language: en
 tags:
   - Video
+description: Adjust image luma using a non-linear power-law curve.
+parameters:
+  - identifier: argument
+    title: Gamma
+    type: double
+    description: The exponential factor of the power-law curve
+    default: 1.0
+  - identifier: gamma
+    title: Gamma
+    type: double
+    description: See "argument"
+    mutable: yes
+    default: 1.0
index ff312849e4608ebf77da94f1125e409ee6338ae2..86e146fd50752c17a3b859ee4eea1f227df2aa82 100644 (file)
@@ -9,3 +9,4 @@ license: LGPLv2.1
 language: en
 tags:
   - Video
+description: Convert colour image to greyscale
\ No newline at end of file
index 2f3710594e4a9de2958a4462f2618cb85bc29acb..49df19144792c28103f75b54eb8de37609f8cad2 100644 (file)
@@ -9,3 +9,25 @@ license: LGPLv2.1
 language: en
 tags:
   - Video
+description: |
+  Applies a luma transition between the current and next frames. Useful for 
+  transitions from a slideshow created using producer pixbuf.
+parameters:
+  - identifier: argument
+    title: File
+    type: string
+    description: The luma map file to be used for the transition
+  - identifier: period
+    title: Period
+    type: integer
+    description: >
+      How long to wait between success iterations of the transition. For best 
+      results set this to a multiple of ttl used in pixbuf.
+    mutable: yes
+    default: 24
+  - identifier: luma.*
+    title: Luma Properties
+    description: >
+      All properties beginning with "luma." are passed to the encapsulated luma 
+      transition. For example, luma.out controls the duration of the wipe.
+    mutable: yes
index 8b963dd1ded8718f276a4c619ca49aa94b01fa80..0da36d16878b2d237e8fe3c43a9eb35121d0cf26 100644 (file)
@@ -9,3 +9,69 @@ license: LGPLv2.1
 language: en
 tags:
   - Video
+description: Overlay text or images onto the video
+notes: |
+  The watermark filter combines a frame producer and a composite transition to 
+  overlay the specified text or image onto the video.
+
+  Supplying a filename with extension ".txt" causes the loader to load a pango 
+  producer. Supplying a file name with an extension supported by gtk-pixbuf
+  causes the loader to load a pixbuf producer. See the pango and pixbuf 
+  producers for details.
+  
+  Note: If the filename begins with "+" the pango producer interprets the 
+  filename as pango text.
+  
+  Text Example:
+  melt colour:red -filter watermark:"+First Line~Second Line.txt" composite.progressive=1 producer.align=centre composite.valign=c composite.halign=c
+  
+  Image Example:
+  melt clip.dv -filter watermark:logo.png
+  
+parameters:
+  - identifier: argument
+    title: File or Text
+    type: string
+    description: A pango or pixbuf producer file name.
+    required: no
+    readonly: no
+    default: unset
+    widget: fileopen
+
+  - identifier: resource
+    title: File or Text
+    type: string
+    description: see argument  
+    required: no
+    readonly: no
+    default: unset
+    widget: fileopen or text
+
+  - identifier: distort
+    title: Allow distorted scaling
+    type: integer
+    default: 0
+    minimum: 0
+    maximum: 1
+    widget: checkbox
+    
+  - identifier: producer
+    title: Pango or Pixbuf producer
+    type: producer
+    description: |
+      A pango or pixbuf producer (as appropriate for the file name).
+      Properties may be set on the producer to control its behavior.
+      e.g.: producer.align=centre
+      See "pango" and "pixbuf" producers for details.
+    readonly: no
+
+  - identifier: composite
+    title: Composite Transition
+    type: transition
+    description: |
+      The transition that combines the images from the pango or pixbuf producer 
+      with the images from the track.
+      Properties may be set on the composite to control its behavior.
+      e.g.: composite.valign=c
+      See "composite" transition for details.
+    readonly: no
index 0a34349f6d919644982b834217258957bf53881b..5c2ead9d40f41b06f7642205365e3eaebc42f4c8 100644 (file)
@@ -9,3 +9,18 @@ license: LGPLv2.1
 language: en
 tags:
   - Video
+description: A simple color generator.
+parameters:
+  - identifier: argument
+    title: Color value
+    description: |
+      A color value is a hexadecimal representation of RGB plus alpha channel 
+      as 0xrrggbbaa. Colors can also be the words: white, black, red, green,
+      or blue.
+    type: string
+    required: no
+    readonly: no
+    default: black
+    widget: textbox
+    
+    
index 9cbb86a58041c465eca2528f6d1efaf2d3d7eb35..1e84896105347ded65592cab05a1243e2de8f3bc 100644 (file)
@@ -10,3 +10,42 @@ language: en
 tags:
   - Audio
   - Video
+description: White noise producer
+parameters:
+  - identifier: in
+    title: In point
+    type: time
+    description: Set the start time offset to use within the clip
+    readonly: no
+    mutable: no
+    minimum: 0
+    default: 0
+    widget: timecode
+
+  - identifier: out
+    title: Out point
+    type: time
+    description: Set the ending time offset to use within the clip
+    readonly: no
+    minimum: 0
+    mutable: no
+    widget: timecode
+    
+  - identifier: fps
+    title: Frame Rate
+    type: double
+    description: The output frame rate of the producer
+    readonly: yes
+    
+  - identifier: aspect_ratio
+    title: Aspect Ratio
+    type: double
+    description: The sample aspect ratio of the producer
+    readonly: yes
+    
+  - identifier: length
+    title: Length
+    type: time
+    description: The duration of the file (in frames)
+    readonly: yes
+    widget: timecode
index 2b508830c03c1318cf85fffd33043c979ae74998..416a71cce99a294800d600f98d0c0b2075a1c094 100644 (file)
@@ -10,3 +10,59 @@ language: en
 tags:
   - Audio
   - Video
+description: A libdv based decoder for video and audio.
+parameters:
+  - identifier: argument
+    title: Filename
+    description: The name of a .dv file.
+    type: string
+    required: yes
+    readonly: no
+    default: <null>
+    widget: fileopen
+    
+  - identifier: in
+    title: In point
+    type: time
+    description: Set the start time offset to use within the clip
+    readonly: no
+    mutable: no
+    minimum: 0
+    default: 0
+    widget: timecode
+
+  - identifier: out
+    title: Out point
+    type: time
+    description: Set the ending time offset to use within the clip
+    readonly: no
+    minimum: 0
+    mutable: no
+    widget: timecode
+    
+  - identifier: resource
+    title: Resource
+    type: string
+    description: The location of the file
+    readonly: yes
+
+  - identifier: fps
+    title: Frame Rate
+    type: double
+    description: The output frame rate of the producer
+    readonly: yes
+    
+  - identifier: length
+    title: Length
+    type: time
+    description: The duration of the file (in frames)
+    readonly: yes
+    widget: timecode
+    
+  - identifier: quality
+    title: Quality
+    type: string
+    description: One of "best," "fast" or anything else chooses medium.
+    readonly: no
+    mutable: yes
+    widget: combobox
index e90d0a5aa67fb251161d5f5363e48274633b331c..cd03f8d02cfdb414581f5f1ef2fbe88d4d0949c0 100644 (file)
@@ -9,3 +9,166 @@ license: LGPLv2.1
 language: en
 tags:
   - Video
+description: |
+  A title generator that uses the Pango international text layout and Freetype2 
+  font renderer.
+notes: |
+  Supplying a filename with extension ".txt" causes the loader producer to load 
+  with pango. If the filename begins with "+" the pango producer interprets the 
+  filename as pango text. This is a shortcut to embed titles in melt commands. 
+  For MLT XML, it is recommended that you embed the title text in the property 
+  value.
+  
+  Pango has builtin scaling. It will rescale the originally rendered title to 
+  whatever the consumer requests. Therefore, it will lose its aspect ratio if 
+  so requested, and it is up to the consumer to request a proper width and 
+  height that maintains the image aspect.
+
+parameters:
+  - identifier: argument
+    title: File
+    type: string
+    description: |
+      A text file containing Pango markup, see:
+      http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
+      requires xml-like encoding special chars from:
+      <, >, &   -to-   &lt;, &gt;, &amp;
+    readonly: no
+    required: yes
+    mutable: no
+    widget: fileopen # could provide a button to use a file-open dialog 
+    
+  - identifier: in
+    title: In point
+    type: time
+    description: Set the start time offset to use within the clip
+    readonly: no
+    mutable: no
+    minimum: 0
+    default: 0
+    widget: timecode
+
+  - identifier: out
+    title: Out point
+    type: time
+    description: Set the ending time offset to use within the clip
+    readonly: no
+    minimum: 0
+    mutable: no
+    widget: timecode
+    
+  - identifier: markup
+    title: Markup
+    type: string
+    description: |
+      A string containing Pango markup see:
+      http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
+      requires xml-like encoding special chars from:
+      <, >, &   -to-   &lt;, &gt;, &amp;
+    readonly: no
+    mutable: yes
+    widget: textbox
+    
+  - identifier: fgcolour
+    title: Foreground Colour
+    type: string
+    description: an RGBA colour specification of the text (i.e. 0xrrggbbaa)
+    readonly: no
+    mutable: yes
+    widget: colorpicker
+    
+  - identifier: bgcolour
+    title: Background Colour
+    type: string
+    description: an RGBA colour of the background rectangle (i.e. 0xrrggbbaa)
+    readonly: no
+    mutable: yes
+    widget: colorpicker
+    
+  - identifier: align
+    title: Paragraph Alignment
+    type: string
+    description: |
+      left, centre, right (also, numbers 0, 1 and 2 can be used respectively)
+    readonly: no
+    mutable: yes
+    widget: combobox
+
+  - identifier: pad
+    title: Padding
+    type: integer
+    description: |
+      The number of pixels to pad the background rectangle beyond edges of text.
+    readonly: no
+    default: 0
+    mutable: yes
+    widget: spinner
+    
+  - identifier: text
+    title: Text
+    type: string
+    description: |
+      A non-markup string in UTF-8 encoding 
+      (can contain markup chars un-encoded)
+    readonly: no
+    mutable: yes
+    widget: textbox
+
+  - identifier: font
+    title: Font
+    type: string
+    description: The default typeface to use when not using markup.
+    default: "Sans 48". FreeType2 renders at 72 dpi.
+    readonly: no
+    mutable: yes
+    widget: combobox
+    
+  - identifier: weight
+    title: Font Weight
+    type: integer
+    description: The weight of the font.
+    default: 400
+    readonly: no
+    mutable: yes
+    widget: spinner
+    
+  - identifier: encoding
+    title: Encoding
+    type: string
+    description: |
+      The text encoding type of the input if not UTF-8.
+      See 'iconv --list' for a list of possible inputs.
+    default: UTF-8
+    readonly: no
+    mutable: yes
+    widget: combobox
+    
+  - identifier: resource
+    title: Resource
+    type: string
+    description: The text/markup file or "pango" if no file.
+    readonly: yes
+
+  - identifier: real_width
+    title: Real Width
+    type: integer
+    description: The original, unscaled width of the rendered title.
+    readonly: yes
+    
+  - identifier: real_height
+    title: Real Height
+    type: integer
+    description: The original, unscaled height of the rendered title.
+    readonly: yes
+
+  - identifier: width
+    title: Width
+    type: integer
+    description: The last requested scaled image width.
+    readonly: yes
+    
+  - identifier: height
+    title: Height
+    type: integer
+    description: The last requested scaled image height.
+    readonly: yes
\ No newline at end of file
index 14fc62ee9de52b4371e9e9f2257f41203e669033..4156e745e6cb5753d39a1e3eaa228fb76026890d 100644 (file)
@@ -9,3 +9,102 @@ license: LGPLv2.1
 language: en
 tags:
   - Video
+description: |
+  A still graphics to video generator using gdk-pixbuf
+notes: |
+  Pixbuf has builtin scaling. It will rescale the originally rendered title to 
+  whatever the consumer requests. Therefore, it will lose its aspect ratio if 
+  so requested, and it is up to the consumer to request a proper width and 
+  height that maintains the image aspect.
+
+parameters:
+  - identifier: argument
+    title: File
+    type: string
+    description:
+      - >
+        The name of a graphics file loadable by a gdk-pixbuf loader. 
+        See /usr/lib/gdk-pixbuf/loaders
+        definitely png, jpeg, tiff, pnm, and xpm
+      - >
+        If "%" in filename, the filename is used with sprintf generate a 
+        filename from a counter for multi-file/flipbook animation. The file 
+        sequence ends when numeric discontinuity >100.
+      - >
+        If filename contains "/.all.", suffix with an extension to load all 
+        pictures with matching extension from a directory.
+      - >
+        If filename contains the string "<svg", then pixbuf tries to load the 
+        filename as inline SVG XML, which is convenient for melt commands.
+    readonly: no
+    required: yes
+    mutable: no
+    widget: fileopen # could provide a button to use a file-open dialog 
+    
+  - identifier: in
+    title: In point
+    type: time
+    description: Set the start time offset to use within the clip
+    readonly: no
+    mutable: no
+    minimum: 0
+    default: 0
+    widget: timecode
+
+  - identifier: out
+    title: Out point
+    type: time
+    description: Set the ending time offset to use within the clip
+    readonly: no
+    minimum: 0
+    mutable: no
+    widget: timecode
+    
+  - identifier: begin
+    title: Begin
+    type: integer
+    description: When using an image sequence, this sets the starting number.
+    readonly: no
+    minimum: 0
+    mutable: no
+    widget: spinner
+    
+  - identifier: ttl
+    title: Time To Live
+    type: integer
+    description: How long (in frames) to repeat each picture in file sequences.
+    readonly: no
+    default: 25
+    minimum: 0
+    mutable: yes
+    widget: spinner
+    
+  - identifier: resource
+    title: Resource
+    type: string
+    description: File location. See "argument" above.
+    readonly: yes
+    
+  - identifier: real_width
+    title: Real Width
+    type: integer
+    description: The original, unscaled width of the rendered title.
+    readonly: yes
+    
+  - identifier: real_height
+    title: Real Height
+    type: integer
+    description: The original, unscaled height of the rendered title.
+    readonly: yes
+    
+  - identifier: width
+    title: Width
+    type: integer
+    description: The last requested scaled image width.
+    readonly: yes
+    
+  - identifier: height
+    title: Height
+    type: integer
+    description: The last requested scaled image height.
+    readonly: yes
index 85fc61b767cf4fe66b291c681e27e162d8e7a1c9..8e83359274e1a946973ea828a1e93e5091ec4809 100644 (file)
@@ -9,3 +9,45 @@ license: LGPLv2.1
 language: en
 tags:
   - Audio
+description: |
+  OGG Vorbis file reader.
+parameters:
+  - identifier: argument
+    title: File
+    type: string
+    description: File to use (only .ogg supported at the moment)
+    readonly: no
+    required: yes
+    mutable: no
+    widget: fileopen
+    
+  - identifier: resource
+    title: Resource
+    type: string
+    description: File location. See "argument" above.
+    readonly: yes
+    
+  - identifier: in
+    title: In point
+    type: time
+    description: Set the start time offset to use within the clip
+    readonly: no
+    mutable: no
+    minimum: 0
+    default: 0
+    widget: timecode
+    
+  - identifier: out
+    title: Out point
+    type: time
+    description: Set the ending time offset to use within the clip
+    readonly: no
+    minimum: 0
+    mutable: no
+    widget: timecode
+    
+  - identifier: fps
+    title: Frame Rate
+    type: double
+    description: The output frame rate of the producer
+    readonly: yes
\ No newline at end of file
index ab824d00fb06475be6e1e7700dd8da29d885383b..1aaebdfb4d8e7b740a2687b17a67137febb3d8b6 100644 (file)
@@ -10,3 +10,30 @@ language: en
 tags:
   - Audio
   - Video
+description: |
+  Construct a service network from an XML description. See docs/mlt-xml.txt.
+parameters:
+  - identifier: argument
+    title: URL
+    type: string
+    description: |
+      An XML text file containing MLT XML
+      Since MLT XML files can be parameterised, the URL syntax is:
+      {file-name}[?{param-name}{'='|':'}{param-value}[&{param-name}{'='|':'}{param-value}...]]
+      A colon is allowed instead of an equal sign to pacify melt, who tokenises 
+      anything with an equal sign as a property setting. Also, when running 
+      melt from the shell, beware of the '?' and shell filename expansion. You 
+      can surround the URL with single quotations to prevent expansion. 
+      Finally, the loader will fail to match the filename when you use 
+      parameters, so preface the url with 'xml:' to force the loader to load 
+      with the xml service.
+    readonly: no
+    required: yes
+    mutable: no
+    widget: fileopen
+    
+  - identifier: resource
+    title: Resource
+    type: string
+    description: File location. See "argument" above.
+    readonly: yes