Here is an example of using pattern browsing and openclip:
*Preamble:
- My job has a root directory called βmy_special_jobβ
- Next I have a βshotsβ directory
- In βshotsβ is shot_0010, shot_0020, shot_0030, etc
- In each shot directory I have βbatch_setupsβ, βmediaβ & βopenclipβ
- Letβs ignore βbatch_setupsβ - itβs only for flame.
- In βmediaβ is βrendersβ and βsourcesβ.
- In βopenclipβ is βsegment_clipsβ and βoutput_clipsβ.
In order to use pattern browsing to view multiple βnuke_compβ sequences without drilling into subdirectories I can park in my job root directory and use:
option A:
shots/{name}/media/renders/{shotName}_nuke_comp_v{version}/{shotName}_nuke_comp_v{version}.{frame}.exr
Or I can use:
option B:
shots/{name}/media/renders/nuke/comp/v{version}/{shotName}_nuke_comp_v{version}.{frame}.exr
I can wrap either option in xml to create a pattern based openclip using a text editor or openclip creator.
Here is option A pattern based openclip:
<clip>
<handler>
<name>MIO Clip</name>
<options>
<ScanPattern type="string">/JOBS/my_special_job/shots/{name}/media/renders/{shotName}_nuke_comp_v{version}/{shotName}_nuke_comp_v{version}.{frame}.exr</ScanPattern>
</options>
</handler>
</clip>
I saved it as:
/JOBS/my_special_job/shots/shot_0010/openclip/output_clips/shot_0010_nuke_comp
Here is option B pattern based openclip:
<clip>
<handler>
<name>MIO Clip</name>
<options>
<ScanPattern type="string">/JOBS/my_special_job/shots/{name}/media/renders/nuke/comp/v{version}/{shotName}_nuke_comp_v{version}.{frame}.exr</ScanPattern>
</options>
</handler>
</clip>
My job tree looks like this:
JOBS
β
βββ other_jobs
β
βββ my_special_job
β
βββ other_directories
β
βββ shots
βββ shot_0010
β β
β βββ batch_setups
β βββ media
β β βββ renders
β β β βββ shot_0010_nuke_comp_v0001 (option A)
β β β βββ shot_0010_nuke_comp_v0002 (option A)
β β β βββ shot_0010_nuke_comp_v0003 (option A)
β β β βββ shot_0010_nuke_comp_v0004 (option A)
β β β βββ shot_0010_nuke_comp_v0005 (option A)
β β β βββ nuke
β β β βββ comp
β β β βββ shot_0010_nuke_comp
β β β βββ v0001 (option B)
β β βββ sources
β β βββ shot_0010_layer_01
β β βββ v0000
β β βββ P006YNIY
β β βββ shot_0010_layer_01
β βββ openclip
β βββ output_clips
β β βββ shot_0010_nuke_comp
β βββ segment_clips
β
β
βββ shot_0020
β β
β βββ batch_setups
β βββ media
β β βββ renders
β β β βββ shot_0020_nuke_comp_v0001 (option A)
β β β βββ shot_0020_nuke_comp_v0002 (option A)
β β β βββ shot_0020_nuke_comp_v0003 (option A)
β β β βββ shot_0020_nuke_comp_v0004 (option A)
β β β βββ shot_0020_nuke_comp_v0005 (option A)
β β βββ sources
β β βββ shot_0020_layer_01
β β βββ v0000
β β βββ F004MN99
β β βββ shot_0020_layer_01
β βββ openclip
β βββ output_clips
β β βββ shot_0020_nuke_comp
β βββ segment_clips
β
β
βββ shot_0030
β β
βββ βββ batch_setups
βββ media
β βββ renders
β β βββ shot_0030_nuke_comp_v0001 (option A)
β β βββ shot_0030_nuke_comp_v0002 (option A)
β β βββ shot_0030_nuke_comp_v0003 (option A)
β β βββ shot_0030_nuke_comp_v0004 (option A)
β β βββ shot_0030_nuke_comp_v0005 (option A)
β βββ sources
β βββ shot_0030_layer_01
β βββ v0000
β βββ F004MN99
β βββ shot_0030_layer_01
βββ openclip
βββ output_clips
β βββ shot_0030_nuke_comp
βββ segment_clips
n.b. i edited {frame_number} to {frame} in all instances.
I zeroed out timecode before I exported my versions from nuke, relying solely on frame numbers to align versions.
Now the openclip works in a limited way as expected, including multiple resolutions, but not sure about timecode or offset variations.
Every time a nuke render follows this same render pattern your openclip will have access to the versions.
The pattern browse string permits viewing the individual clips in MediaHub but does not identify related versions.
You can use the pattern browse string to create pattern-based openclips with openclip creator or you can write the relevant strings in a text editor.
You can install openclip creator on non flame workstations or you can define your patterns and use a text editor on pretty much anything.
It shouldnβt be too difficult to script.
Finally, using my directory structure as an example, I can add a new pattern in MediaHub and this will reveal all of my β*_nuke_compβ openclip files:
shots/{name}/openclip/output_clips/{name}_nuke_comp