forked from shotgunsoftware/tk-hiero-export
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinfo.yml
253 lines (222 loc) · 11.9 KB
/
info.yml
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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
# expected fields in the configuration file for this app
configuration:
default_task_template:
type: str
description: The default shot task template to use when the app is
creating new shots in Flow Production Tracking. This setting is presented
in the Custom Flow Production Tracking Export UI and you can change it
prior to running the export if you want.
default_value: 2D Shot
audio_published_file_type:
type: tank_type
description: The string value of the Published File/Tank Type used for published audio.
default_value: Hiero Audio
plate_published_file_type:
type: tank_type
description: The string value of the Published File/Tank Type used for published plates.
default_value: Hiero Plate
nuke_script_published_file_type:
type: tank_type
description: The string value of the Published File/Tank Type used for Nuke scripts.
default_value: Nuke Script
nuke_script_toolkit_write_nodes:
type: list
description: "A list of dictionaries in which you define the Sgtk write
nodes that will be added to the published nuke scripts.
Each dictionary entry needs to have the following keys:
channel - the value for the 'output' knob in the created node.
name - the profile name of the write node to create."
allows_empty: True
values:
type: dict
items:
category: { type: str}
output: { type: str }
data_type: { type: str }
custom_template_fields:
type: list
description: "A list of custom strings to add to Hiero's resolver.
Each item is a dictionary specifying the keyword to be
replaced and a description for that keyword that will show
up in the tooltip for the export tree. A valid entry will
look like '{keyword: a_keyword, description: This is a keyword}'.
Each keyword needs to be translated to a resolved string by the
resolve custom strings hook."
allows_empty: True
values:
type: dict
items:
keyword: { type: str }
description: { type: str }
default_value: []
default_task_filter:
type: str
description: "A filter that will return the task in the Shot that publishes will
be registered against. This value must be a valid filter that can be
passed to the find method of the Flow Production Tracking api, without a condition for
entity (a value linking entity to the Shot will be added at publish
time). If the filter contains a condition in the form
['step.Step.code', 'is', VALUE], then whatver VALUE is will be used
by the default translate_template hook as the value to use when
expanding {Step} in the publish templates. If the filter results
in a single task, then any publishes created by the app will be
associated with that task. Otherwise they will only be associated
with the Shot."
default_value: "[['step.Step.code', 'is', 'Comp']]"
# hooks
hook_translate_template:
type: hook
description: "Called when a template needs to be translated into a Hiero
style replacement string. First argument is the template
to translate. Second argument is a string describing the
type of template being translated. The return value is the
translated string."
parameters: [template, output_type]
default_value: hiero_translate_template
hook_upload_thumbnail:
type: hook
description: "Called when a thumbnail needs to be uploaded to Flow Production Tracking
for a Hiero source. First argument is a dictionary that
is the Flow Production Tracking entity to upload for. The second argument
is the Hiero Source to get the thumbnail from. The third
argument is the Hiero TrackItem that the source was pulled
from. The TrackItem may be None when the thumbnail does
not correspond to an item from a timeline."
parameters: [entity, source, item]
default_value: hiero_upload_thumbnail
hook_get_shot:
type: hook
description: "Called to return the shot to update cut information for.
The first argument is the Hiero export Task object. The second
argument is the hiero.core.TrackItem that is driving shot creation.
The third argument is a data dictionary that can be used to pass
data between different calls to shot create.
The return value is a data dictionary for the shot, whose
id will be updated. Cut information will be merged into this
dictionary before Flow Production Tracking update is called on the shot.
The default implementation creates or looks up a sequence
named after the Hiero Sequence being exported and links that to
the shot via the sg_sequence field."
parameters: [task, item, data]
default_value: hiero_get_shot
hook_pre_export:
type: hook
description: "Called prior to starting Flow Production Tracking's shot processor. It can be used
to clear out caches and do other specific initializations."
parameters: [processor]
default_value: hiero_pre_export
hook_resolve_custom_strings:
type: hook
description: "Called when resolving custom items added to the Hiero resolver
via the custom_template_fields setting. The first argument is
the keyword being resolved and the second argument is the Hiero
task being run.
The return value is the resolved string value for the keyword."
parameters: [keyword, task]
default_value: hiero_resolve_custom_strings
hook_get_quicktime_settings:
type: hook
description: "Called when generating the default settings for creating
a quicktime. The argument is a boolean that is True when
the resulting quicktime is only for upload to Flow Production Tracking and
False when the settings are used for a default Quicktime
transcode.
The return value is a tuple of two items. The first is a
string that is the file_type for the Nuke write node that
will be generated. The second is a dictionary where the
keys are knob names for the write node, and the values are
the corresponding node values."
parameters: [for_shotgun]
default_value: hiero_get_quicktime_settings
hook_update_version_data:
type: hook
description: "Called before creating a Version in Flow Production Tracking for a transcode.
The default values for the version will already be filled in
in the version_data dictionary. Modify this dictionary to
change what will be passed as an argument to the Flow Production Tracking API
create call."
parameters: [version_data, task]
default_value: hiero_update_version_data
hook_post_version_creation:
type: hook
description: "Called after the Version entity is created. The hook is
provided the new entity data dictionary which will include
the ID number of the entity that was created."
parameters: [version_data]
default_value: hiero_post_version_creation
hook_get_extra_publish_data:
type: hook
description: "Called before creating a PublishedFile in Flow Production Tracking for a transcode.
This hook should return None if there is no extra info to
associate with the published file, or a dictionary that is
compatible with the Flow Production Tracking API's update method."
parameters: [task]
default_value: hiero_get_extra_publish_data
hook_customize_export_ui:
type: hook
description: "Called during initialization of the export UI. Provides methods
for defining custom UI properties on presets, initializing and
injecting custom widgets into the exporter, and setting up custom
widgets to make use of property UI widgets."
parameters: []
default_value: hiero_customize_export_ui
hook_update_shot:
type: hook
description: "Called during PTR shot processing. Provides methods for managing
if and how the Shot's entity in updated, and if and how creation
of the Shots filesystem structure happens during export."
parameters: []
default_value: hiero_update_shot
hook_update_cuts:
type: hook
description: "Called during PTR shot processing. Provides methods for managing
if and how Cuts and CutItems are created and updated."
parameters: []
default_value: hiero_update_cuts
# paths
template_plate_path:
type: template
description: "A reference to a template which specifies the directory to
publish shot plates to. The translate template hook must
understand how to translate this to Hiero keywords."
required_fields: []
optional_fields: "*"
template_copy_path:
type: template
description: "A reference to a template which specifies the directory to
publish shot plates to. The translate template hook must
understand how to translate this to Hiero keywords."
required_fields: []
optional_fields: "*"
template_nuke_script_path:
type: template
description: "A reference to a template which specifies what published
nuke scripts will be named. The translate template hook must
understand how to translate this to Hiero keywords."
required_fields: []
optional_fields: "*"
template_render_path:
type: template
description: "A reference to a template which specifies what renders will
be named. The translate template hook must understand how
to translate this to Hiero keywords."
required_fields: []
optional_fields: "*"
template_version:
type: template
description: "String template that specifies how to format the Hiero tk_version
token as a version string for tk."
required_fields: [version]
optional_fields: "*"
# the engines that this app can operate in:
supported_engines: [tk-hiero, tk-nuke]
# the Shotgun fields that this app needs in order to operate correctly
requires_shotgun_fields:
# More verbose description of this item
display_name: "Flow Production Tracking Export"
description: "App that adds Flow Production Tracking awareness to Nuke Studio's sequence export. It
adds a new processor that will use the configuration to determine
paths for Nuke scripts and plates. It also will use the tags to
determine Flow Production Tracking Shot status and task templates to create/update
the Shots in Flow Production Tracking."
requires_core_version: "v0.18.124"