-
Notifications
You must be signed in to change notification settings - Fork 361
Expand file tree
/
Copy pathmetaschema.yaml
More file actions
149 lines (148 loc) · 5.39 KB
/
metaschema.yaml
File metadata and controls
149 lines (148 loc) · 5.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
--- # A metadata schema in Kwalify: http://www.kuwata-lab.com/kwalify/
# Version: 7.1
type: map
mapping:
"schema_version": # This should match the version comment above
type: float
required: yes
"LC_NUMERIC": # If not provided LC_NUMERIC=C is used, not the system's locale.
type: str
required: no
"type": # A service type
type: str
required: yes
enum: [consumer, filter, link, 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:
- boolean # 0 or 1; not 'true', 'false', 'yes', or 'no' strings at this time
- color # 0xrrggbbaa | #rrggbb | #aarrggbb
- float
- geometry
- group # for grouping parameters in a UI, this is not an mlt_property_type
- integer
- properties # for passing options to encapsulated services
- rect # "X Y W H" or "X/Y:WxH"
- string
- time # time string values (clock, SMPTE) can be accepted in addition to frames
"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
"argument": # If this is also the service constructor argument.
type: bool
default: no
"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
"animation": # Does the property support the animation API for keyframes?
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
- point
- radio
- rectangle # for use with type: geometry
- size
- 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
"group": # A UI can use this to group parameters together
type: str
"normalized_coordinates": # For types that represent coordinates, whether values are normalized to 0..1
type: bool
default: no