6629 lines
362 KiB
Plaintext

#! C:/Program Files/Nuke15.0v3/nuke-15.0.3.dll -nx
version 15.0 v3
define_window_layout_xml {<?xml version="1.0" encoding="UTF-8"?>
<layout version="1.0">
<window x="-1" y="-7" w="2560" h="1377" maximized="1" screen="0">
<splitter orientation="1">
<split size="1620"/>
<splitter orientation="2">
<split size="1010"/>
<splitter orientation="1">
<split size="40"/>
<dock id="" activePageId="Toolbar.1">
<page id="Toolbar.1"/>
</dock>
<split size="1576"/>
<dock id="" activePageId="Viewer.1">
<page id="Viewer.1"/>
</dock>
</splitter>
<split size="325"/>
<splitter orientation="1">
<split size="994"/>
<dock id="" activePageId="uk.co.thefoundry.waveformscope.1">
<page id="uk.co.thefoundry.scripteditor.1"/>
<page id="DopeSheet.1"/>
<page id="Curve Editor.1"/>
<page id="uk.co.thefoundry.waveformscope.1"/>
<page id="uk.co.thefoundry.histogram.1"/>
</dock>
<split size="622"/>
<dock id="" activePageId="uk.co.thefoundry.vectorscope.1">
<page id="Pixel Analyzer.1"/>
<page id="uk.co.thefoundry.vectorscope.1"/>
</dock>
</splitter>
</splitter>
<split size="936"/>
<splitter orientation="2">
<split size="1339"/>
<dock id="" hideTitles="1" activePageId="DAG.1" focus="true">
<page id="DAG.1"/>
<page id="DAG.2"/>
</dock>
</splitter>
</splitter>
</window>
</layout>
}
Root {
inputs 0
name "Z:/Biohazard Nextcloud 2/_Tools/Nuke/Biohazard/Master Template/Covert Template/Covert Template.nk"
frame 5
last_frame 1250
format "4448 3096 0 0 4448 3096 1 "
proxy_type scale
proxy_format "1024 778 0 0 1024 778 1 1K_Super_35(full-ap)"
colorManagement OCIO
OCIO_config fn-nuke_studio-config-v1.0.0_aces-v1.3_ocio-v2.1
defaultViewerLUT "OCIO LUTs"
workingSpaceLUT ACES2065-1
monitorLut "ACES 1.0 - SDR Video (Rec.1886 Rec.709 - Display)"
monitorOutLUT "ACES 1.0 - SDR Video (Rec.1886 Rec.709 - Display)"
int8Lut "Gamma 2.4 Rec.709 - Texture"
int16Lut aces_interchange
logLut "Gamma 1.8 Rec.709 - Texture"
floatLut Gamma2.6
set_by_user_template true
addUserKnob {20 User}
}
BackdropNode {
inputs 0
name BackdropNode17
tile_color 0x232323ff
label <center>IN
note_font "Century Gothic Bold"
note_font_size 200
note_font_color 0xafafafff
xpos -4852
ypos -9259
bdwidth 9925
bdheight 7669
z_order -4
}
BackdropNode {
inputs 0
name BackdropNode18
tile_color 0x232323ff
label <center>OUT
note_font "Century Gothic Bold"
note_font_size 200
note_font_color 0xafafafff
xpos -4852
ypos 21271
bdwidth 9925
bdheight 5169
z_order -4
}
BackdropNode {
inputs 0
name " "
tile_color 0x222222ff
label <center>VIEWERS
note_font "Arial Black"
note_font_size 100
note_font_color 0xaeaeaeff
xpos -517
ypos -10439
bdwidth 1255
bdheight 574
}
BackdropNode {
inputs 0
name " 1"
tile_color 0x222222ff
label <center>PIPELINE
note_font "Arial Black"
note_font_size 100
note_font_color 0xaeaeaeff
xpos -241
ypos -11428
bdwidth 703
bdheight 631
}
BackdropNode {
inputs 0
name " 3"
tile_color 0x878787ff
label <center>NEGATIVE
note_font "Arial Black"
note_font_size 100
note_font_color 0x3f3f3fff
xpos -410
ypos 19309
bdwidth 1040
bdheight 405
}
BackdropNode {
inputs 0
name " 4"
tile_color 0x878787ff
label "<center>FRAME RANGE"
note_font "Arial Black"
note_font_size 100
note_font_color 0x3f3f3fff
xpos -409
ypos 19729
bdwidth 1038
bdheight 429
}
BackdropNode {
inputs 0
name " 5"
tile_color 0x769fb4ff
label <center>METADATA
note_font "Arial Black"
note_font_size 88
note_font_color 0x2e566fff
xpos -516
ypos 18374
bdwidth 1252
bdheight 499
}
BackdropNode {
inputs 0
name BackdropNode1
tile_color 0x769fb4ff
gl_color 0x446f84ff
label <center>PLATES
note_font "Century Gothic Bold"
note_font_size 200
note_font_color 0x2f5770ff
xpos -1846
ypos -6093
bdwidth 4133
bdheight 3882
}
BackdropNode {
inputs 0
name BackdropNode10
tile_color 0xbababaff
label "<center>MASTER FG"
note_font "Century Gothic Bold"
note_font_size 60
note_font_color 0x3b3b3bff
xpos -916
ypos -5516
bdwidth 293
bdheight 328
}
BackdropNode {
inputs 0
name BackdropNode11
tile_color 0xde7c76ff
label <center>CG
note_font "Century Gothic Bold"
note_font_size 200
note_font_color 0x631414ff
xpos -4243
ypos -8544
bdwidth 2767
bdheight 1776
}
BackdropNode {
inputs 0
name BackdropNode12
tile_color 0x5eac60ff
label <center>ROTO
note_font "Century Gothic Bold"
note_font_size 200
note_font_color 0x254222ff
xpos -1273
ypos -8544
bdwidth 2767
bdheight 1776
}
BackdropNode {
inputs 0
name BackdropNode13
tile_color 0x7987d9ff
label "<center>MISC ASSETS"
note_font "Century Gothic Bold"
note_font_size 200
note_font_color 0x293f63ff
xpos 1697
ypos -8544
bdwidth 2767
bdheight 1776
}
BackdropNode {
inputs 0
name BackdropNode14
tile_color 0xbababaff
label "<center>MASTER BG"
note_font "Century Gothic Bold"
note_font_size 60
note_font_color 0x3b3b3bff
xpos 844
ypos -5516
bdwidth 293
bdheight 328
}
BackdropNode {
inputs 0
name BackdropNode15
tile_color 0x4d7a89ff
label "<center>BG DEGRAIN"
note_font "Century Gothic Bold"
note_font_size 200
note_font_color 0x234154ff
xpos 514
ypos -4524
bdwidth 952
bdheight 1416
}
BackdropNode {
inputs 0
name BackdropNode16
tile_color 0xb9babaff
label <center>REF
note_font "Century Gothic Bold"
note_font_size 60
note_font_color 0x3b3b3bff
xpos -429
ypos -5506
bdwidth 1078
bdheight 547
}
BackdropNode {
inputs 0
name BackdropNode19
tile_color 0x5c7f3dff
label <center>MATTES
note_font "Century Gothic Bold"
note_font_size 200
note_font_color 0xacd68bff
xpos 2324
ypos 22619
bdwidth 1292
bdheight 2665
}
BackdropNode {
inputs 0
name BackdropNode2
tile_color 0x4d7a89ff
label "<center>FG DEGRAIN"
note_font "Century Gothic Bold"
note_font_size 200
note_font_color 0x234154ff
xpos -1246
ypos -4524
bdwidth 952
bdheight 1416
}
BackdropNode {
inputs 0
name BackdropNode20
tile_color 0x7f7f7fff
label <center>QC
note_font "Century Gothic Bold"
note_font_size 200
note_font_color 0x363636ff
xpos -3506
ypos 22619
bdwidth 1292
bdheight 2665
}
BackdropNode {
inputs 0
name BackdropNode25
tile_color 0xb9b9b9ff
label <center>TRANSFORMS
note_font "Arial Black"
note_font_size 96
note_font_color 0x3b3b3bff
xpos -3151
ypos -6110
bdwidth 1242
bdheight 988
}
BackdropNode {
inputs 0
name BackdropNode3
tile_color 0x99b860ff
label <center>TRACK
note_font "Century Gothic Bold"
note_font_size 200
note_font_color 0xeeff6dff
xpos -1434
ypos -270
bdwidth 3088
bdheight 1548
}
BackdropNode {
inputs 0
name BackdropNode4
tile_color 0x5d9349ff
label <center>CLEANUP
note_font "Century Gothic Bold"
note_font_size 200
note_font_color 0x74ff6dff
xpos -1437
ypos 1858
bdwidth 3095
bdheight 3435
}
BackdropNode {
inputs 0
name BackdropNode5
tile_color 0x7f7f7fff
label <center>ASSET
note_font "Century Gothic Bold"
note_font_size 200
note_font_color 0x2f2f2fff
xpos -6060
ypos 5948
bdwidth 5741
bdheight 4999
}
BackdropNode {
inputs 0
name BackdropNode6
tile_color 0x4d7a89ff
label "<center>PLATE BACK OVER"
note_font "Century Gothic Bold"
note_font_size 200
note_font_color 0x234154ff
xpos 780
ypos 7520
bdwidth 5041
bdheight 5599
}
BackdropNode {
inputs 0
name BackdropNode7
tile_color 0x689f38ff
label "<center>MASTER OUTPUT"
note_font "Century Gothic Bold"
note_font_size 200
note_font_color 0x152f00ff
xpos -1776
ypos 22624
bdwidth 3773
bdheight 2656
}
BackdropNode {
inputs 0
name BackdropNode8
tile_color 0x6e7aa2ff
label <center>REGRAIN
note_font "Century Gothic Bold"
note_font_size 200
note_font_color 0x393f54ff
xpos -732
ypos 17225
bdwidth 1685
bdheight 733
}
BackdropNode {
inputs 0
name BackdropNode9
tile_color 0x9f8ad5ff
label "<center>LENS FX"
note_font "Century Gothic Bold"
note_font_size 200
note_font_color 0x4b4675ff
xpos -1198
ypos 13927
bdwidth 2617
bdheight 1761
}
BackdropNode {
inputs 0
name " 6"
tile_color 0x73af81ff
label <center>log2lin
note_font "Arial Black"
note_font_size 100
note_font_color 0x344f38ff
xpos -2626
ypos -5694
bdwidth 407
bdheight 300
z_order 1
}
BackdropNode {
inputs 0
name " 7"
tile_color 0xa28bd3ff
label <center>lin2log
note_font "Arial Black"
note_font_size 100
note_font_color 0x4e4366ff
xpos -3063
ypos -5694
bdwidth 407
bdheight 300
z_order 1
}
BackdropNode {
inputs 0
name BackdropNode21
tile_color 0xaaaaaaff
label <center>EXR
note_font "Century Gothic Bold"
note_font_size 100
note_font_color 0xffffffff
xpos -1395
ypos 23699
bdwidth 590
bdheight 841
z_order 3
}
BackdropNode {
inputs 0
name BackdropNode22
tile_color 0xaaaaaaff
label "<center>QT Dailies"
note_font "Century Gothic Bold"
note_font_size 100
note_font_color 0xffffffff
xpos 1033
ypos 23700
bdwidth 795
bdheight 840
z_order 3
}
BackdropNode {
inputs 0
name BackdropNode23
tile_color 0xaaaaaaff
label "<center>QT LOG"
note_font "Century Gothic Bold"
note_font_size 100
note_font_color 0xffffffff
xpos -515
ypos 23723
bdwidth 590
bdheight 841
z_order 3
}
BackdropNode {
inputs 0
name BackdropNode30
tile_color 0xaaaaaaff
label "<center>QT Rec.709"
note_font "Century Gothic Bold"
note_font_size 100
note_font_color 0xffffffff
xpos 255
ypos 23723
bdwidth 590
bdheight 841
z_order 3
}
CheckerBoard2 {
inputs 0
name CheckerBoard7
xpos -810
ypos -5289
}
AppendClip {
firstFrame {{root.first_frame}}
meta_from_first false
time ""
name AppendClip1
xpos -810
ypos -5097
}
OCIODisplay {
colorspace ACES2065-1
display "sRGB - Display"
view "ACES 1.0 - SDR Video"
invert true
name INVERSE_DISPLAY_TRANSFORM2
xpos -810
ypos -5025
addUserKnob {20 User}
addUserKnob {52 python l "" +STARTLINE T "nuke.thisNode().knob(\"colorspace\").setValue(nuke.root().knob(\"workingSpaceLUT\").value())" +STARTLINE}
}
NoOp {
name SET_PROJECT1
tile_color 0x8a39dbff
note_font "Verdana Bold"
note_font_size 24
xpos -810
ypos -4912
addUserKnob {20 User}
addUserKnob {22 set_range l "SET RANGE" t "Sets the project's frame range to the input's first and last frames.\nThe range will automatically reset to start at frame 1001." T "def remap_range(input_start, input_end, desired_start=1001):\n\tinput_start = int(input_start)\n\tinput_end = int(input_end)\n\toffset = desired_start - input_start\n\tremapped_range = range(input_start + offset, input_end + offset + 1)\n\n\treturn list(remapped_range)\n\nrange_first = 1001\nrange_last = 1250\n\nif nuke.thisNode().input(0):\n\tremapped_range = remap_range(nuke.thisNode().firstFrame(), nuke.thisNode().lastFrame())\n\t\t\n\trange_first = remapped_range\[0]\n\trange_last = \tremapped_range\[-1]\n\n\tnuke.root().knob(\"first_frame\").setValue(range_first)\n\tnuke.root().knob(\"last_frame\").setValue(range_last)\n\n\tnuke.frame(range_first)" +STARTLINE}
addUserKnob {22 reset_range l RESET t "Resets the project's frame range to 1001-1250." -STARTLINE T "range_first = 1001\nrange_last = 1250\n\nnuke.root().knob(\"first_frame\").setValue(range_first)\nnuke.root().knob(\"last_frame\").setValue(range_last)\n\nnuke.frame(range_first)"}
addUserKnob {22 set_format l "SET FORMAT" t "Matches the project's format with the input's format." T "if nuke.thisNode().input(0):\n\ttopnode_name = nuke.tcl(\"full_name \[topnode %s]\" % nuke.thisNode().input(0).name())\n\ttopnode = nuke.toNode(topnode_name)\n\n\tif topnode:\n\t\tif topnode.knob(\"format\"):\n\t\t\tformat = topnode.knob(\"format\").value()\n\t\t\twidth = format.width()\n\t\t\theight = format.height()\n\t\t\taspect = format.pixelAspect()\n\t\t\tformat_name = f\"\{width\}x\{height\}\"\n\n\t\t\texisting_formats = \[f.name() for f in nuke.formats()]\n\n\t\t\tif format_name not in existing_formats:\n\t\t\t\tnew_format = nuke.addFormat(f\"\{width\} \{height\} \{aspect\} \{format_name\}\")\n\n\t\t\tnuke.root().knob(\"format\").setValue(format_name)\n\t\telse:\n\t\t\tprint(\"Not\")" +STARTLINE}
addUserKnob {22 reset_format l RESET t "Resets the project's format to \"UHD_4K\"." -STARTLINE T "format_name = \"UHD_4K\"\nexisting_formats = \[f.name() for f in nuke.formats()]\n\nif format_name not in existing_formats:\n\tnew_format = nuke.addFormat(f\"\{3840\} \{2160\} \{1.0\} \{format_name\}\")\n\nnuke.root().knob(\"format\").setValue(format_name)"}
}
Dot {
name Dot4
xpos -788
ypos -4770
}
set Naecde000 [stack 0]
ViewMetaData {
name ViewMetaData1
xpos -590
ypos -4761
}
Dot {
inputs 0
name Dot21
xpos 202
ypos -7338
}
NoOp {
name Anchor_d807bb6e7
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.anchorOnCreate()\n except:\n pass"
knobChanged stamps.anchorKnobChanged()
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0xffffff01
note_font_size 20
xpos 180
ypos -7238
addUserKnob {20 anchor_tab l "Anchor Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title roto_mb
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T roto_mb}
addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_d807bb6e7}
addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
tags 2D,
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Naecdec00 [stack 0]
PostageStamp {
name Stamp5
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos 180
ypos -7166
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title roto_mb
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T roto_mb}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>ROTO</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_d807bb6e7
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Dot {
inputs 0
name Dot20
xpos 3062
ypos -7338
}
NoOp {
name Anchor_1e04d64fa2
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.anchorOnCreate()\n except:\n pass"
knobChanged stamps.anchorKnobChanged()
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0xffffff01
note_font_size 20
xpos 3040
ypos -7238
addUserKnob {20 anchor_tab l "Anchor Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title assets
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T assets}
addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_1e04d64fa2}
addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
tags 2D,
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Naecdf800 [stack 0]
PostageStamp {
name Stamp7
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos 3040
ypos -7166
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title assets
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T assets}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T "<i><center>MISC ASSETS</i>"}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_1e04d64fa2
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Dot {
inputs 0
name Dot18
xpos -2878
ypos -7338
}
NoOp {
name Anchor_21fbe55a0b
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.anchorOnCreate()\n except:\n pass"
knobChanged stamps.anchorKnobChanged()
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0xffffff01
note_font_size 20
xpos -2900
ypos -7238
addUserKnob {20 anchor_tab l "Anchor Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title cg
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T cg}
addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_21fbe55a0b}
addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
tags 2D,
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Naed06400 [stack 0]
PostageStamp {
name Stamp8
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos -2900
ypos -7166
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title cg
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T cg}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>CG</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_21fbe55a0b
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Naecde000
Dot {
name Dot1
xpos -788
ypos -3978
}
OFXcom.absoft.neatvideo5_v5 {
DNP ""
ProfileName "no profile"
NFP ""
PresetName default
ParamsHash1 0
ParamsHash2 0
ParamsHash3 0
name "Reduce Noise v5_1"
xpos -810
ypos -3873
}
Write {
file "\[getenv CVRT_SHOT_ROOT]/Input/plates/\[string range \[file tail \[value \[topnode].file]] 0 \[expr \{\[string first \".\" \[file tail \[value \[topnode].file]]] - 1\}]]_dn/\[string range \[file tail \[value \[topnode].file]] 0 \[expr \{\[string first \".\" \[file tail \[value \[topnode].file]]] - 1\}]]_dn.%04d.exr"
file_type exr
compression "Zip (16 scanlines)"
first_part rgba
colorspace Gamma2.6
create_directories true
checkHashOnRead false
version 44
ocioColorspace ACES2065-1
display "sRGB - Display"
view "ACES 1.0 - SDR Video"
name Write6
label "\n\n\[python os.path.normpath(nuke.thisNode().knob(\"file\").evaluate())]"
xpos -810
ypos -3819
}
Dot {
name Dot7
xpos -788
ypos -3474
}
NoOp {
name Anchor_7da7cf1af
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.anchorOnCreate()\n except:\n pass"
knobChanged stamps.anchorKnobChanged()
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0xffffff01
note_font_size 20
xpos -810
ypos -3374
addUserKnob {20 anchor_tab l "Anchor Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title FG_degrained
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_dn}
addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_7da7cf1af}
addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
tags 2D,
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Naebbc000 [stack 0]
PostageStamp {
name Stamp13
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos 70
ypos 130
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title FG_degrained
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_degrained}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>DENOISE</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_7da7cf1af
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Dot {
name Dot2
xpos 92
ypos 414
}
set Naebbc800 [stack 0]
Dot {
name Dot23
xpos -678
ypos 414
}
push $Naebbc800
Dot {
name Dot22
xpos 862
ypos 414
}
push $Naecdf800
PostageStamp {
name Stamp9
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos -3120
ypos 6514
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title assets
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T assets}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T "<i><center>MISC ASSETS</i>"}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_1e04d64fa2
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Naed06400
PostageStamp {
name Stamp10
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos -3340
ypos 6514
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title cg
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T cg}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>CG</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_21fbe55a0b
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
CheckerBoard2 {
inputs 0
name CheckerBoard6
xpos 950
ypos -5313
}
AppendClip {
firstFrame {{root.first_frame}}
time ""
name AppendClip2
xpos 950
ypos -5097
}
OCIODisplay {
colorspace ACEScg
display "sRGB - Display"
view "ACES 1.0 - SDR Video"
invert true
name INVERSE_DISPLAY_TRANSFORM3
xpos 950
ypos -5001
addUserKnob {20 User}
addUserKnob {52 python l "" +STARTLINE T "nuke.thisNode().knob(\"colorspace\").setValue(nuke.root().knob(\"workingSpaceLUT\").value())" +STARTLINE}
}
NoOp {
name SET_PROJECT2
tile_color 0x8a39dbff
note_font "Verdana Bold"
note_font_size 24
xpos 950
ypos -4912
addUserKnob {20 User}
addUserKnob {22 set_range l "SET RANGE" t "Sets the project's frame range to the input's first and last frames.\nThe range will automatically reset to start at frame 1001." T "def remap_range(input_start, input_end, desired_start=1001):\n\tinput_start = int(input_start)\n\tinput_end = int(input_end)\n\toffset = desired_start - input_start\n\tremapped_range = range(input_start + offset, input_end + offset + 1)\n\n\treturn list(remapped_range)\n\nrange_first = 1001\nrange_last = 1250\n\nif nuke.thisNode().input(0):\n\tremapped_range = remap_range(nuke.thisNode().firstFrame(), nuke.thisNode().lastFrame())\n\t\t\n\trange_first = remapped_range\[0]\n\trange_last = \tremapped_range\[-1]\n\n\tnuke.root().knob(\"first_frame\").setValue(range_first)\n\tnuke.root().knob(\"last_frame\").setValue(range_last)\n\n\tnuke.frame(range_first)" +STARTLINE}
addUserKnob {22 reset_range l RESET t "Resets the project's frame range to 1001-1250." -STARTLINE T "range_first = 1001\nrange_last = 1250\n\nnuke.root().knob(\"first_frame\").setValue(range_first)\nnuke.root().knob(\"last_frame\").setValue(range_last)\n\nnuke.frame(range_first)"}
addUserKnob {22 set_format l "SET FORMAT" t "Matches the project's format with the input's format." T "if nuke.thisNode().input(0):\n\ttopnode_name = nuke.tcl(\"full_name \[topnode %s]\" % nuke.thisNode().input(0).name())\n\ttopnode = nuke.toNode(topnode_name)\n\n\tif topnode:\n\t\tif topnode.knob(\"format\"):\n\t\t\tformat = topnode.knob(\"format\").value()\n\t\t\twidth = format.width()\n\t\t\theight = format.height()\n\t\t\taspect = format.pixelAspect()\n\t\t\tformat_name = f\"\{width\}x\{height\}\"\n\n\t\t\texisting_formats = \[f.name() for f in nuke.formats()]\n\n\t\t\tif format_name not in existing_formats:\n\t\t\t\tnew_format = nuke.addFormat(f\"\{width\} \{height\} \{aspect\} \{format_name\}\")\n\n\t\t\tnuke.root().knob(\"format\").setValue(format_name)\n\t\telse:\n\t\t\tprint(\"Not\")" +STARTLINE}
addUserKnob {22 reset_format l RESET t "Resets the project's format to \"UHD_4K\"." -STARTLINE T "format_name = \"UHD_4K\"\nexisting_formats = \[f.name() for f in nuke.formats()]\n\nif format_name not in existing_formats:\n\tnew_format = nuke.addFormat(f\"\{3840\} \{2160\} \{1.0\} \{format_name\}\")\n\nnuke.root().knob(\"format\").setValue(format_name)"}
}
Dot {
name Dot24
xpos 972
ypos -4770
}
set Naebeb000 [stack 0]
ViewMetaData {
name ViewMetaData2
xpos 1170
ypos -4761
}
push $Naebeb000
NoOp {
name Anchor_2d7fd1
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.anchorOnCreate()\n except:\n pass"
knobChanged stamps.anchorKnobChanged()
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0xffffff01
note_font_size 20
xpos 730
ypos -4766
addUserKnob {20 anchor_tab l "Anchor Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title BG_plate
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T plate}
addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_2d7fd1}
addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
tags 2D,
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
PostageStamp {
name Stamp14
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos 730
ypos -4718
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title BG_plate
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T BG_plate}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>PLATE</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_2d7fd1
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Naebeb000
Dot {
name Dot25
xpos 972
ypos -3978
}
OFXcom.absoft.neatvideo5_v5 {
DNP ""
ProfileName "no profile"
NFP ""
PresetName default
ParamsHash1 0
ParamsHash2 0
ParamsHash3 0
name "Reduce Noise v5_2"
xpos 950
ypos -3873
}
Write {
file "\[getenv CVRT_SHOT_ROOT]/Input/plates/\[string range \[file tail \[value \[topnode].file]] 0 \[expr \{\[string first \".\" \[file tail \[value \[topnode].file]]] - 1\}]]_dn/\[string range \[file tail \[value \[topnode].file]] 0 \[expr \{\[string first \".\" \[file tail \[value \[topnode].file]]] - 1\}]]_dn.%04d.exr"
file_type exr
compression "Zip (16 scanlines)"
first_part rgba
create_directories true
checkHashOnRead false
version 44
in_colorspace ACES2065-1
out_colorspace scene_linear
ocioColorspace ACES2065-1
display "sRGB - Display"
view "ACES 1.0 - SDR Video"
name Write3
label "\n\n\[python os.path.normpath(nuke.thisNode().knob(\"file\").evaluate())]"
xpos 950
ypos -3819
}
Dot {
name Dot26
xpos 972
ypos -3474
}
NoOp {
name Anchor_7da7cf1af1
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.anchorOnCreate()\n except:\n pass"
knobChanged stamps.anchorKnobChanged()
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0xffffff01
note_font_size 20
xpos 950
ypos -3374
addUserKnob {20 anchor_tab l "Anchor Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title BG_degrained
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T dn}
addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_7da7cf1af1}
addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
tags 2D,
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
PostageStamp {
name Stamp15
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos 950
ypos -3326
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title BG_degrained
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T BG_degrained}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>DENOISE</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_7da7cf1af1
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Naebbc000
PostageStamp {
name Stamp2
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos -810
ypos -3326
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title FG_degrained
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_degrained}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>DENOISE,<center>PLATE</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_7da7cf1af
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
CheckerBoard2 {
inputs 0
name CheckerBoard3
xpos 400
ypos -5289
}
NoOp {
name Anchor_3da2192eb2
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.anchorOnCreate()\n except:\n pass"
knobChanged stamps.anchorKnobChanged()
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0xffffff01
note_font_size 20
xpos 400
ypos -5150
addUserKnob {20 anchor_tab l "Anchor Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title ref_3
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T ref_1}
addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_3da2192eb2}
addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
tags 2D,
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
PostageStamp {
name Stamp18
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos 400
ypos -5102
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title ref_3
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T ref_3}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>REF,<center>PLATE</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_3da2192eb2
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Naecde000
NoOp {
name Anchor_2d7fd50644
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.anchorOnCreate()\n except:\n pass"
knobChanged stamps.anchorKnobChanged()
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0xffffff01
note_font_size 20
xpos -1030
ypos -4766
addUserKnob {20 anchor_tab l "Anchor Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title FG_plate
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_plate}
addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_2d7fd50644}
addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
tags 2D,
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Na70e8c00 [stack 0]
PostageStamp {
name Stamp1
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos -1030
ypos -4718
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title FG_plate
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_plate}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>PLATES,<center>IN</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_2d7fd50644
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Naebbc000
PostageStamp {
name Stamp21
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos 70
ypos 1666
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title FG_degrained
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_degrained}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>DENOISE</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_7da7cf1af
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Dot {
name Dot3
xpos 92
ypos 2190
}
NoOp {
name Anchor_feb4243e5
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.anchorOnCreate()\n except:\n pass"
knobChanged stamps.anchorKnobChanged()
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0xffffff01
note_font_size 20
xpos 70
ypos 5074
addUserKnob {20 anchor_tab l "Anchor Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title FG_cleanup
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_cleanup}
addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_feb4243e5}
addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
tags 2D,
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Na70e9c00 [stack 0]
PostageStamp {
name Stamp23
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos 70
ypos 5122
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title FG_cleanup
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_cleanup}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>CLEANUP</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_feb4243e5
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Na70e8c00
PostageStamp {
name Stamp22
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos -260
ypos 18634
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title FG_plate
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_plate}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>PLATE</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_2d7fd50644
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Naebbc000
PostageStamp {
name Stamp6
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos 400
ypos 17722
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title FG_degrained
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_degrained}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>DENOISE</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_7da7cf1af
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Na70e8c00
PostageStamp {
name Stamp3
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos -260
ypos 17722
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title FG_plate
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_plate}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>PLATE</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_2d7fd50644
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Naecdec00
PostageStamp {
name Stamp12
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos 4690
ypos 9850
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title roto_mb
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T roto_mb}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>ROTO</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_d807bb6e7
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Dot {
name Dot48
xpos 4712
ypos 10182
}
Dot {
inputs 0
name Dot19
xpos -18
ypos -7338
}
NoOp {
name Anchor_232b89ffe3
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.anchorOnCreate()\n except:\n pass"
knobChanged stamps.anchorKnobChanged()
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0xffffff01
note_font_size 20
xpos -40
ypos -7238
addUserKnob {20 anchor_tab l "Anchor Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title roto
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T roto}
addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_232b89ffe3}
addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
tags 2D,
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Naea49c00 [stack 0]
PostageStamp {
name Stamp11
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos 4250
ypos 9850
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title roto
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T roto}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>ROTO</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_232b89ffe3
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Switch {
inputs 2
which 1
name Switch2
xpos 4250
ypos 10191
}
Dot {
name Dot31
xpos 4272
ypos 11046
}
push $Na70e9c00
PostageStamp {
name Stamp28
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos 70
ypos 7413
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title FG_cleanup
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_cleanup}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>CLEANUP</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_feb4243e5
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Dot {
name Dot9
xpos 92
ypos 8262
}
set Naea83000 [stack 0]
Dot {
name Dot10
xpos 3282
ypos 8262
}
Copy {
inputs 2
from0 rgba.alpha
to0 rgba.alpha
name Copy1
xpos 3260
ypos 11049
}
Premult {
name Premult1
xpos 3260
ypos 11127
}
Dot {
name Dot11
xpos 3282
ypos 12462
}
Dot {
inputs 0
name Dot6
xpos -3208
ypos 6726
}
Dot {
name Dot5
xpos -3208
ypos 10254
}
push $Naea83000
Merge2 {
inputs 2
name Merge1
xpos 70
ypos 10263
}
Merge2 {
inputs 2
name Merge2
xpos 70
ypos 12471
disable true
}
Reformat {
name Reformat1
xpos 70
ypos 16503
}
Remove {
operation keep
channels rgb
name Remove1
xpos 70
ypos 16527
}
NoOp {
name Anchor_12ba88c423
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.anchorOnCreate()\n except:\n pass"
knobChanged stamps.anchorKnobChanged()
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0xffffff01
note_font_size 20
xpos 70
ypos 16906
addUserKnob {20 anchor_tab l "Anchor Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title MAIN_COMP_DEGRAINED
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MASTER_COMP_DEGRAINED}
addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_12ba88c423}
addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
tags 2D,
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Na74fa000 [stack 0]
PostageStamp {
name Stamp31
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos 70
ypos 16954
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title MAIN_COMP_DEGRAINED
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MAIN_COMP_DEGRAINED}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." +HIDDEN T " "}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_12ba88c423
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Group {
inputs 3
name DasGrain
help "DasGrain makes regraining as simple as clicking a few buttons.\n\nFollow the steps in the Help tab and you'll have a perfect regrain in no time!"
onCreate "import random\n\ntestimonials = \[\n \"Such an elegant solution, love it!\",\n \"Your gizmo is beyond expectation\",\n \"Totally awesome!\",\n \"DasGrain is officially the best thing ever\",\n \"It's really working!\",\n \"Das bringt Tr&auml;nen in meine Augen\",\n \"DasGrain is the salvation we waited for\",\n \"I save a lot of time, and definitely my nerves :)\",\n \"It's alright\",\n \"My new favourite node, thanks!<br>Having said that, ...\"\n ]\n\nnode = nuke.thisNode()\nnode\['testimonial'].setValue('<br><br><br><i>&laquo;%s&raquo;</i><br>&mdash; anonymous<br><br>' % random.choice(testimonials))\nnode\['box'].setFlag(nuke.NO_ANIMATION)"
knobChanged "n = nuke.thisNode()\nk = nuke.thisKnob()\n\nif k.name() == 'box':\n this_frame = nuke.frame()\n n\['sample_frame'].setValue(this_frame)\n\nif k.name() == 'scatter':\n n\['divider04'].setVisible(k.value() == False)\n n\['divider05'].setVisible(k.value() == True)"
tile_color 0x7f7f7fff
xpos 70
ypos 17721
addUserKnob {20 DasGrain_tab l DasGrain}
addUserKnob {41 output t "<strong>regrained comp</strong> it is what it sais\n<strong>plate grain</strong> plate minus degrained plate\n<strong>normalised grain</strong> check if the normalization worked. It should be as even as possible. This is what you want to output if you want to prerender a grain plate. Later you can plug it into the <i>external grain</i> input of another DasGrain\n<strong>adapted grain</strong> check if the adaptation worked. Output this if you want to further manipulate the grain (who knows what the sup is gonna come up with...). After, simply plus it to your comp (at that point the comp has to be in the <i>camera</i> colorspace, as set in the <i>Analyze</i> tab).\n<strong>grain QC</strong> check if voronoi seams are visible (&#8594; edgeblend), or the scattered grain looks different to the original plate grain (&#8594; maybe bad sample area or wrong luminance degrain amount)" T Output.output}
addUserKnob {4 meta l "metadata from" t "Chances are you want to use the metadata from the plate, but who am I to assume :)" M {COMP PLATE}}
addUserKnob {26 spacer01_1 l " " T " "}
addUserKnob {20 GrainGroupBegin l "" +STARTLINE n -2}
addUserKnob {20 Analyze_tab l Analyze}
addUserKnob {26 text l <strong>Colorspace}
addUserKnob {41 project_colorspace l project t "set this to the project color space" T OCIOColorSpace1.in_colorspace}
addUserKnob {22 python_button l "What's this all about?" -STARTLINE T "nuke.message(\"Regraining in other color spaces than the camera native linear space can lead to unexpected behaviour.\\n\\nFor example converting Alexa plates to ACEScg might introduce negative values due to ACEScg's smaller gamut. In that case converting back to ARRI Linear ALEXA Wide Gamut will probably help.\\nJust set <i>project</i> to ACEScg and <i>camera</i> to ARRI Linear ALEXA Wide Gamut.\\n\\nThis might be transferable to other cameras, but I've only tested with Alexas.\\n---------\\nBypass by setting both knobs to the same value.\")"}
addUserKnob {41 camera_colorspace l camera t "set this to the camera native linear space" T OCIOColorSpace1.out_colorspace}
addUserKnob {26 text_2 l " " T " "}
addUserKnob {26 level l "<strong>Degrain amount"}
addUserKnob {78 luminance t "Leave this at 1 if you're working on a completely degrained plate.\n\nIn case you decided to leave some luminance grain in the degrained plate (use the DegrainHelper node for this!), set this to the same value as in the DegrainHelper in order to compensate.\n\nIf the luminance degrain amount was set to 0.8, this needs to be set to 0.8 as well.\n\nYou need to select a mask of all elements that cover the plate, otherwise the grain of whole comp will be too strong " n 1}
luminance 1
addUserKnob {26 divider01 l " "}
addUserKnob {41 degrain_amount_mask l "degrain amount mask" t "Use this channel from the mask input to specify in what area of the comp the missing luminance grain needs to be compensated." T Multiply1.maskChannelMask}
addUserKnob {41 invert_mask l invert -STARTLINE T Multiply1.invert_mask}
addUserKnob {26 spacer02 l " " T " "}
addUserKnob {26 divider02 l <strong>Analyze}
addUserKnob {3 number_of_frames l "number of frames" t "Set the number of sample frames to be spread across the input range.\n\nMore frames lead to higher accuracy.\n\nIf there are particularly bright or dark frames, set them manually in the knob below to make sure they are part of the analysis.\n\nIf you want to set all sample frames manually, set this to 0 and add the frames in the knob below."}
number_of_frames 10
addUserKnob {1 additional_frames l "additional frames" t "Set additional frames like this:\n\n1001,1020,1053 (single frames)\n1020-1040 (frame ranges)\n1020-1040x4 (frame ranges with step)"}
addUserKnob {3 sample_count l "sample count" t "The samples are spread across the sample range (which gets calculated automatically) based on the AlexaV3LogC curve. This results in more samples in the dark areas and less samples in the brights.\n\nMore samples lead to a more detailed response curve (while the accuracy is limited by the quality of the degrain)."}
sample_count 20
addUserKnob {22 analyze l Analyze t "this is where the magic happens" T "import base64\nthis = nuke.thisNode()\n\n\ndef _sample_count(this):\n \"\"\"returns the sample count\"\"\"\n\n sample_count = int(this\['sample_count'].value())\n\n if sample_count <= 0:\n raise RuntimeError('Enter a sample count greater than 0')\n\n else:\n return sample_count\n\n\ndef _generate_frame_list(this):\n \"\"\"converts the frames submitted by the user into a list\"\"\"\n\n frame_list = \[]\n number_of_frames = int(this\['number_of_frames'].value())\n additional_frames = this\['additional_frames'].value()\n\n if number_of_frames < 1 and additional_frames is '':\n raise RuntimeError('Either set the number of frames > 0\\nor define additional frames')\n\n first_frame = max(this.input(1).firstFrame(), this.input(2).firstFrame())\n last_frame = min(this.input(1).lastFrame(), this.input(2).lastFrame())\n\n if number_of_frames > 0:\n distance = (last_frame - first_frame) / (number_of_frames)\n frame = first_frame + distance / 2\n\n for x in range(number_of_frames):\n int_frame = int(round(frame))\n if int_frame not in frame_list:\n frame_list.append(int_frame)\n\n frame += distance\n\n frange = nuke.FrameRanges(additional_frames.split(','))\n\n for r in frange:\n for f in r:\n if f >= first_frame and f <= last_frame:\n if f not in frame_list:\n frame_list.append(f)\n\n frame_list.sort()\n\n return frame_list\n\n\ndef _setup_for_multiframe(frame_list):\n \"\"\" arranges all sample frames next to each other, starting at frame 0\n and sets the frame number knob of the FrameBlend node\"\"\"\n\n time_warp = nuke.toNode('TimeWarp1')\n time_warp\['lookup'].clearAnimated()\n time_warp\['lookup'].setAnimated()\n anim_list = \[]\n\n for n, frame in enumerate(frame_list):\n anim_list.append(nuke.AnimationKey(n, frame))\n\n anim = time_warp\['lookup'].animation(0)\n anim.addKey(anim_list)\n\n frame_blend = nuke.toNode('FrameBlend1')\n frame_blend\['endframe'].setValue(len(frame_list)-1)\n\n\ndef _generate_sample_list(sample_count, sample_range, sample_radius):\n \"\"\"generate a list of sample values spread equally between the\n min and max values of the sample range\"\"\"\n\n sample_list = \[]\n\n for item in range(0, sample_count):\n sample_list.append(float(item) / sample_count * (sample_range\[1] - sample_range\[0]) + sample_range\[0] + sample_radius)\n\n return sample_list\n\n\ndef _get_sample_range(channel, channel_list, frame_list):\n \"\"\" samples the minimum and maximum values of the given frame range and\n sets the sample range to those values\"\"\"\n\n curve_tool = nuke.toNode('CurveTool_Range')\n min_knob = curve_tool\['minlumapixvalue']\n max_knob = curve_tool\['maxlumapixvalue']\n\n min_knob.setAnimated()\n max_knob.setAnimated()\n\n curve_tool\['channels'].setValue(channel)\n\n nuke.execute(curve_tool, nuke.FrameRanges(frame_list))\n\n index = channel_list.index(channel)\n min_list = \[key.y for key in min_knob.animation(index).keys()]\n max_list = \[key.y for key in max_knob.animation(index).keys()]\n\n min_value = min(min_list)\n max_value = max(max_list)\n\n min_knob.clearAnimated()\n max_knob.clearAnimated()\n curve_tool\['minlumapixdata'].clearAnimated()\n curve_tool\['maxlumapixdata'].clearAnimated()\n\n return \[min_value, max_value]\n\n\ndef _sample_it(keyer, curve_tool, sample, sample_radius):\n \"\"\"analyze the grain level per channel and sample value in the sample range\"\"\"\n\n keyer\['temp_expr0'].setValue(str(sample - sample_radius))\n keyer\['temp_expr1'].setValue(str(sample + sample_radius))\n\n intensity_knob = curve_tool\['intensitydata']\n intensity_knob.clearAnimated()\n intensity_knob.setAnimated()\n\n nuke.execute(curve_tool, nuke.frame(), nuke.frame())\n sample_values = intensity_knob.value()\n intensity_knob.clearAnimated()\n\n return sample_values\n\n\ndef check_inputs(this):\n if this.input(1) is None:\n raise RuntimeError('no plate connected')\n\n if this.input(2) is None:\n raise RuntimeError('no degrained plate connected')\n\n def format_tuple(node):\n return node.format().width(), node.format().height(), node.format().pixelAspect()\n\n if format_tuple(this.input(1)) != format_tuple(this.input(2)):\n raise RuntimeError(\"Format missmatch: Make sure the formats of plate and degrained plate match.\")\n\n\ndef start(this):\n \"\"\"let's do this!\"\"\"\n\n check_inputs(this)\n\n with this:\n frame_list = _generate_frame_list(this)\n _setup_for_multiframe(frame_list)\n sample_count = _sample_count(this)\n\n blank = base64.b64decode('cmVkIHtjdXJ2ZX0KZ3JlZW4ge2N1cnZlfQpibHVlIHtjdXJ2ZX0=').decode('ascii')\n\n lut = nuke.toNode('Sampler1')\['lut']\n lut.fromScript(blank)\n\n channel_list = \['red', 'green', 'blue']\n\n keyer = nuke.toNode('Expression2')\n copy = nuke.toNode('Copy2')\n\n curve_tool = nuke.toNode('CurveTool')\n pixel = curve_tool\['ROI'].value()\[2] * curve_tool\['ROI'].value()\[3]\n\n task = nuke.ProgressTask('Analysing...')\n step = 100.0 / 3 / sample_count\n progress = step\n\n time_warp = nuke.toNode('TimeWarp1')\n frame_blend = nuke.toNode('FrameBlend1')\n\n time_warp\['disable'].setValue(False)\n frame_blend\['disable'].setValue(False)\n\n for channel in channel_list:\n task.setMessage('\{\} range'.format(channel))\n\n copy\['from0'].setValue('rgba.\{\}'.format(channel))\n\n sample_range = _get_sample_range(channel, channel_list, frame_list)\n sample_radius = (sample_range\[1] - sample_range\[0]) / sample_count / 2\n sample_list = _generate_sample_list(sample_count, sample_range, sample_radius)\n\n for sample in sample_list:\n if task.isCancelled():\n return\n\n task.setProgress(int(progress))\n\n sample_values = _sample_it(keyer, curve_tool, sample, sample_radius)\n\n task.setMessage('\{\} channel at \{\}'.format(channel, round(sample, 2)))\n\n if sample_values\[3] * pixel >= 10:\n lut.setValueAt(sample_values\[0] / sample_values\[3], sample_values\[1] / sample_values\[3], channel_list.index(channel))\n\n progress += step\n\n time_warp\['lookup'].clearAnimated()\n time_warp\['disable'].setValue(True) # hopefully prevents slowing down the comp\n frame_blend\['disable'].setValue(True) # hopefully prevents slowing down the comp\n\n del task\n\n\nstart(this)\n" +STARTLINE}
addUserKnob {26 divider03 l " "}
addUserKnob {41 analysis_mask l "analysis mask" t "Use this channel from the mask input to control what area of the plate will be analyzed.\n\nUsefull if the degrain is obviously bad in some areas." T ChannelMerge1.A}
addUserKnob {6 invert_1 l invert -STARTLINE}
addUserKnob {20 Adjust_tab l Adjust}
addUserKnob {22 whatsthis l "What am I looking at?" T "nuke.message(\"After the analysis you'll see the sampled grain response curves here. On the x-axis is the brightness of the image and on the y-axis the grain intensity. Grain increases with brightness, so <strong>the slope of the curves should always be positive</strong> (they should always go up &#8599;).<br><br>The quality of the curves depends entirely on the quality of the degrain. If the curves look wrong (for example they go up and down), try to improve the degrain first. If they still look wrong and the resulting regrain doesn't work well enough, you can try to improve the curves here by deleting/correcting all points that don't follow an upwards trend.<br><br>You can also extend the curves (again: with an upwards trend) if the comp has values that don't exist in the plate.<br><br>Note: The curve is used for both the normalization as well as the adaptation of the grain, so it doesn't give direct control of the grain intensity.\")" +STARTLINE}
addUserKnob {41 lut l "" +STARTLINE T Sampler1.lut}
addUserKnob {20 Replace_tab l Replace}
addUserKnob {6 external_grain l "use external grain" t "Use external grain from a second DasGrain, with the output set to 'normalised grain', to replace masked area.\nConnect it to the 'external grain' input of this DasGrain (it's a bit hidden on the left side of the node)." +STARTLINE}
addUserKnob {26 divider04 l <strong>Scatter}
addUserKnob {26 divider05 l <strong>Scatter +HIDDEN T "<span style=\"color:red\">Make sure you're sampling an area without any plate detail.</a>"}
addUserKnob {6 scatter l activate t "Activates the scatter function. It generates a new grain based on the plate grain in the sample box using a Voronoi noise." +STARTLINE}
addUserKnob {41 useGPUIfAvailable l "Use GPU if available" -STARTLINE T VoronoiScatter.useGPUIfAvailable}
addUserKnob {15 box l "sample box" t "Define an area that is used as a source for the scatter function. The plate grain in this area should be as even as possible, without any visible detail."}
box {100 100 500 300}
addUserKnob {3 sample_frame l "sample frame" t "The frame at which the grain is being sampled. Is set automatically once the sample box is changed." +DISABLED}
sample_frame 1
addUserKnob {4 stereo l "stereo behaviour" t "randomize offset per view: same voronoy pattern for all views, but different offset\n\nrandomize pattern per view: different voronoy pattern for every view" M {none "randomize offset per view" "randomize pattern per view" ""}}
addUserKnob {26 spacer06 l "" +STARTLINE T " "}
addUserKnob {6 overlay l "overlay cell pattern" t "Overlay the cell pattern of the voronoy noise. Useful to check where the seams are and if distortion or blending is necessary." +STARTLINE}
addUserKnob {7 cell_size l "cell size" t "Cell size of the scatter. Shoudn't be too small, as lower grain frequencies might break.\nCan't be too big either, to prevent it from breaking the border of the samplebox (will error if it does)." R 5 100}
cell_size 40
addUserKnob {26 spacer07 l "" +STARTLINE T " "}
addUserKnob {20 concealer l "edge concealer" n 1}
concealer 0
addUserKnob {26 concealer_help l " " T "If you can see the voronoi pattern in the grain QC output,\nincrease the edge blend size."}
addUserKnob {3 edge_blend_size l "edge blend size" t "Set the output to grain QC. If you see the cell seams, increase the edge blend size to conceal them.\n\nThis is a bit hacky and slow."}
addUserKnob {26 tip l "" -STARTLINE T "sloooow - keep this below 3 if possible"}
addUserKnob {26 distortion_help l " " T "\nDistortion might help as well, if somehow the straight\nseams are visible (you might want to toggle the overlay\nwhile adjusting)."}
addUserKnob {7 amplitude R 0 50}
addUserKnob {7 frequency R 0 50}
frequency 15
addUserKnob {20 endGroup n -1}
addUserKnob {26 divider06 l "" +STARTLINE}
addUserKnob {41 replace_mask l "replace mask" t "Use this channel from the mask input to specify where you want to use scattered grain instead of the adapted plate grain." -STARTLINE T Merge9.maskChannelMask}
addUserKnob {41 invert_mask_1 l invert -STARTLINE T Merge9.invert_mask}
addUserKnob {20 GrainGroupEnd l "" +STARTLINE n -3}
addUserKnob {20 Help_tab l Help}
addUserKnob {26 basic_setup l "" +STARTLINE T "<font size=\"5\">Basic setup</font>"}
addUserKnob {26 ""}
addUserKnob {26 explanation l "" +STARTLINE T "<strong>Bold</strong> steps are always necessary"}
addUserKnob {26 steps l "" +STARTLINE T "<br><strong>1. This should be the only regrain node in your comp.<br>2. Connect <i>plate</i>, <i>degrained plate</i> and <i>comp</i>.<br>&nbsp;&nbsp;&nbsp;&nbsp;The comp should be done on the degrained plate!</strong><br>3. Set the <i>luminance degrain amount</i>.<br><strong>4. Press the <i>Analyze</i> button.</strong><br>5. Correct the response curves in the <i>Adjust</i> tab.<br>6. Move the <i>sample box</i> to an area without any plate detail and activate <i>scatter</i>.<br>7. If necessary, activate <i>edge blend</i> and/or <i>distortion</i> to conceal seams."}
addUserKnob {26 in_depth l "" +STARTLINE T "<br>For an in depth explanation of the steps, read the tooltips and check out this video:<br><a href=\"https://vimeo.com/284820390/\"><span style=\"color:#C8C8C8;\">https://vimeo.com/284820390</a>"}
addUserKnob {26 pushthebutton l "" +STARTLINE T "<br><br>If the result is not as expected and you don't know why, push this button:"}
addUserKnob {22 troubleshoot l Troubleshoot t HEEEEEEELP T "import base64\n\nmessages = \[]\n\nthis = nuke.thisNode()\n\n#########################\n\nif this.input(0) is None or this.input(1) is None or this.input(2) is None:\n messages.append(\"<font color='red'><strong>ERROR</strong></font> Plate, degrained plate and comp need to be connected to the appropriate inputs.\")\n\n#########################\n\nelse:\n\n def format_to_tuple(g):\n \"\"\"returns (1024, 786, 2.0)\n \"\"\"\n return (g.format().width(), g.format().height(), g.format().pixelAspect())\n\n format_set = set(\[\n format_to_tuple(this.input(0)),\n format_to_tuple(this.input(1)),\n format_to_tuple(this.input(2)),\n ])\n if len(format_set) != 1:\n messages.append(\"<font color='orange'><strong>WARNING</strong></font> Format missmatch: Make sure formats of plate, degrained plate and comp match.\")\n\n if (this.input(1).firstFrame() != this.input(2).firstFrame()) or (this.input(1).lastFrame() != this.input(2).lastFrame()):\n messages.append(\"<font color='orange'><strong>WARNING</strong></font> The frame ranges of plate and degrained plate don't match. Double check that they belong together.\")\n\n#########################\n\nmessages.append(\"Double check that plate and degrained plate haven't been modified in any way (paint, despill, etc).\")\n\n#########################\n\nif this\['luminance'].getValue() == 1:\n messages.append(\"Are you working on a completely degrained plate? If not, you might have to set the luminance degrain amount.\")\n\n#########################\n\nblank = base64.b64decode('cmVkIHtjdXJ2ZX0KZ3JlZW4ge2N1cnZlfQpibHVlIHtjdXJ2ZX0=').decode('ascii')\n\nwith this:\n Sampler = nuke.toNode('Sampler1') \n if Sampler\['lut'].toScript() == blank:\n messages.append(\"<font color='red'><strong>ERROR</strong></font> You haven't pressed the Analyze button yet!\")\n\n#########################\n\nclass BadThings(Exception): pass\n\ndef thingy():\n with this:\n Sampler = nuke.toNode('Sampler1')\n list = this\['lut'].toScript().replace('\}','').split('\\n')\n for item in list:\n sample_value = 0\n for value in item.split(' '):\n try:\n value == float(value)\n if value < sample_value:\n raise BadThings(\"<font color='orange'><strong>WARNING</strong></font> Check and fix the response curves. Their slopes should always be positive (the curves should always go up &#8599;).\")\n \n else:\n sample_value = value\n except ValueError:\n # Ignore non-numeric things like x-values of \"x5.46\" and channel names like \"red\{\" etc\n pass\ntry:\n thingy()\nexcept BadThings as e:\n messages.append(str(e))\n \n#########################\n\nif this\['scatter'].value() == True:\n if this\['box'].getValue() == \[100.0, 100.0, 500.0, 300.0]:\n messages.append(\"<font color='orange'><strong>WARNING</strong></font> Scatter has been activated, but the sample box is still in its default position. Are you sure that's a good area to sample?\")\n\n#########################\n\nmessages.append(\"Did you copy/paste DasGrain from another script? Make sure to reanalyze and to reset the sample area if you are using scatter.\")\n\n#########################\n\nif len(messages) > 0:\n nuke.message(\"<font size=\\\"5\\\">Things worth checking</font><br><br>\"\n \"%s<br><br><br>If any of this doesn't make sense to you, it might be worth checking out the video on vimeo.\" % (\n \"<hr>\".join(\"%s: %s\" % (i+1, m) for i, m in enumerate(messages))))\n" +STARTLINE}
addUserKnob {26 dont_despair l "" +STARTLINE T "<br>If it still doesn't work and you're about to flip the table, send me a <a href=\"mailto:holtzf+nuke@gmail.com?subject=Help with DasGrain v1.7.8\"><span style=\"color:#C8C8C8;\">mail</a>.<br>I'm happy to help! :)"}
addUserKnob {20 Info_tab l Info}
addUserKnob {26 dasname l "" +STARTLINE T "<font size='5'>DasGrain</font> v1.8<br>"}
addUserKnob {26 text_1 l "" +STARTLINE T "DasGrain makes regraining as simple as clicking a few buttons.<br>Follow the steps in the <i>Help</i> tab and you'll have a perfect\nregrain<br>in no time!"}
addUserKnob {26 ""}
addUserKnob {26 info l "" +STARTLINE T "Last change: 2021-03-07\n\n"}
addUserKnob {26 name_1 l "" +STARTLINE T "Fabian Holtz"}
addUserKnob {26 mail l "" +STARTLINE T "<a href=\"mailto:holtzf+nuke@gmail.com?subject=Help with DasGrain v1.7.8\"><span style=\"color:#C8C8C8;\">holtzf+nuke@gmail.com</a>"}
addUserKnob {26 testimonial l "" +STARTLINE T "<br><br><br><i>&laquo;Das bringt Tr&auml;nen in meine Augen&raquo;</i><br>&mdash; anonymous<br><br>"}
addUserKnob {26 ""}
addUserKnob {26 credit l "" +STARTLINE T "<br>VoronoiScatter based on <a href=\"http://www.nukepedia.com/blink/image/voronoi/\"><span style=\"color:#C8C8C8;\">Ivan Busquets' implementation</a> of<br> libNoise's\nVoronoi generator"}
addUserKnob {26 thanks l "" +STARTLINE T "<br>Special thanks to Ben Dickson for bearing with my questions and<br>problems and RSP comp for the valuable feedback."}
}
BackdropNode {
inputs 0
name BackdropNode1
tile_color 0x7f7f7fff
label "normalise grain"
note_font_size 30
xpos 170
ypos 1662
bdwidth 320
bdheight 110
}
BackdropNode {
inputs 0
name BackdropNode11
tile_color 0x7f7f7fff
label "add grain"
note_font_size 30
xpos 830
ypos 2766
bdwidth 320
bdheight 110
}
BackdropNode {
inputs 0
name BackdropNode13
tile_color 0x7f7f7fff
label scatter
note_font_size 30
xpos -50
ypos 2022
bdwidth 320
bdheight 110
}
BackdropNode {
inputs 0
name BackdropNode14
tile_color 0x7f7f7fff
label "analyze grain"
note_font_size 30
xpos -159
ypos 606
bdwidth 319
bdheight 877
}
BackdropNode {
inputs 0
name BackdropNode2
tile_color 0x7f7f7fff
label "grain response curve"
note_font_size 30
xpos 610
ypos 2574
bdwidth 320
bdheight 110
}
BackdropNode {
inputs 0
name BackdropNode3
tile_color 0x7f7f7fff
label QC
note_font_size 30
xpos 1050
ypos 3222
bdwidth 320
bdheight 110
}
BackdropNode {
inputs 0
name BackdropNode4
tile_color 0x7f7f7fff
label "grain response curve"
note_font_size 30
xpos 610
ypos 1422
bdwidth 320
bdheight 110
}
BackdropNode {
inputs 0
name BackdropNode5
tile_color 0x7f7f7fff
label "adapt grain"
note_font_size 30
xpos 170
ypos 2574
bdwidth 320
bdheight 110
}
BackdropNode {
inputs 0
name BackdropNode6
tile_color 0x7f7f7fff
label "sample range"
note_font_size 30
xpos -490
ypos 606
bdwidth 320
bdheight 110
}
BackdropNode {
inputs 0
name BackdropNode7
tile_color 0x7f7f7fff
label "luminance level"
note_font_size 30
xpos 280
ypos -282
bdwidth 760
bdheight 685
}
BackdropNode {
inputs 0
name BackdropNode8
tile_color 0x7f7f7fff
label "plate grain"
note_font_size 30
xpos 170
ypos 606
bdwidth 320
bdheight 110
}
BackdropNode {
inputs 0
name BackdropNode9
tile_color 0x7f7f7fff
label replace
note_font_size 30
xpos 60
ypos 2191
bdwidth 540
bdheight 226
}
Input {
inputs 0
name DEGRAINED_PLATE
label "\[value number]"
note_font_size 30
xpos 730
ypos -896
number 2
}
OCIOColorSpace {
in_colorspace {{OCIOColorSpace1.in_colorspace x17 7}}
out_colorspace {{OCIOColorSpace1.out_colorspace x17 7}}
name OCIOColorSpace2
xpos 730
ypos -490
}
Dot {
name Dot9
xpos 764
ypos -390
}
set Na754e000 [stack 0]
Dot {
name Dot28
xpos 764
ypos -198
}
set Na754e400 [stack 0]
Dot {
name Dot32
xpos 764
ypos 234
}
set Na754e800 [stack 0]
push $Na754e400
Dot {
name Dot27
xpos 624
ypos -198
}
Colorspace {
colorspace_out YCbCr
name Colorspace1
xpos 590
ypos -130
}
Dot {
name Dot7
xpos 624
ypos -54
}
set Na754f400 [stack 0]
Input {
inputs 0
name PLATE
label "\[value number]"
note_font_size 30
xpos 290
ypos -892
number 1
}
Dot {
name Dot50
xpos 324
ypos -726
}
set Na754fc00 [stack 0]
OCIOColorSpace {
in_colorspace scene_linear
out_colorspace scene_linear
name OCIOColorSpace1
xpos 290
ypos -490
}
Dot {
name Dot29
xpos 324
ypos -198
}
set Na732e400 [stack 0]
Dot {
name Dot6
xpos 464
ypos -198
}
Colorspace {
colorspace_out YCbCr
name Colorspace2
xpos 430
ypos -130
}
Merge2 {
inputs 2
operation from
bbox B
Achannels rgb
Bchannels rgb
output rgb
name Merge4
xpos 430
ypos -58
}
Multiply {
channels rgb
value {{"1 / parent.luminance - 1"} 0 0 0}
name Multiply6
xpos 430
ypos 14
}
Dot {
name Dot31
xpos 464
ypos 90
}
push $Na754f400
Merge2 {
inputs 2
operation plus
bbox B
Achannels rgb
Bchannels rgb
output rgb
name Merge5
xpos 590
ypos 86
}
Colorspace {
colorspace_in YCbCr
name Colorspace3
xpos 590
ypos 158
}
Merge2 {
inputs 2
operation from
bbox B
Achannels rgb
Bchannels rgb
output rgb
name Merge6
xpos 590
ypos 230
}
Dot {
name Dot35
xpos 624
ypos 306
}
set Na7360800 [stack 0]
push $Na754e800
Merge2 {
inputs 2
operation from
bbox B
Achannels rgb
Bchannels rgb
output rgb
name Merge7
xpos 730
ypos 302
disable {{"Multiply6.value.r == 0"}}
}
Dot {
name Dot2
xpos 764
ypos 522
}
set Na7361000 [stack 0]
Dot {
name Dot30
xpos 764
ypos 690
}
set Na7361400 [stack 0]
Dot {
name Dot55
xpos 764
ypos 1170
}
set Na7361800 [stack 0]
Input {
inputs 0
name mask
label "\[value number]"
note_font_size 30
xpos 1170
ypos -896
number 3
}
Dot {
name Dot39
xpos 1204
ypos 258
}
set Na738c000 [stack 0]
Dot {
name Dot26
xpos 1204
ypos 1074
}
set Na738c400 [stack 0]
Invert {
name Invert2
xpos 180
ypos 1064
disable {{!parent.invert_1}}
}
push $Na7361400
push $Na732e400
Merge2 {
inputs 2
operation from
bbox B
Achannels rgb
Bchannels rgb
output rgb
name Merge27
xpos 290
ypos 686
}
Dot {
name Dot3
xpos 324
ypos 786
}
set Na738d000 [stack 0]
Dot {
name Dot5
xpos 104
ypos 786
}
set Na738d400 [stack 0]
push $Na738d400
Copy {
inputs 2
from0 {{{parent.Copy2.from0}}}
to0 rgba.red
name Copy3
xpos 70
ypos 848
}
Expression {
expr0 abs(r)
channel1 {none none none rgba.alpha}
expr1 "r == 0"
channel2 none
channel3 none
name Expression4
xpos 70
ypos 926
}
set Na738dc00 [stack 0]
push $Na7361000
Colorspace {
colorspace_out AlexaV3LogC
name Colorspace5
xpos 70
ypos 518
}
Clamp {
maximum_enable false
name Clamp2
xpos -40
ypos 512
}
Dot {
name Dot1
xpos -116
ypos 522
}
set Naed4e800 [stack 0]
Dot {
name Dot48
xpos -116
ypos 786
}
set Naed4ec00 [stack 0]
push $Naed4ec00
Copy {
inputs 2
from0 rgba.blue
to0 rgba.red
name Copy2
xpos -150
ypos 848
}
Expression {
temp_name0 min
temp_name1 max
channel0 {none none none rgba.alpha}
expr0 "r >= min && r <= max"
channel1 none
channel2 none
channel3 none
name Expression2
xpos -150
ypos 926
}
Dot {
name Dot4
xpos -116
ypos 1002
}
ChannelMerge {
inputs 2
operation stencil
name ChannelMerge2
xpos -40
ypos 985
}
push $Na738dc00
Copy {
inputs 2
from0 rgba.alpha
to0 rgba.alpha
name Copy1
xpos 70
ypos 992
}
ChannelMerge {
inputs 2
A -rgba.green
operation multiply
name ChannelMerge1
xpos 70
ypos 1057
disable {{!A}}
}
Copy {
inputs 2
from0 {{{parent.Copy2.from0}}}
to0 rgba.green
name Copy4
xpos 70
ypos 1160
}
Premult {
channels {rgba.red rgba.green -rgba.blue none}
name Premult1
xpos 70
ypos 1238
}
TimeWarp {
lookup 1081
time ""
filter nearest
name TimeWarp1
xpos 70
ypos 1286
disable true
}
FrameBlend {
channels {rgba.red rgba.green -rgba.blue rgba.alpha}
startframe 0
endframe 9
userange true
name FrameBlend1
xpos 70
ypos 1352
disable true
}
CurveTool {
avgframes 0
channels {rgba.red rgba.green -rgba.blue rgba.alpha}
ROI {0 0 {width} {height}}
name CurveTool
xpos 70
ypos 1424
}
push $Naed4e800
Dot {
name Dot16
xpos -336
ypos 522
}
CurveTool {
operation "Max Luma Pixel"
channels {-rgba.red -rgba.green rgba.blue none}
ROI {0 0 {width} {height}}
name CurveTool_Range
xpos -370
ypos 680
}
Sampler {
inputs 0
lut {red {curve}
green {curve}
blue {curve}}
name Sampler1
onCreate "n = nuke.thisNode()\nn\['sampler'].setEnabled(False)"
knobChanged "n = nuke.thisNode()\nk = nuke.thisKnob()\np = nuke.thisParent()\n\nif k.name() == 'lut':\n with p:\n for c in \['ColorLookup1','ColorLookup2']:\n nuke.toNode(c)\['lut'].fromScript(k.toScript())"
xpos 840
ypos 1502
}
push $Na754fc00
Dot {
name Dot51
xpos 115
ypos -726
}
Input {
inputs 0
name COMP
label "\[value number]"
note_font_size 30
xpos 950
ypos -896
}
Dot {
name Dot49
xpos 984
ypos -605
}
set Na7127000 [stack 0]
Switch {
inputs 2
which {{parent.meta}}
name Switch1
xpos 81
ypos -609
}
Dot {
name Dot54
xpos 115
ypos -486
}
Dot {
name Dot52
xpos -685
ypos -486
}
Dot {
name Dot53
xpos -685
ypos 3762
}
push $Na738c000
Dot {
name Dot40
xpos 874
ypos 258
}
push $Na7360800
Dot {
name Dot34
xpos 624
ypos 378
}
Multiply {
inputs 1+1
channels rgb
value 0
maskChannelMask -rgba.red
name Multiply1
xpos 840
ypos 374
}
push $Na7127000
OCIOColorSpace {
in_colorspace {{OCIOColorSpace1.in_colorspace x17 7}}
out_colorspace {{OCIOColorSpace1.out_colorspace x17 7}}
name OCIOColorSpace3
xpos 950
ypos -490
}
Dot {
name Dot44
xpos 984
ypos -390
}
set Na714b400 [stack 0]
Merge2 {
inputs 2
operation from
bbox B
Achannels rgb
Bchannels rgb
output rgb
name Merge8
xpos 950
ypos 374
disable {{"Multiply6.value.r == 0"}}
}
Dot {
name Dot18
xpos 984
ypos 2658
}
set Na714bc00 [stack 0]
ColorLookup {
lut {master {}
red {curve}
green {curve}
blue {curve}
alpha {}}
name ColorLookup2
xpos 730
ypos 2654
}
push $Na738c400
Dot {
name Dot38
xpos 1204
ypos 1842
}
Dot {
name Dot37
xpos 544
ypos 1842
}
Dot {
name Dot22
xpos 544
ypos 2271
}
set Na7178c00 [stack 0]
Dot {
name Dot20
xpos 544
ypos 2391
}
push $Na7178c00
Dot {
name Dot17
xpos 434
ypos 2271
}
set Na7179400 [stack 0]
Dot {
name Dot13
xpos 214
ypos 2271
}
Input {
inputs 0
name external_grain
label "\[value number]"
note_font_size 30
xpos -150
ypos 1716
number 4
}
Dot {
name Dot21
xpos -116
ypos 1938
}
push $Na7361800
ColorLookup {
channels rgb
lut {master {}
red {curve}
green {curve}
blue {curve}
alpha {}}
name ColorLookup1
xpos 730
ypos 1502
}
Dot {
name Dot24
xpos 764
ypos 1746
}
push $Na738d000
Dot {
name Dot33
xpos 324
ypos 1386
}
MergeExpression {
inputs 2
temp_name0 target
temp_expr0 .01
expr0 "Br * (target / Ar)"
expr1 "Bg * (target / Ag)"
expr2 "Bb * (target / Ab)"
channel3 none
name MergeExpression1
xpos 290
ypos 1742
}
Dot {
name Dot15
xpos 324
ypos 1842
}
set Na7195400 [stack 0]
Dot {
name Dot25
xpos 104
ypos 1842
}
Switch {
inputs 2
which {{parent.external_grain}}
name Switch2
xpos 70
ypos 1934
}
Group {
name VoronoiScatter
xpos 70
ypos 2102
disable {{!parent.scatter}}
addUserKnob {20 User}
addUserKnob {41 useGPUIfAvailable l "Use GPU if available" T VoroNoise.useGPUIfAvailable}
addUserKnob {41 vectorize l "Vectorize on CPU" -STARTLINE T VoroNoise.vectorize}
addUserKnob {15 box}
box {{parent.box x1004 0 x1036 -75} {parent.box x1004 100 x1036 120} {parent.box x1004 496 x1036 325} {parent.box x1004 916 x1036 320}}
addUserKnob {3 sample_frame l "sample frame"}
sample_frame {{parent.sample_frame}}
addUserKnob {7 cell_size l "cell size" R 0 100}
cell_size {{parent.cell_size}}
addUserKnob {6 overlay_pattern l "overlay pattern" -STARTLINE}
overlay_pattern {{parent.overlay}}
addUserKnob {3 edge_blend_size l "edge blend size"}
edge_blend_size {{parent.edge_blend_size}}
addUserKnob {7 amplitude R 0 100}
amplitude {{parent.amplitude}}
addUserKnob {7 frequency R 0 100}
frequency {{parent.frequency}}
addUserKnob {41 VoroNoise_Seed l Seed T VoroNoise.VoroNoise_Seed}
}
Input {
inputs 0
name Input1
xpos 180
ypos -879
}
Dot {
name Dot14
xpos 214
ypos -750
}
set Na71be400 [stack 0]
Dot {
name Dot16
xpos 434
ypos -750
}
Remove {
name Remove1
xpos 400
ypos -687
}
Dot {
name Dot6
xpos 434
ypos -606
}
set Na71bf000 [stack 0]
Dot {
name Dot15
xpos 654
ypos -606
}
set Na71bf400 [stack 0]
Dot {
name Dot7
xpos 874
ypos -606
}
Noise {
output {rgba.red -rgba.green -rgba.blue none}
replace true
size {{parent.frequency} {"parent.frequency * pixel_aspect"}}
zoffset {{"x + 1000"}}
gamma 1
name Noise1
xpos 840
ypos -514
}
Noise {
output {-rgba.red rgba.green -rgba.blue none}
replace true
size {{parent.Noise1.size} {parent.Noise1.size}}
zoffset {{x}}
gamma 1
name Noise2
xpos 840
ypos -466
}
Clamp {
name Clamp1
xpos 840
ypos -424
}
Dot {
name Dot11
xpos 874
ypos -366
}
push $Na71bf400
BlinkScript {
ProgramGroup 1
KernelDescription "2 \"VoroNoise\" iterate pixelWise c117be128a07c11b6d82fd34148d66b3bcac41976ec9c2082affe38e890c2c0f 2 \"src\" Read Point \"dst\" Write Point 6 \"Frequency\" Float 1 AABIQg== \"Seed\" Int 1 AAAAAA== \"aspect ratio\" Float 1 AACAPw== \"width\" Int 1 AAAAAA== \"height\" Int 1 AAAAAA== \"Randomness\" Float 1 AAAAPw== 6 \"frequency\" 1 1 \"seed\" 1 1 \"aspect_ratio\" 1 1 \"width\" 1 1 \"height\" 1 1 \"randomness\" 1 1 0"
kernelSource "// Voronoi.blink\n// A test implementation of libNoise's Voronoi generator using Blink\n// Ivan Busquets - August 2013\n// Modified for DasGrain by Fabian Holtz - April 2019\n\n#define X_NOISE_GEN 1619\n#define Y_NOISE_GEN 31337\n#define Z_NOISE_GEN 6971\n#define SEED_NOISE_GEN 1013\n#define SQRT_3 1.73205081\n\ninline int IntValueNoise3D (int x, int y, int z, int seed)\n\{\n // All constants are primes and must remain prime in order for this noise\n // function to work correctly.\n int n = (\n X_NOISE_GEN * x\n + Y_NOISE_GEN * y\n + Z_NOISE_GEN * z\n + SEED_NOISE_GEN * seed)\n & 0x7fffffff;\n n = (n >> 13) ^ n;\n return (n * (n * n * 60493 + 19990303) + 1376312589) & 0x7fffffff;\n\}\n\ninline float ValueNoise3D (int x, int y, int z, int seed)\n\{\n return 1.0 - ((float)IntValueNoise3D (x, y, z, seed) / 1073741824.0);\n\}\n\nkernel VoroNoise : ImageComputationKernel<ePixelWise>\n\{\n Image<eRead> src;\n Image<eWrite, eAccessPoint> dst;\n\nparam:\n float frequency;\n int seed;\n float aspect_ratio;\n int width;\n int height;\n float randomness;\n\n\n void define() \{\n defineParam(frequency, \"Frequency\", 50.0f);\n defineParam(aspect_ratio, \"aspect ratio\", 1.0f);\n defineParam(seed, \"Seed\", 0);\n defineParam(randomness, \"Randomness\", 0.5f);\n \}\n\n\n\n\n void process(int2 pos) \{\n float x = pos.x * aspect_ratio * frequency / width;\n float y = pos.y * frequency / width;\n int xInt = (x > 0.0) ? x : x - 1;\n int yInt = (y > 0.0) ? y : y - 1;\n\n\n float minDist = 2147483647.0;\n float xCandidate = 0;\n float yCandidate = 0;\n\n float dist;\n\nfor (int yCur = yInt - 2; yCur <= yInt + 2; yCur++) \{\n for (int xCur = xInt - 2; xCur <= xInt + 2; xCur++) \{\n\n // Calculate the position and distance to the seed point inside of\n // this unit cube. Limited by the randomness value\n float xPos = xCur + (ValueNoise3D (xCur, yCur, 0, seed ) + 1 ) * randomness + (1-randomness) - 1;\n float yPos = yCur + (ValueNoise3D (xCur, yCur, 0, seed + 1) + 1 ) * randomness + (1-randomness) - 1;\n\n float xDist = xPos - x;\n float yDist = yPos - y;\n\n dist = pow(xDist, 2) + pow(yDist, 2);\n if (dist < minDist) \{\n // This seed point is closer to any others found so far, so record\n // this seed point.\n minDist = dist;\n xCandidate = xPos;\n yCandidate = yPos;\n\t\}\n \}\n\}\n\n SampleType(dst) sample(0.0f);\n\n sample.x = xCandidate / aspect_ratio / frequency;\n sample.y = yCandidate / height * width / frequency;\n sample.z = 0;\n\n dst() = sample;\n\}\n\};"
rebuild ""
VoroNoise_Frequency {{"width / parent.cell_size"}}
VoroNoise_Seed {{"(x + (parent.parent.stereo == 2 ? \[lsearch \[value root.views] \[view]] / 2 : 0)) * 5"}}
"VoroNoise_aspect ratio" {{pixel_aspect}}
VoroNoise_width {{width}}
VoroNoise_height {{height}}
rebuild_finalise ""
name VoroNoise
xpos 620
ypos -520
}
Copy {
inputs 2
from0 rgba.red
to0 forward.u
from1 rgba.green
to1 forward.v
name Copy1
xpos 620
ypos -382
disable {{"parent.amplitude == 0"}}
}
IDistort {
uv forward
uv_offset 0.5
uv_scale {{parent.amplitude} {"uv_scale.w * pixel_aspect"}}
filter impulse
name IDistort1
xpos 620
ypos -280
disable {{"parent.amplitude == 0"}}
}
Dot {
name Dot5
xpos 654
ypos -246
}
NoTimeBlur {
rounding floor
name NoTimeBlur3
xpos 620
ypos -154
}
Transform {
translate {{"floor((x * size) % 1 * (size)) - int(size / 2)"} {"floor(x % 1 * (size)) - int(size/2)"}}
filter impulse
black_outside false
name Transform1
xpos 620
ypos -58
disable {{"parent.edge_blend_size < 1"}}
addUserKnob {20 User}
addUserKnob {3 size}
size {{"parent.edge_blend_size + 1"}}
}
Dot {
name Dot9
xpos 654
ypos 42
}
set Nae9e2400 [stack 0]
push $Na71bf000
Expression {
expr0 "(x + .5) / width"
expr1 "(y + .5) / height"
expr2 0
name STMapGenerator
xpos 400
ypos -514
}
NoTimeBlur {
rounding floor
name NoTimeBlur2
xpos 400
ypos -154
}
Merge2 {
inputs 2
operation from
Achannels {rgba.red rgba.green -rgba.blue none}
Bchannels {rgba.red rgba.green -rgba.blue none}
output {rgba.red rgba.green -rgba.blue none}
name Merge2
xpos 400
ypos 38
}
Dot {
name Dot10
xpos 434
ypos 210
}
push $Nae9e2400
Expression {
temp_name0 view_index
temp_expr0 "parent.parent.stereo == 1 ? \[lsearch \[value root.views] \[view]] / 2 : 0"
expr0 "random((r + view_index) * 1000000, 0) * (maxx - minx) + minx"
expr1 "random((g + view_index) * 1000000, 0) * (maxy - miny) + miny"
channel2 none
channel3 none
name Expression3
xpos 620
ypos 110
addUserKnob {20 User}
addUserKnob {7 frequency R 0 100}
frequency {{parent.parent.cell_size}}
addUserKnob {7 multiplier R 0 3}
multiplier 0.5
addUserKnob {15 shrink}
shrink {{"frequency * multiplier + ceil(parent.edge_blend_size / 2) + IDistort1.uv_scale.w / 2"} {"frequency * multiplier + ceil(parent.edge_blend_size / 2) + IDistort1.uv_scale.h / 2"} {"frequency * multiplier + floor(parent.edge_blend_size / 2) + IDistort1.uv_scale.w / 2"} {"frequency * multiplier + floor(parent.edge_blend_size / 2) + IDistort1.uv_scale.h / 2"}}
addUserKnob {26 ""}
addUserKnob {7 minx}
minx {{"(parent.box.x + shrink.x + .5) / width"}}
addUserKnob {7 maxx}
maxx {{"(parent.box.r - shrink.r - .5) / width"}}
addUserKnob {7 miny}
miny {{"(parent.box.y + shrink.y + .5) / height"}}
addUserKnob {7 maxy}
maxy {{"(parent.box.t - shrink.t - .5) / height"}}
}
Merge2 {
inputs 2
operation plus
Achannels {rgba.red rgba.green -rgba.blue none}
Bchannels {rgba.red rgba.green -rgba.blue none}
output {rgba.red rgba.green -rgba.blue none}
name Merge3
xpos 620
ypos 206
}
Expression {
expr0 "(r + (maxx - minx) - minx) % (maxx - minx) + minx"
expr1 "(g + (maxy - miny) - miny) % (maxy - miny) + miny"
channel2 none
channel3 none
name Expression7
xpos 620
ypos 278
addUserKnob {20 User}
addUserKnob {7 minx}
minx {{"(parent.box.x + rint(x % 1 * parent.edge_blend_size) + .5) / width"}}
addUserKnob {7 maxx}
maxx {{"(parent.box.r + rint(x % 1 * parent.edge_blend_size) - .5) / width"}}
addUserKnob {7 miny}
miny {{"(parent.box.y + rint(x % 1 * parent.edge_blend_size) + .5) / height"}}
addUserKnob {7 maxy}
maxy {{"(parent.box.t + rint(x % 1 * parent.edge_blend_size) - .5) / height"}}
}
Dot {
name Dot3
xpos 654
ypos 354
}
set Naea1e400 [stack 0]
Dot {
name Dot13
xpos 654
ypos 546
}
push $Naea1e400
Dot {
name Dot8
xpos 874
ypos 354
}
Blur {
channels rgb
size {{pixel_aspect} 1}
name Blur1
label "\[value size]"
xpos 840
ypos 440
}
Difference {
inputs 2
name Difference2
xpos 840
ypos 536
}
Expression {
channel0 {none none none rgba.alpha}
expr0 "a > 1e-9"
channel1 none
channel2 none
channel3 none
name Expression2
xpos 840
ypos 614
}
Shuffle {
red alpha
green alpha
blue alpha
name Shuffle1
label "\[value in]:\[value out]"
xpos 840
ypos 680
}
Dot {
name Dot4
xpos 874
ypos 762
}
push $Naea1e400
push $Na71be400
FrameHold {
firstFrame {{parent.sample_frame}}
name FrameHold1
xpos 180
ypos -256
}
NoTimeBlur {
rounding floor
name NoTimeBlur1
xpos 180
ypos -154
}
STMap {
inputs 2
channels rgb
uv rgb
filter impulse
name STMap1
xpos 180
ypos 350
}
set Naec30800 [stack 0]
TimeBlur {
divisions {{"max(Transform1.size == 1 ? 2 : pow2(Transform1.size), 1)"}}
shutter 1
shuttercustomoffset {{"1 / divisions / 2"}}
name TimeBlur1
xpos 180
ypos 446
disable {{"parent.edge_blend_size < 1"}}
}
set Naec30c00 [stack 0]
push $Naec30800
Dot {
name Dot1
xpos -6
ypos 354
}
Difference {
inputs 2
name Difference1
xpos -40
ypos 440
}
Expression {
channel0 {none none none rgba.alpha}
expr0 "a > 1e-10"
channel1 none
channel2 none
channel3 none
name Expression1
xpos -40
ypos 494
}
Blur {
channels alpha
size {{parent.parent.edge_blend_size}}
name Blur2
xpos -40
ypos 536
}
Grade {
channels alpha
blackpoint 0.5
white_clamp true
name Grade2
xpos -40
ypos 584
}
Dot {
name Dot2
xpos -6
ypos 666
}
push $Naec30c00
Grade {
inputs 1+1
white 1.4
black_clamp false
name Grade1
xpos 180
ypos 662
disable {{"parent.edge_blend_size < 1"}}
}
Merge2 {
inputs 2
Achannels rgb
Bchannels rgb
output rgb
name Merge1
xpos 180
ypos 758
disable {{!parent.overlay_pattern}}
}
Assert {
expression {{"Expression3.maxx > Expression3.minx && Expression3.maxy > Expression3.miny"}}
message "increase sample box size or decrease cell size"
name error
xpos 180
ypos 854
}
Output {
name Output1
xpos 180
ypos 950
}
end_group
Multiply {
inputs 1+1
channels rgb
value 1.8
maskChannelMask {{{parent.Merge9.maskChannelMask}}}
invert_mask {{!Merge9.invert_mask}}
name Multiply7
xpos 70
ypos 2315
disable {{"!maskChannelMask || !\[exists parent.input3.name]"}}
}
Dot {
name Dot23
xpos 104
ypos 2391
}
push $Na7179400
push $Na7195400
Multiply {
inputs 1+1
channels rgb
value 1.8
maskChannelMask {{{parent.Merge9.maskChannelMask}}}
invert_mask {{parent.Merge9.invert_mask}}
name Multiply2
xpos 290
ypos 2315
disable {{"!maskChannelMask || (!parent.scatter && !parent.external_grain)"}}
}
Merge2 {
inputs 2+1
operation copy
Achannels rgb
Bchannels rgb
output rgb
maskChannelMask -rgba.alpha
name Merge9
xpos 290
ypos 2387
disable {{"!(parent.scatter || parent.external_grain)"}}
}
Dot {
name Dot11
xpos 324
ypos 2490
}
set Naec9c800 [stack 0]
MergeExpression {
inputs 2
temp_name0 reverse
temp_expr0 "1 / MergeExpression1.temp_expr0"
expr0 "Br * Ar * reverse"
expr1 "Bg * Ag * reverse"
expr2 "Bb * Ab * reverse"
name MergeExpression2
xpos 290
ypos 2654
}
Dot {
name Dot8
xpos 324
ypos 2850
}
push $Na714bc00
Merge2 {
inputs 2
operation plus
bbox B
Achannels rgb
Bchannels rgb
output rgb
name Merge3
xpos 950
ypos 2846
}
Dot {
name Dot42
xpos 984
ypos 3018
}
set Naec9d800 [stack 0]
OCIOColorSpace {
in_colorspace {{OCIOColorSpace1.out_colorspace x17 7}}
out_colorspace {{OCIOColorSpace1.in_colorspace x17 7}}
name OCIOColorSpace4
xpos 950
ypos 3086
}
Dot {
name Dot19
xpos 984
ypos 3162
}
set Naefde000 [stack 0]
Dot {
name Dot41
xpos 1204
ypos 3162
}
set Naefde400 [stack 0]
Dot {
name Dot36
xpos 1314
ypos 3162
}
Blur {
channels rgb
size 1
name Blur1
xpos 1280
ypos 3254
}
push $Naefde400
Merge2 {
inputs 2
operation difference
bbox B
Achannels rgb
Bchannels rgb
output rgb
name Merge10
xpos 1170
ypos 3254
}
Multiply {
channels rgb
value 50
name Multiply3
xpos 1170
ypos 3302
}
Dot {
name Dot43
xpos 1204
ypos 3402
}
push $Na714b400
Dot {
name Dot45
xpos 1424
ypos -390
}
push $Naec9d800
Merge2 {
inputs 2
operation from
Achannels rgb
Bchannels rgb
output rgb
name Merge11
xpos 1390
ypos 3014
}
Dot {
name Dot46
xpos 1424
ypos 3522
}
push $Naec9c800
Dot {
name Dot14
xpos 104
ypos 2490
}
Dot {
name Dot12
xpos 104
ypos 3402
}
push $Na754e000
Dot {
name Dot47
xpos -556
ypos -390
}
push $Na732e400
Merge2 {
inputs 2
operation from
Achannels rgb
Bchannels rgb
output rgb
name Merge12
xpos -590
ypos -202
}
Dot {
name Dot10
xpos -556
ypos 3522
}
push $Naefde000
Switch {
inputs 5
which {{output}}
name Output
xpos 950
ypos 3656
addUserKnob {20 User}
addUserKnob {4 output M {"regrained comp" "plate grain" "normalised grain" "adapted grain" "grain QC"}}
}
CopyMetaData {
inputs 2
mergeMode "Meta only"
name CopyMetaData1
xpos 950
ypos 3758
}
Output {
name Output1
xpos 950
ypos 3854
}
end_group
CopyMetaData {
inputs 2
name CopyMetaData1
xpos 70
ypos 18639
}
ModifyMetaData {
metadata {
{set exr/autodeskColorSpace "\[value WRITE_EXR.colorspace]"}
{set exr/scriptPath "\[python os.getenv(\"CVRT_SCRIPT_PATH\")]"}
{set exr/vendor "\[python os.getenv(\"CVRT_VENDOR\")]"}
{set exr/showName "\[python os.getenv(\"CVRT_SHOW_NAME\")]"}
{set exr/showId "\[python os.getenv(\"CVRT_SHOW_ID\")]"}
{set exr/sequence "\[python os.getenv(\"CVRT_SEQUENCE\")]"}
{set exr/shot "\[python os.getenv(\"CVRT_SHOT\")]"}
{set exr/scope "\[python os.getenv(\"CVRT_SCOPE\")]"}
{set exr/author "\[python os.getenv(\"CVRT_AUTHOR\")]"}
}
name ModifyMetaData1
xpos 70
ypos 18735
}
set Naf030c00 [stack 0]
Grade {
name NEGATIVE
xpos 70
ypos 19551
}
FrameRange {
first_frame {{root.first_frame}}
last_frame {{root.last_frame}}
time ""
name FrameRange1
xpos 70
ypos 20055
}
NoOp {
name Anchor_24e470df3b
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.anchorOnCreate()\n except:\n pass"
knobChanged stamps.anchorKnobChanged()
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0xffffff01
note_font_size 20
xpos 70
ypos 20986
addUserKnob {20 anchor_tab l "Anchor Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title MAIN_COMP
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MASTER_COMP}
addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_24e470df3b}
addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
tags 2D,
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Naf031400 [stack 0]
PostageStamp {
name Stamp36
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos -1140
ypos 23290
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title MAIN_COMP
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MAIN_COMP}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." +HIDDEN T <i><center>METADATA</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_24e470df3b
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Write {
file "\[getenv CVRT_SHOT_ROOT]/Export/sends/\[getenv CVRT_FILENAME]/\[getenv CVRT_FILENAME].%04d.exr"
file_type exr
compression DWAA
metadata "default metadata and exr/*"
first_part rgba
colorspace ACES2065-1
create_directories true
checkHashOnRead false
version 39
in_colorspace ACES2065-1
out_colorspace ACES2065-1
ocioColorspace ACES2065-1
display "sRGB - Display"
view "ACES 1.0 - SDR Video"
name WRITE_EXR
label "\n\n\[python os.path.normpath(nuke.thisNode().knob(\"file\").evaluate())]"
note_font "Verdana Bold"
xpos -1140
ypos 23985
}
NoOp {
name Anchor_1f620af31
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.anchorOnCreate()\n except:\n pass"
knobChanged stamps.anchorKnobChanged()
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0xffffff01
note_font_size 20
xpos -1140
ypos 24394
addUserKnob {20 anchor_tab l "Anchor Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title MASTER_COMP_EXR
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MASTER_COMP_ACES}
addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_1f620af31}
addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
tags 2D,
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Naf062400 [stack 0]
PostageStamp {
name Stamp24
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos -1140
ypos 24466
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title MASTER_COMP_EXR
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MASTER_COMP_EXR}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T "<i><center>ACES,<center>MASTER OUTPUT,<center>OUT</i>"}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_1f620af31
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
StickyNote {
inputs 0
name StickyNote4
tile_color 0xff
label " REPLACE WITH YOUR DENOISER "
note_font_size 20
note_font_color 0x63e5ffff
xpos 1036
ypos -3878
}
push $Naf031400
PostageStamp {
name Stamp29
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos 70
ypos 21034
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title MAIN_COMP
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MAIN_COMP}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>METADATA</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_24e470df3b
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
CheckerBoard2 {
inputs 0
name CheckerBoard4
xpos -260
ypos -5289
}
NoOp {
name Anchor_3da2192eb4
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.anchorOnCreate()\n except:\n pass"
knobChanged stamps.anchorKnobChanged()
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0xffffff01
note_font_size 20
xpos -260
ypos -5150
addUserKnob {20 anchor_tab l "Anchor Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title EDIT_REF
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T ref_1}
addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_3da2192eb4}
addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
tags 2D,
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
PostageStamp {
name Stamp26
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos -260
ypos -5102
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title EDIT_REF
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T EDIT_REF}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>REF,<center>PLATE</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_3da2192eb4
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
CheckerBoard2 {
inputs 0
name CheckerBoard2
xpos 180
ypos -5289
}
NoOp {
name Anchor_3da2192eb1
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.anchorOnCreate()\n except:\n pass"
knobChanged stamps.anchorKnobChanged()
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0xffffff01
note_font_size 20
xpos 180
ypos -5150
addUserKnob {20 anchor_tab l "Anchor Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title ref_2
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T ref_1}
addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_3da2192eb1}
addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
tags 2D,
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
PostageStamp {
name Stamp17
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos 180
ypos -5102
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title ref_2
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T ref_2}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>REF,<center>PLATE</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_3da2192eb1
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
StickyNote {
inputs 0
name StickyNote8
tile_color 0x2c3249ff
label " HIT ANALYZE "
note_font_size 30
note_font_color 0x100024ff
xpos -21
ypos 17620
}
StickyNote {
inputs 0
name StickyNote3
tile_color 0xff
label " REPLACE WITH YOUR DENOISER "
note_font_size 20
note_font_color 0x63e5ffff
xpos -724
ypos -3878
}
StickyNote {
inputs 0
name StickyNote12
tile_color 0xff
label " IMPORT THE RENDER BY SELECTING\nTHE WRITE NODE AND PRESSING Alt + R "
note_font_size 20
note_font_color 0x63e5ffff
xpos 778
ypos -3577
}
CheckerBoard2 {
inputs 0
name CheckerBoard1
xpos -40
ypos -5289
}
NoOp {
name Anchor_3da2192eb6
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.anchorOnCreate()\n except:\n pass"
knobChanged stamps.anchorKnobChanged()
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0xffffff01
note_font_size 20
xpos -40
ypos -5150
addUserKnob {20 anchor_tab l "Anchor Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title ref_1
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T ref_1}
addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_3da2192eb6}
addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
tags 2D,
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
PostageStamp {
name Stamp16
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos -40
ypos -5102
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title ref_1
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T ref_1}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>REF,<center>PLATE</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_3da2192eb6
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
StickyNote {
inputs 0
name StickyNote16
tile_color 0xff9a23ff
label " CHANGE QC STATUS AFTER VERIFYING "
note_font "Verdana Bold"
note_font_size 48
note_font_color 0x100024ff
xpos -3403
ypos 24114
}
StickyNote {
inputs 0
name StickyNote6
tile_color 0x212d16ff
label "USE STAMPS TO BRING MATTES IN"
note_font_size 60
note_font_color 0xacd68bff
xpos 2456
ypos 22979
}
StickyNote {
inputs 0
name StickyNote15
tile_color 0xff
label " IMPORT THE RENDER BY SELECTING\nTHE WRITE NODE AND PRESSING Alt + R "
note_font_size 20
note_font_color 0x63e5ffff
xpos -982
ypos -3577
}
push $Naea49c00
PostageStamp {
name Stamp4
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos -40
ypos -7166
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title roto
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T roto}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>ROTO,<center>IN</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_232b89ffe3
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
StickyNote {
inputs 0
name StickyNote2
tile_color 0xff
label " SET THE INPUT TRANSFORM TO\nACES2065-1 OR RAW "
note_font_size 20
note_font_color 0x63e5ffff
xpos -1269
ypos -5281
}
push $Naf030c00
ViewMetaData {
name ViewMetaData3
xpos 290
ypos 18735
}
StickyNote {
inputs 0
name StickyNote1
tile_color 0x283d15ff
label " IMPORT THE RENDER BY SELECTING\nTHE WRITE NODE AND PRESSING Alt + R "
note_font_size 20
note_font_color 0xacd68bff
xpos -1312
ypos 24287
}
StickyNote {
inputs 0
name StickyNote5
tile_color 0xff
label " SET THE INPUT TRANSFORM TO\nACES2065-1 OR RAW "
note_font_size 20
note_font_color 0x63e5ffff
xpos 1151
ypos -5305
}
StickyNote {
inputs 0
name StickyNote10
tile_color 0xff
label " SET THE INPUT TRANSFORM TO ACES2065-1 OR RAW \nAND USE THE DISPLAY TRANSFORM NODE "
note_font_size 20
note_font_color 0x63e5ffff
xpos 3426
ypos -7369
}
StickyNote {
inputs 0
name StickyNote9
tile_color 0xff
label " SET THE CORRECT INPUT TRANSFORM \n e.g. ACEScg"
note_font_size 20
note_font_color 0x63e5ffff
xpos -2734
ypos -7441
}
StickyNote {
inputs 0
name StickyNote7
tile_color 0xff
label " CORRECT YOUR FRAME RANGE, FORMAT AND FPS IN PROJECT SETTINGS (S) \n\nUSE THE \"SET_PROJECT\" GIZMO"
note_font_size 70
note_font_color 0x63e5ffff
xpos -1006
ypos -5784
}
Group {
inputs 0
name lin2log1
knobChanged "\nif nuke.thisKnob().name() == \"working_space\":\n\tprint(\"test\")\n"
tile_color 0xa28bd3ff
note_font "Verdana Bold"
note_font_size 48
note_font_color 0x4e4366ff
xpos -2900
ypos -5502
addUserKnob {20 User}
addUserKnob {52 python l "" +STARTLINE T "nuke.thisNode().knob(\"knobChanged\").setValue('''\nif nuke.thisKnob().name() == \"working_space\":\n\tprint(\"test\")\n''')" +STARTLINE}
addUserKnob {41 display l "display device" T OCIODisplay1.display}
addUserKnob {41 in_colorspace l colorspace T OCIOColorSpace1.in_colorspace}
}
Input {
inputs 0
name Input1
xpos -598
ypos -498
}
OCIODisplay {
colorspace ACES2065-1
display "sRGB - Display"
view "ACES 1.0 - SDR Video"
name OCIODisplay1
knobChanged "\nnuke.toNode(\"OCIOColorSpace1\").knob(\"out_colorspace\").setValue(nuke.thisNode().knob(\"colorspace\").value())\n"
tile_color 0x4e4366ff
selected true
xpos -598
ypos -465
addUserKnob {20 User}
addUserKnob {52 python l "" +STARTLINE T "nuke.thisNode().knob(\"colorspace\").setValue(nuke.root().knob(\"workingSpaceLUT\").value())" +STARTLINE}
}
OCIOColorSpace {
in_colorspace "ARRI LogC3 (EI800)"
out_colorspace ACES2065-1
name OCIOColorSpace1
tile_color 0x4e4366ff
label "\nchange the input to the correct colorspace\n."
xpos -598
ypos -428
addUserKnob {20 User}
addUserKnob {52 python l "" +STARTLINE T "nuke.thisNode().knob(\"out_colorspace\").setValue(nuke.root().knob(\"workingSpaceLUT\").value())" +STARTLINE}
}
Output {
name Output1
xpos -598
ypos -328
}
end_group
push $Naf062400
PostageStamp {
name Stamp19
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos 510
ypos 23962
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title MASTER_COMP_EXR
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MASTER_COMP_EXR}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T "<i><center>ACES,<center>MASTER OUTPUT,<center>OUT</i>"}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_1f620af31
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Write {
file "\[getenv CVRT_SHOT_ROOT]/Export/sends/\[getenv CVRT_FILENAME]_Rec709.mov"
file_type mov
mov64_format "mov (QuickTime / MOV)"
mov64_codec appr
mov_prores_codec_profile "ProRes 4:4:4:4 XQ 12-bit"
mov_h264_codec_profile "High 4:2:0 8-bit"
mov64_pixel_format {{0} "yuv420p\tYCbCr 4:2:0 8-bit"}
mov64_quality High
mov64_fast_start true
mov64_write_timecode true
mov64_gop_size 12
mov64_b_frames 0
mov64_bitrate 28000
mov64_bitrate_tolerance 0
mov64_quality_min 1
mov64_quality_max 3
transformType display
colorspace "ARRI LogC3 (EI800)"
create_directories true
checkHashOnRead false
version 48
in_colorspace ACES2065-1
out_colorspace "ARRI LogC3 (EI800)"
ocioColorspace ACES2065-1
display "sRGB - Display"
view "ACES 1.0 - SDR Video"
name WRITE_QT_Rec709
label "\n\n!!! Check that the framerate is correct !!!\n\n\[python os.path.normpath(nuke.thisNode().knob(\"file\").evaluate())]"
note_font "Verdana Bold"
xpos 510
ypos 24333
}
push $Naf062400
PostageStamp {
name Stamp25
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos 1390
ypos 23962
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title MASTER_COMP_EXR
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MASTER_COMP_EXR}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T "<i><center>ACES,<center>MASTER OUTPUT,<center>OUT</i>"}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_1f620af31
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Write {
file "\[getenv CVRT_SHOT_ROOT]/Export/dailies/\[getenv CVRT_FILENAME]_PREVIEW.mov"
file_type mov
mov64_format "mov (QuickTime / MOV)"
mov64_codec appr
mov_prores_codec_profile "ProRes 4:2:2 Proxy 10-bit"
mov_h264_codec_profile "High 4:2:0 8-bit"
mov64_pixel_format {{0} "yuv420p\tYCbCr 4:2:0 8-bit"}
mov64_quality High
mov64_fast_start true
mov64_write_timecode true
mov64_gop_size 12
mov64_b_frames 0
mov64_bitrate 28000
mov64_bitrate_tolerance 0
mov64_quality_min 1
mov64_quality_max 3
transformType display
colorspace "ARRI LogC3 (EI800)"
create_directories true
checkHashOnRead false
version 31
in_colorspace ACES2065-1
out_colorspace "ARRI LogC3 (EI800)"
ocioColorspace ACES2065-1
display "sRGB - Display"
view "ACES 1.0 - SDR Video"
name WRITE_QT_DAILIES
label "\nPREVIEW\n!!! Check that the framerate is correct !!!\n\n\[python os.path.normpath(nuke.thisNode().knob(\"file\").evaluate())]"
note_font "Verdana Bold"
xpos 1390
ypos 24329
}
CheckerBoard2 {
inputs 0
name CheckerBoard8
xpos 2600
ypos 23247
}
Shuffle2 {
fromInput1 {{0} B}
fromInput2 {{0} B}
mappings "4 black -1 -1 rgba.red 0 0 rgba.alpha 0 3 rgba.alpha 0 3 black -1 -1 rgba.green 0 1 rgba.alpha 0 3 rgba.blue 0 2"
name Shuffle4
xpos 2600
ypos 23679
}
Dot {
name Dot28
xpos 2622
ypos 24126
}
CheckerBoard2 {
inputs 0
name CheckerBoard10
xpos 3260
ypos 23247
}
Shuffle2 {
fromInput1 {{0} B}
fromInput2 {{0} B}
mappings "4 black -1 -1 rgba.blue 0 2 black -1 -1 rgba.red 0 0 rgba.alpha 0 3 rgba.green 0 1 rgba.alpha 0 3 rgba.alpha 0 3"
name Shuffle2
xpos 3260
ypos 23679
}
Dot {
name Dot29
xpos 3282
ypos 23958
}
CheckerBoard2 {
inputs 0
name CheckerBoard9
xpos 2930
ypos 23247
}
Shuffle2 {
fromInput1 {{0} B}
fromInput2 {{0} B}
mappings "4 rgba.alpha 0 3 rgba.red 0 0 black -1 -1 rgba.green 0 1 black -1 -1 rgba.blue 0 2 rgba.alpha 0 3 rgba.alpha 0 3"
name Shuffle1
xpos 2930
ypos 23679
}
Merge2 {
inputs 2
operation screen
name Merge4
xpos 2930
ypos 23967
}
Merge2 {
inputs 2
operation screen
name Merge5
xpos 2930
ypos 24135
}
Write {
file "\[getenv CVRT_SHOT_ROOT]/Export/sends/\[getenv CVRT_FILENAME]/\[getenv CVRT_FILENAME]_MATTES/\[getenv CVRT_FILENAME]_MATTES.%04d.exr"
file_type exr
compression DWAA
first_part rgba
transformType display
colorspace ACES2065-1
create_directories true
checkHashOnRead false
version 39
in_colorspace ACES2065-1
out_colorspace ACES2065-1
ocioColorspace ACES2065-1
display "sRGB - Display"
view "ACES 1.0 - SDR Video"
name WRITE_EXR_MATTES
label "\n\n\[python os.path.normpath(nuke.thisNode().knob(\"file\").evaluate())]"
note_font "Verdana Bold"
xpos 2930
ypos 24681
}
push $Naebbc000
PostageStamp {
name Stamp20
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos -2460
ypos 23866
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title FG_degrained
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_degrained}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>DENOISE</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_7da7cf1af
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Na74fa000
PostageStamp {
name Stamp32
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos -3340
ypos 23866
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title MAIN_COMP_DEGRAINED
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MAIN_COMP_DEGRAINED}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." +HIDDEN T " "}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_12ba88c423
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Naf031400
PostageStamp {
name Stamp33
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos -3120
ypos 23578
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title MAIN_COMP
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MAIN_COMP}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>METADATA</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_24e470df3b
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Na70e8c00
PostageStamp {
name Stamp34
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos -2680
ypos 23578
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title FG_plate
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_plate}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>PLATE</i>}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_2d7fd50644
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Group {
inputs 4
name QC_1
knobChanged "\n# hide/show \[orientation] knob\nif nuke.thisKnob().name() == \"check_type\":\n\tnuke.thisNode().knob(\"orientation\").setVisible(nuke.thisKnob().getValue() == 0)\n\tnuke.thisNode().knob(\"switch\").setVisible(nuke.thisKnob().getValue() == 1)\n\tnuke.thisNode().knob(\"highlight\").setVisible(nuke.thisKnob().getValue() == 4)\n\n# change node color\nif nuke.thisKnob().name() == \"status\":\n\tcolors = \[1283457023, 16711935, 4278190335]\n\tnuke.thisNode().knob(\"tile_color\").setValue(colors\[int(nuke.thisKnob().getValue())])\n\tnuke.thisNode().knob(\"label\").setValue(nuke.thisKnob().value())\n"
tile_color 0x4c7fffff
label PENDING
note_font_size 48
xpos -2900
ypos 23824
addUserKnob {20 options l OPTIONS}
addUserKnob {52 python l "" +STARTLINE T "nuke.thisNode().knob(\"knobChanged\").setValue('''\n# hide/show \[orientation] knob\nif nuke.thisKnob().name() == \"check_type\":\n\tnuke.thisNode().knob(\"orientation\").setVisible(nuke.thisKnob().getValue() == 0)\n\tnuke.thisNode().knob(\"switch\").setVisible(nuke.thisKnob().getValue() == 1)\n\tnuke.thisNode().knob(\"highlight\").setVisible(nuke.thisKnob().getValue() == 4)\n\n# change node color\nif nuke.thisKnob().name() == \"status\":\n\tcolors = \[1283457023, 16711935, 4278190335]\n\tnuke.thisNode().knob(\"tile_color\").setValue(colors\[int(nuke.thisKnob().getValue())])\n\tnuke.thisNode().knob(\"label\").setValue(nuke.thisKnob().value())\n''')" +STARTLINE}
addUserKnob {4 status l Status: M {PENDING PASSED FAILED}}
addUserKnob {22 set_range l "SET RANGE FROM" T "source = nuke.thisNode().knob(\"range_source\").value()\nrange_first = 1001\nrange_last = 1250\n\nif source == \"PLATE\":\n\tif nuke.thisNode().input(0):\n\t\ttopnode_name = nuke.tcl(\"full_name \[topnode %s]\" % nuke.thisNode().input(0).name())\n\t\ttopnode = nuke.toNode(topnode_name)\n\t\trange_first = topnode.knob(\"first\").value()\n\t\trange_last = topnode.knob(\"last\").value()\n\nelif source == \"COMP\":\n\tif nuke.thisNode().input(1):\n\t\ttopnode_name = nuke.tcl(\"full_name \[topnode %s]\" % nuke.thisNode().input(1).name())\n\t\ttopnode = nuke.toNode(topnode_name)\n\t\trange_first = topnode.knob(\"first\").value()\n\t\trange_last = topnode.knob(\"last\").value()\n\nnuke.root().knob(\"first_frame\").setValue(range_first)\nnuke.root().knob(\"last_frame\").setValue(range_last)" +STARTLINE}
addUserKnob {4 range_source l "" -STARTLINE M {PLATE COMP ""}}
addUserKnob {4 check_type l Check M {side-by-side "switch PLATE/COMP" "frame size | TC | frame range" grain "difference \[highlighted]" difference neg/high NaN "" "" "" "" "" "" ""}}
addUserKnob {4 orientation l "" -STARTLINE M {Vertical Horizontal "" ""}}
addUserKnob {6 switch l "" -STARTLINE +HIDDEN}
addUserKnob {18 highlight l "" -STARTLINE +HIDDEN}
highlight {0 1 0}
addUserKnob {6 highlight_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {26 separator l "" +STARTLINE}
addUserKnob {26 copyright l "" +STARTLINE T "QC_AM v1.1 - Alex Munteanu"}
}
BackdropNode {
inputs 0
name " "
tile_color 0x222222ff
label <center>
note_font "Arial Black"
note_font_size 100
note_font_color 0xaeaeaeff
xpos -1637
ypos -759
bdwidth 2640
bdheight 633
}
BackdropNode {
inputs 0
name BackdropNode20
tile_color 0x7f7f7fff
label <center>QC
note_font "Century Gothic Bold"
note_font_size 200
note_font_color 0x363636ff
xpos -3745
ypos 142
bdwidth 4533
bdheight 5503
}
BackdropNode {
inputs 0
name " 1"
tile_color 0xb9b9b9ff
label <center>SIDE-BY-SIDE
note_font "Arial Black"
note_font_size 100
note_font_color 0x3b3b3bff
xpos -3100
ypos 458
bdwidth 781
bdheight 772
z_order 1
}
BackdropNode {
inputs 0
name " 2"
tile_color 0xb9b9b9ff
label "<center>FRAME WIDTH/HEIGHT & FRAME RANGE"
note_font "Arial Black"
note_font_size 24
note_font_color 0x3b3b3bff
xpos -1361
ypos 493
bdwidth 592
bdheight 737
z_order 1
}
BackdropNode {
inputs 0
name " 3"
tile_color 0xb9b9b9ff
label <center>PLATE
note_font "Arial Black"
note_font_size 100
note_font_color 0x3b3b3bff
xpos -3221
ypos -824
bdwidth 605
bdheight 758
z_order 1
}
BackdropNode {
inputs 0
name " 4"
tile_color 0xb9b9b9ff
label <center>COMP
note_font "Arial Black"
note_font_size 100
note_font_color 0x3b3b3bff
xpos -2516
ypos -826
bdwidth 595
bdheight 754
z_order 1
}
BackdropNode {
inputs 0
name " 5"
tile_color 0xb9b9b9ff
label "<center>1) This will show all the differences between your plate and comp\nAdjust the gain in the difference node to effect the sensitvitiy.\n\nThis is great for checking that you're only adjusting areas that should be changed."
note_font "Arial Black"
note_font_size 24
note_font_color 0x3b3b3bff
xpos -2947
ypos 3017
bdwidth 1444
bdheight 1330
z_order 1
}
BackdropNode {
inputs 0
name " 6"
tile_color 0xb9b9b9ff
label "<center>Check Nan Values\n\nThese will be highlighted in Red"
note_font "Arial Black"
note_font_size 24
note_font_color 0x3b3b3bff
xpos -1397
ypos 3072
bdwidth 1127
bdheight 1017
z_order 1
}
BackdropNode {
inputs 0
name " 7"
tile_color 0xb9b9b9ff
label "<center>Check Negative Values/Super High Values (marked in white)\n\nCheck you are not creating negative values \nor super high values"
note_font "Arial Black"
note_font_size 24
note_font_color 0x3b3b3bff
xpos -1416
ypos 1617
bdwidth 1137
bdheight 964
z_order 1
}
BackdropNode {
inputs 0
name " 8"
tile_color 0xb9b9b9ff
label "<center>GRAIN check\nFrame should be completely black if nothing has been added/changed in comp"
note_font "Arial Black"
note_font_size 24
note_font_color 0x3b3b3bff
xpos -2991
ypos 1594
bdwidth 1466
bdheight 1126
z_order 1
}
Constant {
inputs 0
channels rgb
color {{"\[expr \{\[value \[topnode parent.input0].width] == \[value \[topnode parent.input1].width] && \[value \[topnode parent.input0].height] == \[value \[topnode parent.input1].height] && \[value \[topnode parent.input0].first] == \[value \[topnode parent.input1].first] && \[value \[topnode parent.input0].last] == \[value \[topnode parent.input1].last] && \[metadata -n parent.input0 input/timecode] == \[metadata -n parent.input1 input/timecode] ? 0 : 1\}]"} {"\[expr \{\[value \[topnode parent.input0].width] == \[value \[topnode parent.input1].width] && \[value \[topnode parent.input0].height] == \[value \[topnode parent.input1].height] && \[value \[topnode parent.input0].first] == \[value \[topnode parent.input1].first] && \[value \[topnode parent.input0].last] == \[value \[topnode parent.input1].last] && \[metadata -n parent.input0 input/timecode] == \[metadata -n parent.input1 input/timecode] ? 1 : 0\}]"} 0 0}
color_panelDropped true
format "256 256 0 0 256 256 1 square_256"
name Constant4
note_font_size 24
xpos -3592
ypos 304
}
Dot {
name Dot9
xpos -3570
ypos 438
}
set Na48ce400 [stack 0]
PostageStamp {
name PostageStamp14
label STATUS_ICON
xpos -889
ypos 3729
hide_input true
}
Transform {
translate {0 {"parent.height - height"}}
center {128 128}
name Transform7
xpos -889
ypos 3807
}
Input {
inputs 0
name COMP
xpos -2257
ypos -635
number 1
}
Dot {
name Dot1
xpos -2235
ypos -552
}
set Na48cf400 [stack 0]
Text2 {
font_size_toolbar 100
font_width_toolbar 100
font_height_toolbar 100
message "\[file tail \[value \[topnode parent.input1].file]]\nTC: \[metadata input/timecode] | fps: \[metadata input/frame_rate] | frame range: \[value \[topnode parent.input1].first] - \[value \[topnode parent.input1].last]"
old_message {{91 102 105 108 101 32 116 97 105 108 32 91 118 97 108 117 101 32 110 111 100 101 50 56 53 97 55 53 56 54 99 48 48 46 102 105 108 101 93 93 10 84 67 58 32 32 124 32 102 112 115 58 32 32 124 32 102 114 97 109 101 32 114 97 110 103 101 58 32 91 118 97 108 117 101 32 110 111 100 101 50 56 53 97 55 53 56 54 99 48 48 46 102 105 114 115 116 93 32 45 32 91 118 97 108 117 101 32 110 111 100 101 50 56 53 97 55 53 56 54 99 48 48 46 108 97 115 116 93}
}
old_expression_markers {{18 32 45 44 53 52 76 90 108 122}
}
box {{"0.025 * width"} {"0.05 * height"} {"0.975 * width"} {"0.2 * height"}}
yjustify bottom
transforms {{0 2}
}
cursor_position 48
font {{ Utopia : Bold : UtopiaBold.pfa : 0 }}
leading 0.2
scale {1 1}
center {1920 1080}
cursor_initialised true
autofit_bbox false
initial_cursor_position {{20 314.5}
}
group_animations {{0} imported: 0 selected: items: "root transform"}
animation_layers {{1 11 1920 1080 0 0 1 1 0 0 0 0}
}
enable_background true
background_opacity 0.9
background_border_x 20
background_border_y 10
name COMP_INFO
xpos -2409
ypos -465
disable {{"parent.check_type != 0" x1043 1}}
}
push $Na48cf400
Switch {
inputs 2
which {{"\[exists parent.input1]"}}
name Switch6
xpos -2257
ypos -465
}
Dot {
name Dot6
xpos -2235
ypos -354
}
set Na73e0000 [stack 0]
PostageStamp {
name PostageStamp23
label COMP
xpos -712
ypos 3249
hide_input true
}
Dot {
name Dot12
xpos -690
ypos 3366
}
set Na73e0800 [stack 0]
Expression {
expr0 "isnan(r) ? 10000 : 0"
expr1 "isnan(g) ? 10000 : 0"
expr2 "isnan(b) ? 10000 : 0"
expr3 "isnan(a) ? 10000 : 0"
name ISNAN
xpos -712
ypos 3567
}
Merge2 {
inputs 2
name Merge12
xpos -712
ypos 3807
}
Dot {
name Dot29
xpos -690
ypos 3918
}
set Na73e1400 [stack 0]
PostageStamp {
name PostageStamp52
label NaN
xpos 685
ypos -495
hide_input true
}
push $Na48ce400
PostageStamp {
name PostageStamp11
label STATUS_ICON
xpos -709
ypos 2217
hide_input true
}
Transform {
translate {0 {"parent.height - height"}}
center {128 128}
name Transform6
xpos -709
ypos 2302
}
push $Na73e0000
PostageStamp {
name PostageStamp22
label COMP
xpos -931
ypos 1929
hide_input true
}
Dot {
name Dot7
xpos -909
ypos 2101
}
set Na740a800 [stack 0]
Dot {
name Dot8
xpos -1138
ypos 2101
}
Expression {
expr0 "r > 50 ? 10000 : 0"
expr1 "g > 50 ? 10000 : 0"
expr2 "b > 50 ? 10000 : 0"
expr3 "a > 50 ? 10000 : 0"
name HIGH
xpos -1160
ypos 2223
}
Dot {
name Dot21
xpos -1138
ypos 2286
}
set Na740b400 [stack 0]
PostageStamp {
name PostageStamp38
label QC_HIGH
xpos -700
ypos 2114
hide_input true
}
push $Na740a800
Expression {
expr0 "r < 0 ? 10000 : 0"
expr1 "g < 0 ? 10000 : 0"
expr2 "b < 0 ? 10000 : 0"
expr3 "a < 0 ? 10000 : 0"
name NEGATIVE
xpos -931
ypos 2223
}
Dot {
name Dot22
xpos -909
ypos 2286
}
set Na7434000 [stack 0]
PostageStamp {
name PostageStamp37
label QC_NEG
xpos -532
ypos 1986
hide_input true
}
Merge2 {
inputs 2
operation plus
name Merge2
xpos -532
ypos 2120
}
Merge2 {
inputs 2
name Merge11
xpos -532
ypos 2302
}
Dot {
name Dot23
xpos -510
ypos 2406
}
set Na7435000 [stack 0]
PostageStamp {
name PostageStamp40
label QC_NEG_HIGH
xpos 430
ypos -495
hide_input true
}
push $Na48ce400
PostageStamp {
name PostageStamp13
label STATUS_ICON
xpos -2055
ypos 3849
hide_input true
}
Transform {
translate {0 {"parent.height - height"}}
center {128 128}
name Transform5
xpos -2055
ypos 3927
}
push $Na73e0000
PostageStamp {
name PostageStamp29
label COMP
xpos -2047
ypos 3472
hide_input true
}
Input {
inputs 0
name PLATE
xpos -2952
ypos -633
}
Dot {
name Dot2
xpos -2930
ypos -546
}
set Na7466800 [stack 0]
Text2 {
font_size_toolbar 100
font_width_toolbar 100
font_height_toolbar 100
message "\[file tail \[value \[topnode parent.input0].file]]\nTC: \[metadata input/timecode] | fps: \[metadata input/frame_rate] | frame range:\[value \[topnode parent.input0].first] - \[value \[topnode parent.input0].last]"
old_message {{91 102 105 108 101 32 116 97 105 108 32 91 118 97 108 117 101 32 110 111 100 101 50 56 53 97 55 53 56 54 99 48 48 46 102 105 108 101 93 93 10 84 67 58 32 32 124 32 102 112 115 58 32 32 124 32 102 114 97 109 101 32 114 97 110 103 101 58 91 118 97 108 117 101 32 110 111 100 101 50 56 53 97 55 53 56 54 99 48 48 46 102 105 114 115 116 93 32 45 32 91 118 97 108 117 101 32 110 111 100 101 50 56 53 97 55 53 56 54 99 48 48 46 108 97 115 116 93}
}
old_expression_markers {{18 32 45 44 53 52 75 89 107 121}
}
box {{"0.025 * width"} {"0.05 * height"} {"0.975 * width"} {"0.2 * height"}}
yjustify bottom
transforms {{0 2}
}
cursor_position 165
font {{ Utopia : Bold : UtopiaBold.pfa : 0 }}
leading 0.2
scale {1 1}
center {1920 1080}
cursor_initialised true
autofit_bbox false
initial_cursor_position {{20 314.5}
}
group_animations {{0} imported: 0 selected: items: "root transform"}
animation_layers {{1 11 1920 1080 0 0 1 1 0 0 0 0}
}
enable_background true
background_opacity 0.9
background_border_x 20
background_border_y 10
name PLATE_INFO
xpos -3088
ypos -465
disable {{"parent.check_type != 0"}}
}
push $Na7466800
Switch {
inputs 2
which {{"\[exists parent.input0]"}}
name Switch5
xpos -2952
ypos -465
}
Dot {
name Dot5
xpos -2930
ypos -330
}
set Na7467400 [stack 0]
PostageStamp {
name PostageStamp18
label PLATE
xpos -1878
ypos 3369
hide_input true
}
Merge2 {
inputs 2
operation difference
sRGB true
name Merge4
xpos -1878
ypos 3478
}
Merge2 {
inputs 2
name Merge10
xpos -1878
ypos 3927
}
Dot {
name Dot28
xpos -1856
ypos 4014
}
set Na749a400 [stack 0]
PostageStamp {
name PostageStamp50
label DIFFERENCE
xpos 180
ypos -495
hide_input true
}
push $Na48ce400
PostageStamp {
name PostageStamp12
label STATUS_ICON
xpos -2847
ypos 3849
hide_input true
}
Transform {
translate {0 {"parent.height - height"}}
center {128 128}
name Transform4
xpos -2847
ypos 3927
}
push $Na73e0000
PostageStamp {
name PostageStamp28
label COMP
xpos -2670
ypos 3273
hide_input true
}
Dot {
name Dot14
xpos -2648
ypos 3397
}
set Na749b800 [stack 0]
Dot {
name Dot15
xpos -2363
ypos 3397
}
push $Na7467400
PostageStamp {
name PostageStamp19
label PLATE
xpos -2221
ypos 3472
hide_input true
}
Difference {
inputs 2
gain 100
name Difference7
xpos -2385
ypos 3472
}
Shuffle2 {
fromInput1 {{0} B}
fromInput2 {{0} B}
mappings "4 rgba.alpha 0 3 rgba.red 0 0 rgba.alpha 0 3 rgba.green 0 1 rgba.alpha 0 3 rgba.blue 0 2 rgba.alpha 0 3 rgba.alpha 0 3"
name Shuffle1
xpos -2385
ypos 3561
}
Dot {
name Dot16
xpos -2363
ypos 3637
}
set Na71d2c00 [stack 0]
Constant {
inputs 0
channels rgb
color {{parent.highlight.r} {parent.highlight.g} {parent.highlight.b} 1}
color_panelDropped true
format "256 256 0 0 256 256 1 square_256"
name Constant1
xpos -2873
ypos 3622
}
push $Na749b800
Keymix {
inputs 3
name Keymix1
xpos -2670
ypos 3640
}
Merge2 {
inputs 2
name Merge9
xpos -2670
ypos 3927
}
Dot {
name Dot26
xpos -2648
ypos 4014
}
set Na71d3c00 [stack 0]
PostageStamp {
name PostageStamp48
label DIFFERENCE_HIGHLIGHT
xpos -136
ypos -495
hide_input true
}
push $Na48ce400
PostageStamp {
name PostageStamp10
label STATUS_ICON
xpos -2038
ypos 2361
hide_input true
}
Transform {
translate {0 {"parent.height - height"}}
center {128 128}
name Transform3
xpos -2038
ypos 2422
}
Input {
inputs 0
name DEGRAINED_PLATE
label optional
xpos -2925
ypos 2223
number 3
}
push $Na7467400
PostageStamp {
name PostageStamp16
label PLATE
xpos -2659
ypos 1857
hide_input true
}
Dot {
name Dot37
xpos -2637
ypos 2022
}
set Na7201400 [stack 0]
Dot {
name Dot38
xpos -2747
ypos 2022
}
Blur {
size 7
name Blur1
xpos -2769
ypos 2145
}
set Ca7201c00 [stack 0]
Switch {
inputs 2
which {{"\[expr \{\[exists parent.input2] && \[exists parent.input3]\}]"}}
name Switch2
xpos -2769
ypos 2229
}
set Ca7222000 [stack 0]
push $Na7201400
Merge2 {
inputs 2
operation from
name Merge3
xpos -2659
ypos 2229
}
Grade {
white 30
name Grade1
xpos -2659
ypos 2397
}
set Ca7222800 [stack 0]
Dot {
name Dot18
xpos -2637
ypos 2454
}
set Na7222c00 [stack 0]
PostageStamp {
name PostageStamp31
label PLATE_GRAIN
xpos -2020
ypos 2241
hide_input true
}
Input {
inputs 0
name DEGRAINED_COMP
label optional
xpos -2501
ypos 2301
number 2
}
push $Na73e0000
PostageStamp {
name PostageStamp21
label COMP
xpos -2208
ypos 1857
hide_input true
}
Dot {
name Dot39
xpos -2186
ypos 2016
}
set Na7223c00 [stack 0]
Dot {
name Dot40
xpos -2296
ypos 2016
}
clone $Ca7201c00 {
xpos -2318
ypos 2139
selected false
}
clone $Ca7222000 {
inputs 2
xpos -2318
ypos 2307
selected false
}
push $Na7223c00
Merge2 {
inputs 2
operation from
name Merge6
xpos -2208
ypos 2307
}
clone $Ca7222800 {
xpos -2208
ypos 2391
selected false
}
Dot {
name Dot19
xpos -2186
ypos 2454
}
set Na7255400 [stack 0]
PostageStamp {
name PostageStamp33
label COMP_GRAIN
xpos -1861
ypos 2128
hide_input true
}
Merge2 {
inputs 2
operation difference
sRGB true
name Merge5
xpos -1861
ypos 2247
}
Merge2 {
inputs 2
name Merge8
xpos -1861
ypos 2422
}
Dot {
name Dot20
xpos -1839
ypos 2502
}
set Na7280400 [stack 0]
PostageStamp {
name PostageStamp41
label QC_GRAIN
xpos -466
ypos -495
hide_input true
}
Constant {
inputs 0
channels rgb
color {{"\[expr \{\[value \[topnode parent.input0].width] == \[value \[topnode parent.input1].width] && \[value \[topnode parent.input0].height] == \[value \[topnode parent.input1].height] && \[value \[topnode parent.input0].first] == \[value \[topnode parent.input1].first] && \[value \[topnode parent.input0].last] == \[value \[topnode parent.input1].last] && \[metadata -n parent.input0 input/timecode] == \[metadata -n parent.input1 input/timecode] ? 0 : 1\}]"} {"\[expr \{\[value \[topnode parent.input0].width] == \[value \[topnode parent.input1].width] && \[value \[topnode parent.input0].height] == \[value \[topnode parent.input1].height] && \[value \[topnode parent.input0].first] == \[value \[topnode parent.input1].first] && \[value \[topnode parent.input0].last] == \[value \[topnode parent.input1].last] && \[metadata -n parent.input0 input/timecode] == \[metadata -n parent.input1 input/timecode] ? 1 : 0\}]"} 0 0}
color_panelDropped true
name Constant3
note_font_size 24
xpos -1105
ypos 608
}
set Na7280c00 [stack 0]
Reformat {
type "to box"
box_width {{"\[topnode parent.input1].width"}}
box_height {{"\[topnode parent.input1].height"}}
box_fixed true
center false
name REFORMAT_TO_PLATE
xpos -1255
ypos 759
}
push $Na7280c00
Switch {
inputs 2
which {{"\[exists parent.input0]"}}
name Switch3
xpos -1105
ypos 836
}
set Na7281800 [stack 0]
Text2 {
font_size_toolbar 100
font_width_toolbar 100
font_height_toolbar 100
cliptype union
message "WIDTH: \[expr \{\[value \[topnode parent.input0].width] == \[value \[topnode parent.input1].width] ? \"OK\" : \"MISMATCH\"\}]\nHEIGHT: \[expr \{\[value \[topnode parent.input0].height] == \[value \[topnode parent.input1].height] ? \"OK\" : \"MISMATCH\"\}]\n\nTC: \[expr \{\[metadata -n parent.input0 input/timecode] == \[metadata -n parent.input1 input/timecode] ? \"OK\" : \"MISMATCH\"\}]\n\nRANGE START: \[expr \{\[value \[topnode parent.input0].first] == \[value \[topnode parent.input1].first] ? \"OK\" : \"MISMATCH\"\}]\nRANGE END: \[expr \{\[value \[topnode parent.input0].last] == \[value \[topnode parent.input1].last] ? \"OK\" : \"MISMATCH\"\}]"
old_message {{87 73 68 84 72 58 32 79 75 10 72 69 73 71 72 84 58 32 79 75 10 10 84 67 58 32 77 73 83 77 65 84 67 72 10 10 82 65 78 71 69 32 83 84 65 82 84 58 32 79 75 10 82 65 78 71 69 32 69 78 68 58 32 79 75}
}
old_expression_markers {{7 8 18 19 26 33 49 50 63 64}
}
box {0 0 {width} {height}}
xjustify center
yjustify center
transforms {{0 2}
}
cursor_position 317
font {{ Utopia : Bold : UtopiaBold.pfa : 0 }}
global_font_scale 2
leading 0.2
scale {1 1}
center {1920 1080}
cursor_initialised true
autofit_bbox false
initial_cursor_position {{20 314.5}
}
group_animations {{0} imported: 0 selected: items: "root transform"}
animation_layers {{1 11 1920 1080 0 0 1 1 0 0 0 0}
}
enable_background true
background_opacity 0.9
background_border_x 20
background_border_y 10
name CHECK_WIDTH_HEIGHT_FRAMERANGE
xpos -1273
ypos 946
}
push $Na7281800
Switch {
inputs 2
which {{"\[expr \{\[exists parent.input0] && \[exists parent.input1]\}]"}}
name Switch4
xpos -1105
ypos 946
}
Dot {
name Dot25
xpos -1083
ypos 1046
}
set Na72ba400 [stack 0]
PostageStamp {
name PostageStamp45
label WIDTH_HEIGHT_FRAMERANGE
xpos -810
ypos -495
hide_input true
}
push $Na48ce400
PostageStamp {
name PostageStamp7
label STATUS_ICON
xpos -1867
ypos 763
hide_input true
}
Transform {
translate {0 {"parent.height - height"}}
center {128 128}
name Transform2
xpos -1867
ypos 838
}
push $Na73e0000
PostageStamp {
name PostageStamp20
label COMP
xpos -1690
ypos 633
hide_input true
}
Text2 {
font_size_toolbar 100
font_width_toolbar 100
font_height_toolbar 100
message COMP
old_message {{67 79 77 80}
}
box {{"0.025 * width"} {"0.9 * height"} {"0.975 * width"} {"1 * height"}}
xjustify center
yjustify bottom
transforms {{0 2}
}
cursor_position 4
font {{ Utopia : Bold : UtopiaBold.pfa : 0 }}
global_font_scale 2
leading 0.2
scale {1 1}
center {1920 1080}
cursor_initialised true
autofit_bbox false
initial_cursor_position {{20 314.5}
}
group_animations {{0} imported: 0 selected: items: "root transform"}
animation_layers {{1 11 1920 1080 0 0 1 1 0 0 0 0}
}
enable_background true
background_opacity 0.9
background_border_x 20
background_border_y 10
name Text1
xpos -1690
ypos 735
}
Merge2 {
inputs 2
name Merge7
xpos -1690
ypos 838
}
Dot {
name Dot3
xpos -1668
ypos 957
}
push $Na7467400
PostageStamp {
name PostageStamp15
label PLATE
xpos -2041
ypos 633
hide_input true
}
Text2 {
font_size_toolbar 100
font_width_toolbar 100
font_height_toolbar 100
message PLATE
old_message {{80 76 65 84 69}
}
box {{"0.025 * width"} {"0.9 * height"} {"0.975 * width"} {"1 * height"}}
xjustify center
yjustify bottom
transforms {{0 2}
}
cursor_position 5
font {{ Utopia : Bold : UtopiaBold.pfa : 0 }}
global_font_scale 2
leading 0.2
scale {1 1}
center {1920 1080}
cursor_initialised true
autofit_bbox false
initial_cursor_position {{20 314.5}
}
group_animations {{0} imported: 0 selected: items: "root transform"}
animation_layers {{1 11 1920 1080 0 0 1 1 0 0 0 0}
}
enable_background true
background_opacity 0.9
background_border_x 20
background_border_y 10
name Text2
xpos -2041
ypos 735
}
Dot {
name Dot4
xpos -2019
ypos 957
}
Switch {
inputs 2
which {{parent.switch}}
name Switch1
xpos -1846
ypos 966
}
Dot {
name Dot24
xpos -1824
ypos 1062
}
set Na72f9400 [stack 0]
PostageStamp {
name PostageStamp43
label SWITCH_PLATE_COMP
xpos -1140
ypos -495
hide_input true
}
push $Na48ce400
PostageStamp {
name PostageStamp6
label STATUS_ICON
xpos -3010
ypos 897
hide_input true
}
Transform {
translate {0 {"parent.height - width"}}
center {128 128}
name Transform1
xpos -3010
ypos 985
}
push $Na73e0000
PostageStamp {
name PostageStamp4
label COMP
xpos -2655
ypos 657
hide_input true
}
Text2 {
font_size_toolbar 100
font_width_toolbar 100
font_height_toolbar 100
message COMP
old_message {{67 79 77 80}
}
box {{"0.025 * width"} {"0.9 * height"} {"0.975 * width"} {"1 * height"}}
xjustify center
yjustify bottom
transforms {{0 2}
}
cursor_position 4
font {{ Utopia : Bold : UtopiaBold.pfa : 0 }}
global_font_scale 2
leading 0.2
scale {1 1}
center {1920 1080}
cursor_initialised true
autofit_bbox false
initial_cursor_position {{20 314.5}
}
group_animations {{0} imported: 0 selected: items: "root transform"}
animation_layers {{1 11 1920 1080 0 0 1 1 0 0 0 0}
}
enable_background true
background_opacity 0.9
background_border_x 20
background_border_y 10
name Text5
xpos -2655
ypos 748
}
push $Na7467400
PostageStamp {
name PostageStamp3
label PLATE
xpos -2844
ypos 657
hide_input true
}
Text2 {
font_size_toolbar 100
font_width_toolbar 100
font_height_toolbar 100
message PLATE
old_message {{80 76 65 84 69}
}
box {{"0.025 * width"} {"0.9 * height"} {"0.975 * width"} {"1 * height"}}
xjustify center
yjustify bottom
transforms {{0 2}
}
cursor_position 5
font {{ Utopia : Bold : UtopiaBold.pfa : 0 }}
global_font_scale 2
leading 0.2
scale {1 1}
center {1920 1080}
cursor_initialised true
autofit_bbox false
initial_cursor_position {{20 314.5}
}
group_animations {{0} imported: 0 selected: items: "root transform"}
animation_layers {{1 11 1920 1080 0 0 1 1 0 0 0 0}
}
enable_background true
background_opacity 0.9
background_border_x 20
background_border_y 10
name Text4
xpos -2844
ypos 752
}
ContactSheet {
inputs 2
width {{"columns * input.width"}}
height {{"rows * input.height"}}
rows {{"parent.orientation == 0 ? 2 : 1"}}
columns {{"parent.orientation == 1 ? 2 : 1"}}
center true
roworder TopBottom
name ContactSheet1
xpos -2767
ypos 872
}
Merge2 {
inputs 2
name Merge1
xpos -2767
ypos 985
}
Dot {
name Dot10
xpos -2745
ypos 1040
}
set Nafa7bc00 [stack 0]
PostageStamp {
name PostageStamp9
label SIDE_BY_SIDE
xpos -1392
ypos -484
hide_input true
}
Switch {
inputs 8
which {{parent.check_type}}
name check_type
xpos -706
ypos -273
}
Output {
name Output1
xpos -706
ypos -211
}
push $Nafa7bc00
PostageStamp {
name PostageStamp8
label SIDE_BY_SIDE
xpos -2767
ypos 1154
hide_input true
}
push $Na48ce400
PostageStamp {
name PostageStamp5
label STATUS_ICON
xpos -3592
ypos 573
hide_input true
}
push $Na7467400
PostageStamp {
name PostageStamp1
label PLATE
xpos -2952
ypos -217
hide_input true
}
push $Na73e0000
PostageStamp {
name PostageStamp2
label COMP
xpos -2257
ypos -231
hide_input true
}
push $Na7467400
PostageStamp {
name PostageStamp17
label PLATE
xpos -810
ypos 1929
hide_input true
}
push $Na73e0000
PostageStamp {
name PostageStamp24
label COMP
xpos -1078
ypos 4257
hide_input true
}
ColorCorrect {
saturation 0
contrast 2.5
name ColorCorrect1
xpos -1078
ypos 4383
}
Dot {
name Dot13
xpos -1055
ypos 4446
}
PostageStamp {
name PostageStamp26
label B&W
xpos -1077
ypos 4577
hide_input true
}
push $Na73e0000
PostageStamp {
name PostageStamp25
label COMP
xpos -480
ypos 4257
hide_input true
}
Saturation {
saturation 9
name Saturation1
xpos -480
ypos 4383
}
Dot {
name Dot17
xpos -458
ypos 4446
}
PostageStamp {
name PostageStamp27
label SATURATION
xpos -480
ypos 4569
hide_input true
}
push $Na7222c00
PostageStamp {
name PostageStamp30
label PLATE_GRAIN
xpos -2659
ypos 2536
hide_input true
}
push $Na7255400
PostageStamp {
name PostageStamp32
label COMP_GRAIN
xpos -2208
ypos 2545
hide_input true
}
push $Na7280400
PostageStamp {
name PostageStamp34
label QC_GRAIN
xpos -1861
ypos 2601
hide_input true
}
push $Na740b400
PostageStamp {
name PostageStamp35
label QC_HIGH
xpos -1160
ypos 2361
hide_input true
}
push $Na7434000
PostageStamp {
name PostageStamp36
label QC_NEG
xpos -931
ypos 2361
hide_input true
}
push $Na72f9400
PostageStamp {
name PostageStamp42
label SWITCH_PLATE_COMP
xpos -1846
ypos 1241
hide_input true
}
push $Na72ba400
PostageStamp {
name PostageStamp44
label WIDTH_HEIGHT_FRAMERANGE
xpos -1105
ypos 1161
hide_input true
}
push $Na71d2c00
Dot {
name Dot27
xpos -2363
ypos 4014
}
PostageStamp {
name PostageStamp47
label DIFFERENCE_ALPHA
xpos -2385
ypos 4137
hide_input true
}
push $Na71d3c00
PostageStamp {
name PostageStamp46
label DIFFERENCE_HIGHLIGHT
xpos -2670
ypos 4137
hide_input true
}
push $Na749a400
PostageStamp {
name PostageStamp49
label DIFFERENCE
xpos -1878
ypos 4137
hide_input true
}
push $Na73e1400
PostageStamp {
name PostageStamp51
label NaN
xpos -712
ypos 4017
hide_input true
}
push $Na73e0800
Expression {
channel0 rgba
expr0 isnan(r)
channel1 rgba
expr1 isnan(g)
channel2 rgba
expr2 isnan(b)
name Expression4
xpos -840
ypos 3464
disable true
}
Expression {
channel0 rgba
expr0 clamp(r+g+b)
channel1 rgba
expr1 clamp(r+g+b)
channel2 rgba
expr2 clamp(r+g+b)
channel3 rgba
expr3 clamp(r+g+b)
name Expression5
xpos -840
ypos 3511
disable true
}
Constant {
inputs 0
channels rgb
color {1 0 0 0}
color_panelDropped true
name Constant2
xpos -1250
ypos 3487
disable true
}
push $Na73e0800
Dot {
name Dot11
xpos -994
ypos 3366
}
Keymix {
inputs 3
name Keymix2
xpos -1016
ypos 3505
disable true
}
push $Na7435000
PostageStamp {
name PostageStamp39
label QC_NEG_HIGH
xpos -532
ypos 2505
hide_input true
}
push $Na48cf400
PostageStamp {
name PostageStamp54
label COMP
xpos -2036
ypos 4579
hide_input true
}
Dot {
name Dot31
xpos -2014
ypos 4734
}
set Nafb80c00 [stack 0]
TimeOffset {
time_offset 1
time ""
name TimeOffset2
xpos -2192
ypos 4877
}
push $Nafb80c00
Merge2 {
inputs 2
operation difference
sRGB true
name Merge14
xpos -2036
ypos 4877
}
Expression {
expr0 "r == 0 ? 10000 : 0"
expr1 "g == 0 ? 10000 : 0"
expr2 "b == 0 ? 10000 : 0"
expr3 "a == 0 ? 10000 : 0"
name DISPLAY2
xpos -2036
ypos 4965
}
push $Na7466800
PostageStamp {
name PostageStamp53
label PLATE
xpos -2731
ypos 4593
hide_input true
}
Dot {
name Dot30
xpos -2709
ypos 4744
}
set Nafb81c00 [stack 0]
TimeOffset {
time_offset 1
time ""
name TimeOffset1
xpos -2887
ypos 4887
}
set Naed1d700 [stack 0]
push $Nafb81c00
Merge2 {
inputs 2
operation difference
sRGB true
name Merge13
xpos -2731
ypos 4887
}
Expression {
expr0 "r == 0 ? 10000 : 0"
expr1 "g == 0 ? 10000 : 0"
expr2 "b == 0 ? 10000 : 0"
expr3 "a == 0 ? 10000 : 0"
name DISPLAY1
xpos -2731
ypos 4975
}
BlinkScript {
inputs 0
recompileCount 2
ProgramGroup 1
KernelDescription "3 \"DuplicatedFrames\" iterate pixelWise 8bf42c540d2893ab01859b6f1ba0969a366c433fcf6f5cc7644c5acabe4a6134 2 \"src\" Read Point \"dst\" Write Point 0 0 0"
kernelSource "\nkernel DuplicatedFrames : ImageComputationKernel<ePixelWise>\n\{\n Image<eRead, eAccessPoint, eEdgeClamped> src; // the input image\n Image<eWrite> dst; // the output image\n\n param:\n\n\n // In define(), parameters can be given labels and default values.\n void define() \{\n\n \}\n\n // The init() function is run before any calls to process().\n // Local variables can be initialized here.\n void init() \{\n \}\n\n void process() \{\n // Read the input image\n SampleType(src) input = src();\n\n // Isolate the RGBA components\n float4 srcPixel(input.x, input.y, input.z, input.w);\n \n float mark = 0.0f;\n\n if (srcPixel.x > 0.0f || srcPixel.y > 0.0f || srcPixel.z > 0.0f || srcPixel.w > 0.0f) \{\n mark = 1.0f;\n \}\n\n dst() = float4(mark, 0.0f, 0.0f, 0.0f);\n \}\n\};\n"
rebuild ""
rebuild_finalise ""
name BlinkScript2
xpos -2509
ypos 4938
}
BlinkScript {
inputs 0
recompileCount 13
ProgramGroup 1
KernelDescription "3 \"DuplicatedFrames\" iterate pixelWise 4bc177c43a4f70507460cb63ecb623c7d194e2c006c37326230da1462f1523ab 3 \"current_frame\" Read Point \"previous_frame\" Read Point \"dst\" Write Point 0 0 0"
kernelSource "\nkernel DuplicatedFrames : ImageComputationKernel<ePixelWise>\n\{\n Image<eRead, eAccessPoint, eEdgeClamped> current_frame;\n Image<eRead, eAccessPoint, eEdgeClamped> previous_frame;\n Image<eWrite> dst; // the output image\n \n param:\n \n void define()\n \{\n \n \}\n \n void init()\n \{\n \n \}\n \n void process()\n \{\n float4 rgba = current_frame();\n \n float mark = 0.0f;\n\n if (rgba.x == 0.0f && rgba.y == 0.0f && rgba.z == 0.0f) \{\n mark = 1.0f;\n \} else \{\n mark = 0.0f;\n \}\n\n dst() = mark;\n \}\n\};\n"
rebuild ""
rebuild_finalise ""
name BlinkScript3
xpos -2462
ypos 4819
}
push $Nafb81c00
push $Naed1d700
push $Nafb81c00
BlinkScript {
inputs 2
recompileCount 16
ProgramGroup 1
KernelDescription "3 \"DuplicatedFrames\" iterate pixelWise 4bc177c43a4f70507460cb63ecb623c7d194e2c006c37326230da1462f1523ab 3 \"current_frame\" Read Point \"previous_frame\" Read Point \"dst\" Write Point 0 0 0"
kernelSource "\nkernel DuplicatedFrames : ImageComputationKernel<ePixelWise>\n\{\n Image<eRead, eAccessPoint, eEdgeClamped> current_frame;\n Image<eRead, eAccessPoint, eEdgeClamped> next_frame;\n Image<eWrite> dst; // the output image\n \n param:\n \n void define()\n \{\n \n \}\n \n void init()\n \{\n \n \}\n \n void process()\n \{\n float4 rgba_current = current_frame();\n float4 rgba_next = next_frame();\n \n float mark = 0.0f;\n\n if (rgba_current == rgba_next) \{\n mark = 1.0f;\n \} else \{\n mark = 0.0f;\n \}\n\n dst() = mark;\n \}\n\};\n"
rebuild ""
rebuild_finalise ""
name BlinkScript1
xpos -2556
ypos 5033
}
push 0
Viewer {
inputs 3
frame_range 1001-1142
fps 25
input_number 1
colour_sample_bbox {0.8237410188 -0.3687050343 0.8241906762 -0.3660072088}
viewerProcess "ACES 1.0 - SDR Video (sRGB - Display)"
name Viewer1
xpos -4621
ypos 5823
}
end_group
push $Naf062400
PostageStamp {
name Stamp27
help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
onCreate "if nuke.GUI:\n try:\n import stamps; stamps.wiredOnCreate()\n except:\n pass\n"
knobChanged "import stamps; stamps.wiredKnobChanged()"
autolabel "nuke.thisNode().knob(\"title\").value()"
tile_color 0x1000001
note_font Verdana
note_font_size 20
xpos -260
ypos 23962
hide_input true
addUserKnob {20 wired_tab l "Wired Stamp"}
addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
title MASTER_COMP_EXR
addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MASTER_COMP_EXR}
addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T "<i><center>ACES,<center>MASTER OUTPUT,<center>OUT</i>"}
addUserKnob {26 line1 l "" +STARTLINE}
addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
addUserKnob {26 anchor_label l Anchor: T " "}
addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
addUserKnob {26 stamps_label l Stamps: T " "}
addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
addUserKnob {26 space_1 l "" +STARTLINE T " "}
addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n nuke.message(\"Unable to reconnect.\")\ntry:\n import stamps\n stamps.wiredGetStyle(n)\nexcept:\n pass\n"}
addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
addUserKnob {26 space_2 l "" +STARTLINE T " "}
addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
addUserKnob {1 anchor l Anchor}
anchor Anchor_1f620af31
addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
addUserKnob {26 line2 l "" +STARTLINE}
addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Write {
file "\[getenv CVRT_SHOT_ROOT]/Export/sends/\[getenv CVRT_FILENAME]_\[regsub -all \{^_+|_+\$\} \[regsub -all \{\[^a-zA-Z0-9]+\} \[regsub -all \{\[\\s.]+\} \[value this.colorspace] \"\"] \"_\"] \"\"].mov"
file_type mov
mov64_format "mov (QuickTime / MOV)"
mov64_codec appr
mov_prores_codec_profile "ProRes 4:4:4:4 XQ 12-bit"
mov_h264_codec_profile "High 4:2:0 8-bit"
mov64_pixel_format {{0} "yuv420p\tYCbCr 4:2:0 8-bit"}
mov64_quality High
mov64_fast_start true
mov64_write_timecode true
mov64_gop_size 12
mov64_b_frames 0
mov64_bitrate 28000
mov64_bitrate_tolerance 0
mov64_quality_min 1
mov64_quality_max 3
colorspace "ARRI LogC3 (EI800)"
create_directories true
checkHashOnRead false
version 31
in_colorspace ACES2065-1
out_colorspace "ARRI LogC3 (EI800)"
ocioColorspace ACES2065-1
display "sRGB - Display"
view "ACES 1.0 - SDR Video"
name WRITE_QT_LOG
label "\n\n!!! Please set the correct output transform !!!\n!!! Check that the framerate is correct !!!\n\n\n\[python os.path.normpath(nuke.thisNode().knob(\"file\").evaluate())]"
note_font "Verdana Bold"
xpos -260
ypos 24316
}
Input {
inputs 0
name PIPELINE
onCreate "\nif nuke.thisNode():\n try:\n import os\n import re\n from pathlib import Path, PureWindowsPath\n \n \n # SET ENVIRONMENT VARIABLES\n class get_env_vars_from_node:\n def sanitize_str(self, str):\n return (\n re.sub(\n r\"_\{2,\}\",\n \"_\",\n re.sub(r\"\[^a-zA-Z0-9-]\", \"_\", str.replace(\" \", \"\").replace(\".\", \"\")),\n ).strip(\"_\")\n if str\n else \"\"\n )\n \n \n def get_version(self, str):\n pattern = r\"(?<!\[a-zA-Z0-9])v(\\d+)\"\n match = re.search(pattern, str.lower())\n \n \n \n if match:\n return match.group(1).zfill(3)\n else:\n return None\n \n \n def __init__(self, node):\n node.knob(\"uuid\").setValue(\"675ecf52-769b-4980-b482-108617f2742a\")\n self.script_path = nuke.scriptName() if nuke.root().name() != \"Root\" else \"\"\n self.script_name = self.sanitize_str(Path(nuke.scriptName()).stem) if nuke.root().name() != \"Root\" else \"\"\n self.script_version = f\"v\{self.get_version(self.script_name)\}\"\n \n \n self.shot_root = PureWindowsPath(os.path.normpath(os.path.join(os.path.dirname(self.script_path), node.knob(\"shot_root\").getValue()))).as_posix()\n node.knob(\"shot_root\").setTooltip(f\"The shot's root folder path relative to the current script path.<br><br>\{self.shot_root\}\")\n node.knob(\"shot_root_display\").setValue(self.shot_root)\n \n \n self.working_space = nuke.Root()\[\"workingSpaceLUT\"].value()\n # self.working_space = nuke.Root()\[\"workingSpaceLUT\"].toScript()\n \n \n self.vendor = node.knob(\"vendor\").getValue() if node.knob(\"vendor\") else \"\"\n self.show_name = (\n node.knob(\"show_name\").getValue() if node.knob(\"show_name\") else \"\"\n )\n self.show_id = (\n self.sanitize_str(node.knob(\"show_id\").getValue())\n if node.knob(\"show_id\")\n else \"\"\n )\n self.sequence = (\n self.sanitize_str(node.knob(\"sequence\").getValue())\n if node.knob(\"sequence\")\n else \"\"\n )\n self.shot = (\n self.sanitize_str(node.knob(\"shot\").getValue())\n if node.knob(\"shot\")\n else \"\"\n )\n self.scope = (\n self.sanitize_str(node.knob(\"scope\").getValue())\n if node.knob(\"scope\")\n else \"\"\n )\n \n \n #self.username = os.getenv(\"USERNAME\")\n #self.machine = os.getenv(\"COMPUTERNAME\")\n self.author = node.knob(\"author\").getValue() if node.knob(\"author\") else \"\"\n self.notes = node.knob(\"notes\").getValue() if node.knob(\"notes\") else \"\"\n \n if node\[\"use_upper\"].value():\n self.filename = \"_\".join(\n filter(\n None,\n \[\n self.show_id.upper(),\n self.sequence.upper(),\n self.shot.upper(),\n self.scope.upper(),\n self.script_version,\n ],\n )\n )\n else:\n self.filename = \"_\".join(\n filter(\n None,\n \[\n self.show_id.lower(),\n self.sequence.lower(),\n self.shot.lower(),\n self.scope.lower(),\n self.script_version,\n ],\n )\n )\n \n \n env_vars = get_env_vars_from_node(node=nuke.thisNode())\n \n \n os.environ\[\"CVRT_WORKING_SPACE\"] = env_vars.working_space\n os.environ\[\"CVRT_VENDOR\"] = env_vars.vendor\n os.environ\[\"CVRT_SHOW_NAME\"] = env_vars.show_name\n os.environ\[\"CVRT_SHOW_ID\"] = env_vars.show_id\n os.environ\[\"CVRT_SEQUENCE\"] = env_vars.sequence\n os.environ\[\"CVRT_SHOT\"] = env_vars.shot\n os.environ\[\"CVRT_SCRIPT_PATH\"] = env_vars.script_path\n os.environ\[\"CVRT_SCRIPT_NAME\"] = env_vars.script_name\n os.environ\[\"CVRT_SCRIPT_VERSION\"] = env_vars.script_version\n os.environ\[\"CVRT_SHOT_ROOT\"] = env_vars.shot_root\n os.environ\[\"CVRT_SCOPE\"] = env_vars.scope\n os.environ\[\"CVRT_FILENAME\"] = env_vars.filename\n os.environ\[\"CVRT_AUTHOR\"] = env_vars.author\n os.environ\[\"CVRT_NOTES\"] = env_vars.notes\n #os.environ\[\"CVRT_USERNAME\"] = env_vars.username\n #os.environ\[\"CVRT_MACHINE\"] = env_vars.machine\n except:\n pass\n"
knobChanged "\nimport os\nimport re\nfrom pathlib import Path, PureWindowsPath\n\n# SET ENVIRONMENT VARIABLES\nclass get_env_vars_from_node:\n def sanitize_str(self, str):\n return (\n re.sub(\n r\"_\{2,\}\",\n \"_\",\n re.sub(r\"\[^a-zA-Z0-9-]\", \"_\", str.replace(\" \", \"\").replace(\".\", \"\")),\n ).strip(\"_\")\n if str\n else \"\"\n )\n\n def get_version(self, str):\n pattern = r\"(?<!\[a-zA-Z0-9])v(\\d+)\"\n match = re.search(pattern, str.lower())\n\n\n if match:\n return match.group(1).zfill(3)\n else:\n return None\n\n def __init__(self, node):\n node.knob(\"uuid\").setValue(\"675ecf52-769b-4980-b482-108617f2742a\")\n self.script_path = nuke.scriptName() if nuke.root().name() != \"Root\" else \"\"\n self.script_name = self.sanitize_str(Path(nuke.scriptName()).stem) if nuke.root().name() != \"Root\" else \"\"\n self.script_version = f\"v\{self.get_version(self.script_name)\}\"\n\n self.shot_root = PureWindowsPath(os.path.normpath(os.path.join(os.path.dirname(self.script_path), node.knob(\"shot_root\").getValue()))).as_posix()\n node.knob(\"shot_root\").setTooltip(f\"The shot's root folder path relative to the current script path.<br><br>\{self.shot_root\}\")\n node.knob(\"shot_root_display\").setValue(self.shot_root)\n\n self.working_space = nuke.Root()\[\"workingSpaceLUT\"].value()\n # self.working_space = nuke.Root()\[\"workingSpaceLUT\"].toScript()\n\n self.vendor = node.knob(\"vendor\").getValue() if node.knob(\"vendor\") else \"\"\n self.show_name = (\n node.knob(\"show_name\").getValue() if node.knob(\"show_name\") else \"\"\n )\n self.show_id = (\n self.sanitize_str(node.knob(\"show_id\").getValue())\n if node.knob(\"show_id\")\n else \"\"\n )\n self.sequence = (\n self.sanitize_str(node.knob(\"sequence\").getValue())\n if node.knob(\"sequence\")\n else \"\"\n )\n self.shot = (\n self.sanitize_str(node.knob(\"shot\").getValue())\n if node.knob(\"shot\")\n else \"\"\n )\n self.scope = (\n self.sanitize_str(node.knob(\"scope\").getValue())\n if node.knob(\"scope\")\n else \"\"\n )\n\n #self.username = os.getenv(\"USERNAME\")\n #self.machine = os.getenv(\"COMPUTERNAME\")\n self.author = node.knob(\"author\").getValue() if node.knob(\"author\") else \"\"\n self.notes = node.knob(\"notes\").getValue() if node.knob(\"notes\") else \"\"\n\n if node\[\"use_upper\"].value():\n self.filename = \"_\".join(\n filter(\n None,\n \[\n self.show_id.upper(),\n self.sequence.upper(),\n self.shot.upper(),\n self.scope.upper(),\n self.script_version,\n ],\n )\n )\n else:\n self.filename = \"_\".join(\n filter(\n None,\n \[\n self.show_id.lower(),\n self.sequence.lower(),\n self.shot.lower(),\n self.scope.lower(),\n self.script_version,\n ],\n )\n )\n\nenv_vars = get_env_vars_from_node(node=nuke.thisNode())\n\nos.environ\[\"CVRT_WORKING_SPACE\"] = env_vars.working_space\nos.environ\[\"CVRT_VENDOR\"] = env_vars.vendor\nos.environ\[\"CVRT_SHOW_NAME\"] = env_vars.show_name\nos.environ\[\"CVRT_SHOW_ID\"] = env_vars.show_id\nos.environ\[\"CVRT_SEQUENCE\"] = env_vars.sequence\nos.environ\[\"CVRT_SHOT\"] = env_vars.shot\nos.environ\[\"CVRT_SCRIPT_PATH\"] = env_vars.script_path\nos.environ\[\"CVRT_SCRIPT_NAME\"] = env_vars.script_name\nos.environ\[\"CVRT_SCRIPT_VERSION\"] = env_vars.script_version\nos.environ\[\"CVRT_SHOT_ROOT\"] = env_vars.shot_root\nos.environ\[\"CVRT_SCOPE\"] = env_vars.scope\nos.environ\[\"CVRT_FILENAME\"] = env_vars.filename\nos.environ\[\"CVRT_AUTHOR\"] = env_vars.author\nos.environ\[\"CVRT_NOTES\"] = env_vars.notes\n#os.environ\[\"CVRT_USERNAME\"] = env_vars.username\n#os.environ\[\"CVRT_MACHINE\"] = env_vars.machine\n"
tile_color 0x8a39dbff
note_font "Verdana Bold"
note_font_size 96
note_font_color 0xdbd8ddff
xpos 70
ypos -11145
addUserKnob {20 env_vars l "Environment Variables"}
addUserKnob {1 uuid +INVISIBLE}
uuid 675ecf52-769b-4980-b482-108617f2742a
addUserKnob {52 init_env_vars l "" +STARTLINE T "nuke.thisNode().knob(\"onCreate\").setValue(\n\"\"\"\nif nuke.thisNode():\n try:\n import os\n import re\n from pathlib import Path, PureWindowsPath\n \n \n # SET ENVIRONMENT VARIABLES\n class get_env_vars_from_node:\n def sanitize_str(self, str):\n return (\n re.sub(\n r\"_\{2,\}\",\n \"_\",\n re.sub(r\"\[^a-zA-Z0-9-]\", \"_\", str.replace(\" \", \"\").replace(\".\", \"\")),\n ).strip(\"_\")\n if str\n else \"\"\n )\n \n \n def get_version(self, str):\n pattern = r\"(?<!\[a-zA-Z0-9])v(\\d+)\"\n match = re.search(pattern, str.lower())\n \n \n \n if match:\n return match.group(1).zfill(3)\n else:\n return None\n \n \n def __init__(self, node):\n node.knob(\"uuid\").setValue(\"675ecf52-769b-4980-b482-108617f2742a\")\n self.script_path = nuke.scriptName() if nuke.root().name() != \"Root\" else \"\"\n self.script_name = self.sanitize_str(Path(nuke.scriptName()).stem) if nuke.root().name() != \"Root\" else \"\"\n self.script_version = f\"v\{self.get_version(self.script_name)\}\"\n \n \n self.shot_root = PureWindowsPath(os.path.normpath(os.path.join(os.path.dirname(self.script_path), node.knob(\"shot_root\").getValue()))).as_posix()\n node.knob(\"shot_root\").setTooltip(f\"The shot's root folder path relative to the current script path.<br><br>\{self.shot_root\}\")\n node.knob(\"shot_root_display\").setValue(self.shot_root)\n \n \n self.working_space = nuke.Root()\[\"workingSpaceLUT\"].value()\n # self.working_space = nuke.Root()\[\"workingSpaceLUT\"].toScript()\n \n \n self.vendor = node.knob(\"vendor\").getValue() if node.knob(\"vendor\") else \"\"\n self.show_name = (\n node.knob(\"show_name\").getValue() if node.knob(\"show_name\") else \"\"\n )\n self.show_id = (\n self.sanitize_str(node.knob(\"show_id\").getValue())\n if node.knob(\"show_id\")\n else \"\"\n )\n self.sequence = (\n self.sanitize_str(node.knob(\"sequence\").getValue())\n if node.knob(\"sequence\")\n else \"\"\n )\n self.shot = (\n self.sanitize_str(node.knob(\"shot\").getValue())\n if node.knob(\"shot\")\n else \"\"\n )\n self.scope = (\n self.sanitize_str(node.knob(\"scope\").getValue())\n if node.knob(\"scope\")\n else \"\"\n )\n \n \n #self.username = os.getenv(\"USERNAME\")\n #self.machine = os.getenv(\"COMPUTERNAME\")\n self.author = node.knob(\"author\").getValue() if node.knob(\"author\") else \"\"\n self.notes = node.knob(\"notes\").getValue() if node.knob(\"notes\") else \"\"\n \n if node\[\"use_upper\"].value():\n self.filename = \"_\".join(\n filter(\n None,\n \[\n self.show_id.upper(),\n self.sequence.upper(),\n self.shot.upper(),\n self.scope.upper(),\n self.script_version,\n ],\n )\n )\n else:\n self.filename = \"_\".join(\n filter(\n None,\n \[\n self.show_id.lower(),\n self.sequence.lower(),\n self.shot.lower(),\n self.scope.lower(),\n self.script_version,\n ],\n )\n )\n \n \n env_vars = get_env_vars_from_node(node=nuke.thisNode())\n \n \n os.environ\[\"CVRT_WORKING_SPACE\"] = env_vars.working_space\n os.environ\[\"CVRT_VENDOR\"] = env_vars.vendor\n os.environ\[\"CVRT_SHOW_NAME\"] = env_vars.show_name\n os.environ\[\"CVRT_SHOW_ID\"] = env_vars.show_id\n os.environ\[\"CVRT_SEQUENCE\"] = env_vars.sequence\n os.environ\[\"CVRT_SHOT\"] = env_vars.shot\n os.environ\[\"CVRT_SCRIPT_PATH\"] = env_vars.script_path\n os.environ\[\"CVRT_SCRIPT_NAME\"] = env_vars.script_name\n os.environ\[\"CVRT_SCRIPT_VERSION\"] = env_vars.script_version\n os.environ\[\"CVRT_SHOT_ROOT\"] = env_vars.shot_root\n os.environ\[\"CVRT_SCOPE\"] = env_vars.scope\n os.environ\[\"CVRT_FILENAME\"] = env_vars.filename\n os.environ\[\"CVRT_AUTHOR\"] = env_vars.author\n os.environ\[\"CVRT_NOTES\"] = env_vars.notes\n #os.environ\[\"CVRT_USERNAME\"] = env_vars.username\n #os.environ\[\"CVRT_MACHINE\"] = env_vars.machine\n except:\n pass\n\"\"\")" +STARTLINE}
addUserKnob {52 update_env_vars l "" +STARTLINE T "nuke.thisNode().knob(\"knobChanged\").setValue('''\nimport os\nimport re\nfrom pathlib import Path, PureWindowsPath\n\n# SET ENVIRONMENT VARIABLES\nclass get_env_vars_from_node:\n def sanitize_str(self, str):\n return (\n re.sub(\n r\"_\{2,\}\",\n \"_\",\n re.sub(r\"\[^a-zA-Z0-9-]\", \"_\", str.replace(\" \", \"\").replace(\".\", \"\")),\n ).strip(\"_\")\n if str\n else \"\"\n )\n\n def get_version(self, str):\n pattern = r\"(?<!\[a-zA-Z0-9])v(\\d+)\"\n match = re.search(pattern, str.lower())\n\n\n if match:\n return match.group(1).zfill(3)\n else:\n return None\n\n def __init__(self, node):\n node.knob(\"uuid\").setValue(\"675ecf52-769b-4980-b482-108617f2742a\")\n self.script_path = nuke.scriptName() if nuke.root().name() != \"Root\" else \"\"\n self.script_name = self.sanitize_str(Path(nuke.scriptName()).stem) if nuke.root().name() != \"Root\" else \"\"\n self.script_version = f\"v\{self.get_version(self.script_name)\}\"\n\n self.shot_root = PureWindowsPath(os.path.normpath(os.path.join(os.path.dirname(self.script_path), node.knob(\"shot_root\").getValue()))).as_posix()\n node.knob(\"shot_root\").setTooltip(f\"The shot's root folder path relative to the current script path.<br><br>\{self.shot_root\}\")\n node.knob(\"shot_root_display\").setValue(self.shot_root)\n\n self.working_space = nuke.Root()\[\"workingSpaceLUT\"].value()\n # self.working_space = nuke.Root()\[\"workingSpaceLUT\"].toScript()\n\n self.vendor = node.knob(\"vendor\").getValue() if node.knob(\"vendor\") else \"\"\n self.show_name = (\n node.knob(\"show_name\").getValue() if node.knob(\"show_name\") else \"\"\n )\n self.show_id = (\n self.sanitize_str(node.knob(\"show_id\").getValue())\n if node.knob(\"show_id\")\n else \"\"\n )\n self.sequence = (\n self.sanitize_str(node.knob(\"sequence\").getValue())\n if node.knob(\"sequence\")\n else \"\"\n )\n self.shot = (\n self.sanitize_str(node.knob(\"shot\").getValue())\n if node.knob(\"shot\")\n else \"\"\n )\n self.scope = (\n self.sanitize_str(node.knob(\"scope\").getValue())\n if node.knob(\"scope\")\n else \"\"\n )\n\n #self.username = os.getenv(\"USERNAME\")\n #self.machine = os.getenv(\"COMPUTERNAME\")\n self.author = node.knob(\"author\").getValue() if node.knob(\"author\") else \"\"\n self.notes = node.knob(\"notes\").getValue() if node.knob(\"notes\") else \"\"\n\n if node\[\"use_upper\"].value():\n self.filename = \"_\".join(\n filter(\n None,\n \[\n self.show_id.upper(),\n self.sequence.upper(),\n self.shot.upper(),\n self.scope.upper(),\n self.script_version,\n ],\n )\n )\n else:\n self.filename = \"_\".join(\n filter(\n None,\n \[\n self.show_id.lower(),\n self.sequence.lower(),\n self.shot.lower(),\n self.scope.lower(),\n self.script_version,\n ],\n )\n )\n\nenv_vars = get_env_vars_from_node(node=nuke.thisNode())\n\nos.environ\[\"CVRT_WORKING_SPACE\"] = env_vars.working_space\nos.environ\[\"CVRT_VENDOR\"] = env_vars.vendor\nos.environ\[\"CVRT_SHOW_NAME\"] = env_vars.show_name\nos.environ\[\"CVRT_SHOW_ID\"] = env_vars.show_id\nos.environ\[\"CVRT_SEQUENCE\"] = env_vars.sequence\nos.environ\[\"CVRT_SHOT\"] = env_vars.shot\nos.environ\[\"CVRT_SCRIPT_PATH\"] = env_vars.script_path\nos.environ\[\"CVRT_SCRIPT_NAME\"] = env_vars.script_name\nos.environ\[\"CVRT_SCRIPT_VERSION\"] = env_vars.script_version\nos.environ\[\"CVRT_SHOT_ROOT\"] = env_vars.shot_root\nos.environ\[\"CVRT_SCOPE\"] = env_vars.scope\nos.environ\[\"CVRT_FILENAME\"] = env_vars.filename\nos.environ\[\"CVRT_AUTHOR\"] = env_vars.author\nos.environ\[\"CVRT_NOTES\"] = env_vars.notes\n#os.environ\[\"CVRT_USERNAME\"] = env_vars.username\n#os.environ\[\"CVRT_MACHINE\"] = env_vars.machine\n''')" +STARTLINE}
addUserKnob {1 shot_root l "Shot root" t "The shot's root folder path relative to the current script path.<br><br>Z:/Biohazard Nextcloud 2/_Tools/Nuke/Biohazard"}
shot_root ../../
addUserKnob {26 shot_root_display l "Shot root:" T "Z:/Biohazard Nextcloud 2/_Tools/Nuke/Biohazard"}
addUserKnob {26 divider_1 l "" +STARTLINE}
addUserKnob {1 vendor l Vendor}
vendor COVERT
addUserKnob {1 show_name l "Show name"}
addUserKnob {1 show_id l "Show Id (*)"}
addUserKnob {1 sequence l Sequence}
addUserKnob {1 shot l "Shot (*)"}
addUserKnob {1 scope l "Scope (*)"}
scope comp
addUserKnob {26 divider01 l "" +STARTLINE}
addUserKnob {1 notes l Notes}
addUserKnob {26 divider02 l "" +STARTLINE}
addUserKnob {1 author l Author}
addUserKnob {26 ""}
addUserKnob {6 use_upper l Uppercase +STARTLINE}
addUserKnob {26 divider l "" +STARTLINE}
addUserKnob {26 required l "" +STARTLINE T " (*) Required fields.\n\nPress \"Shift + D\" to enable/disable the knobs."}
addUserKnob {26 ""}
addUserKnob {26 version l "" +STARTLINE T v1.3}
}
set Nafc34800 [stack 0]
Viewer {
frame_range 1-41
colour_sample_bbox {-0.2437050343 0.5773381591 -0.2428057492 0.5782374144}
viewerProcess "ACES 1.0 - SDR Video (sRGB - Display)"
monitorOutNDISenderName "NukeX - Covert Template - Viewer1"
monitorOutOutputTransform "ACES 1.0 - SDR Video (Rec.1886 Rec.709 - Display)"
name Viewer1
xpos -291
ypos -10056
}
push $Nafc34800
Group {
name ENV_VARS_CHECK
tile_color 0x666565ff
note_font "Verdana Bold"
note_font_size 32
note_font_color 0xf2f2f2ff
xpos 70
ypos -10990
addUserKnob {20 User l "" +STARTLINE}
addUserKnob {41 message l "" +STARTLINE T ENV_VARS_CHECK.message}
}
Input {
inputs 0
name Input1
xpos 93
ypos -511
}
Text2 {
font_size_toolbar 100
font_width_toolbar 100
font_height_toolbar 100
message "CVRT_VENDOR: \[python os.getenv(\"CVRT_VENDOR\")]\nCVRT_SHOW_NAME: \[python os.getenv(\"CVRT_SHOW_NAME\")]\nCVRT_SHOW_ID: \[python os.getenv(\"CVRT_SHOW_ID\")]\nCVRT_SEQUENCE: \[python os.getenv(\"CVRT_SEQUENCE\")]\nCVRT_SHOT: \[python os.getenv(\"CVRT_SHOT\")]\nCVRT_SCRIPT_PATH: \[python os.getenv(\"CVRT_SCRIPT_PATH\")]\nCVRT_SHOT_ROOT: \[python os.getenv(\"CVRT_SHOT_ROOT\")]\nCVRT_SCRIPT_NAME: \[python os.getenv(\"CVRT_SCRIPT_NAME\")]\nCVRT_SCRIPT_VERSION: \[python os.getenv(\"CVRT_SCRIPT_VERSION\")]\nCVRT_SCOPE: \[python os.getenv(\"CVRT_SCOPE\")]\nCVRT_NOTES: \[python os.getenv(\"CVRT_NOTES\")]\nCVRT_WORKING_SPACE: \[python os.getenv(\"CVRT_WORKING_SPACE\")]\nCVRT_AUTHOR: \[python os.getenv(\"CVRT_AUTHOR\")]\nCVRT_FILENAME: \[python os.getenv(\"CVRT_FILENAME\")]\n"
old_message {{67 86 82 84 95 86 69 78 68 79 82 58 32 67 79 86 69 82 84 10 67 86 82 84 95 83 72 79 87 95 78 65 77 69 58 32 10 67 86 82 84 95 83 72 79 87 95 73 68 58 32 10 67 86 82 84 95 83 69 81 85 69 78 67 69 58 32 10 67 86 82 84 95 83 72 79 84 58 32 10 67 86 82 84 95 83 67 82 73 80 84 95 80 65 84 72 58 32 32 90 58 47 66 105 111 104 97 122 97 114 100 32 78 101 120 116 99 108 111 117 100 32 50 47 95 84 111 111 108 115 47 78 117 107 101 47 66 105 111 104 97 122 97 114 100 47 77 97 115 116 101 114 32 84 101 109 112 108 97 116 101 47 67 111 118 101 114 116 32 84 101 109 112 108 97 116 101 47 67 111 118 101 114 116 32 84 101 109 112 108 97 116 101 46 110 107 10 67 86 82 84 95 83 72 79 84 95 82 79 79 84 58 32 32 90 58 47 66 105 111 104 97 122 97 114 100 32 78 101 120 116 99 108 111 117 100 32 50 47 95 84 111 111 108 115 47 78 117 107 101 47 66 105 111 104 97 122 97 114 100 10 67 86 82 84 95 83 67 82 73 80 84 95 78 65 77 69 58 32 32 67 111 118 101 114 116 84 101 109 112 108 97 116 101 10 67 86 82 84 95 83 67 82 73 80 84 95 86 69 82 83 73 79 78 58 32 32 118 78 111 110 101 10 67 86 82 84 95 83 67 79 80 69 58 32 99 111 109 112 10 67 86 82 84 95 78 79 84 69 83 58 32 10 67 86 82 84 95 87 79 82 75 73 78 71 95 83 80 65 67 69 58 32 65 67 69 83 50 48 54 53 45 49 10 67 86 82 84 95 65 85 84 72 79 82 58 32 10 67 86 82 84 95 70 73 76 69 78 65 77 69 58 32 99 111 109 112 95 118 78 111 110 101 10}
}
old_expression_markers {{13 18 36 35 51 50 67 66 79 78 99 195 214 259 280 293 317 321 335 338 352 351 373 382 397 396 413 422}
}
box {0 0 {root.width} {root.height}}
xjustify center
yjustify center
transforms {{0 2}
}
cursor_position 351
font {{ Utopia : Bold : UtopiaBold.pfa : 0 }}
global_font_scale 0.5
leading 0.35
center {1920 1080}
cursor_initialised true
autofit_bbox false
initial_cursor_position {{0 2160}
}
group_animations {{0} imported: 0 selected: items: "root transform/"}
animation_layers {{1 11 1920 1080 0 0 1 1 0 0 0 0}
}
name ENV_VARS_CHECK
tile_color 0x666565ff
note_font Verdana
note_font_size 32
note_font_color 0xf2f2f2ff
selected true
xpos 93
ypos -454
addUserKnob {20 User}
}
Output {
name Output1
xpos 93
ypos -371
}
end_group
Group {
inputs 0
name log2lin1
tile_color 0x73af81ff
note_font "Verdana Bold"
note_font_size 48
note_font_color 0x344f38ff
xpos -2460
ypos -5502
addUserKnob {20 User}
addUserKnob {41 display l "display device" T OCIODisplay1.display}
addUserKnob {41 out_colorspace l colorspace T OCIOColorSpace1.out_colorspace}
}
Input {
inputs 0
name Input1
xpos -598
ypos -498
}
OCIOColorSpace {
in_colorspace ACES2065-1
out_colorspace "ARRI LogC3 (EI800)"
name OCIOColorSpace1
tile_color 0x223425ff
label "\nchange the output to the correct colorspace\n."
xpos -598
ypos -459
addUserKnob {20 User}
addUserKnob {52 python l "" +STARTLINE T "nuke.thisNode().knob(\"in_colorspace\").setValue(nuke.root().knob(\"workingSpaceLUT\").value())" +STARTLINE}
}
OCIODisplay {
colorspace ACES2065-1
display "sRGB - Display"
view "ACES 1.0 - SDR Video"
invert true
name OCIODisplay1
knobChanged "\nnuke.toNode(\"OCIOColorSpace1\").knob(\"in_colorspace\").setValue(nuke.thisNode().knob(\"colorspace\").value())\n"
tile_color 0x223425ff
selected true
xpos -598
ypos -369
addUserKnob {20 User}
addUserKnob {52 python l "" +STARTLINE T "nuke.thisNode().knob(\"colorspace\").setValue(nuke.root().knob(\"workingSpaceLUT\").value())" +STARTLINE}
}
Output {
name Output1
xpos -598
ypos -291
}
end_group
OCIODisplay {
inputs 0
colorspace ACES2065-1
display "sRGB - Display"
view "ACES 1.0 - SDR Video"
invert true
name INVERSE_DISPLAY_TRANSFORM1
selected true
xpos -2130
ypos -5481
addUserKnob {20 User}
addUserKnob {52 python l "" +STARTLINE T "nuke.thisNode().knob(\"colorspace\").setValue(nuke.root().knob(\"workingSpaceLUT\").value())" +STARTLINE}
}