]> git.sesse.net Git - mlt/blob - src/modules/xml/consumer_xml.yml
Add xml_retain property support to xml module.
[mlt] / src / modules / xml / consumer_xml.yml
1 schema_version: 0.1
2 type: consumer
3 identifier: xml
4 title: XML
5 version: 1
6 copyright: Ushodaya Enterprises Limited
7 creator: Dan Dennedy
8 license: LGPLv2.1
9 language: en
10 tags:
11   - Audio
12   - Video
13 description: >
14   Serialise the service network to XML.
15   See docs/mlt-xml.txt for more information.
16
17 notes: >
18   If you set a data property beginning with (and longer than) "xml_retain" on
19   the service connected to this consumer where the data is a mlt_service
20   pointer, then the pointed at service will also be serialized before the
21   connected service. This can be useful, for example, to save a playlist as
22   a media bin along with a multitrack. You can serialize more than one of these
23   additional services by setting more than property, each with a unique key
24   beginning with "xml_retain".
25
26 bugs:
27    - Untested arbitrary nesting of multitracks and playlists.
28    - >
29      Property "id" is generated as service type followed by number if no
30      property named "id" exists, but it fails to guarantee uniqueness.
31
32 parameters:
33   - identifier: resource
34     argument: yes
35     title: File
36     type: string
37     description: >
38       The name of a file in which to store the XML.
39       If the value does not contain a period (to start an extension), then
40       the value is interpreted as the name of a propery in which to store the
41       XML. This makes it easy for an application to use the consumer to
42       serialize a service network and retrieve the XML in-memory.
43     readonly: no
44     required: no
45     mutable: no
46     default: stdout
47     widget: fileopen
48
49   - identifier: all
50     title: Process all frames
51     type: integer
52     description: >
53       Without this option, the XML consumer does not process any frames
54       and simply serializes the service network. However, some filters (.e.g,
55       videostab) require two passes where the first pass performs some
56       analysis and stores the result in a property. Therefore, set this
57       property to 1 (true) to cause the consumer to process all frames
58       before serializing to XML.
59     minimum: 0
60     maximum: 1
61     default: 0
62
63   - identifier: title
64     title: Title
65     type: string
66     description: >
67       You can give the composition a friendly name that some applications may use.
68
69   - identifier: root
70     title: Base path
71     type: string
72     description: >
73       If a file name in the XML is relative, but not relative to the current
74       XML file's directory, then you can set the directory to which it is
75       relative here.
76
77   - identifier: no_meta
78     title: Exclude meta properties
79     type: integer
80     description: >
81       Set this to disable the output of properties with the prefix "meta."
82     minimum: 0
83     maximum: 1
84     default: 0
85     widget: checkbox
86
87   - identifier: time_format
88     title: Time format
89     type: string
90     description: Output time-based values as timecode or clock formats.
91     values:
92       - frames
93       - smpte # or SMPTE
94       - timecode # same as smpte
95       - clock # or CLOCK
96     default: frames
97     widget: dropdown
98
99   - identifier: store
100     title: Include property prefix
101     type: string
102     description: >
103       To save additional properties that MLT does not know about, supply an
104       application-specific property name prefix that you are using.