ArisTinyTool
Aris
plain_text
a year ago
61 kB
5
Indexable
Never
set cut_paste_input [stack 0] version 12.2 v8 push $cut_paste_input NoOp { name Aris_DFB_TinyTool tile_color 0x2f0aa5ff note_font "Verdana Bold" note_font_color 0xffffffff selected true xpos 510 ypos -2745 hide_input true addUserKnob {20 User} addUserKnob {26 spacerEyes l "" +STARTLINE T " "} addUserKnob {26 toSideText l "Set Eyes Highlights to" T " "} addUserKnob {22 eyeFlipLeft l Left -STARTLINE T "#switches all eye spec to upper screen left\n\neye_control = nuke.allNodes(\"Group\")\nfor eye_dir in eye_control:\n if \"Eye_Control\" in eye_dir.name():\n eye_dir\[\"aovDirect\"].setValue(0)\n eye_dir\[\"irisDirect\"].setValue(0)"} addUserKnob {22 eyeFlipRight l Right t "If the highlights are set to right this will flip them to left and viceversa for all characters." -STARTLINE T "#switches all eye spec to upper screen right\n\neye_control = nuke.allNodes(\"Group\")\nfor eye_dir in eye_control:\n if \"Eye_Control\" in eye_dir.name():\n eye_dir\[\"aovDirect\"].setValue(1)\n eye_dir\[\"irisDirect\"].setValue(1)"} addUserKnob {26 spacerRims2 l "" +STARTLINE T " "} addUserKnob {26 rimsText l "Set Rim to " T " "} addUserKnob {22 rimsLeft l Left -STARTLINE T "#Left\nwith nuke.root():\n\n rim_control = nuke.allNodes(\"Group\")\n for rim_dir in rim_control:\n if \"DFB_RIM\" in rim_dir.name():\n rim_dir\[\"Angle\"].setValue(-45)"} addUserKnob {22 rimsRight l Right -STARTLINE T "#Right\nwith nuke.root():\n rim_control = nuke.allNodes(\"Group\")\n for rim_dir in rim_control:\n if \"DFB_RIM\" in rim_dir.name():\n rim_dir\[\"Angle\"].setValue(45)"} addUserKnob {22 rimsTop l Top -STARTLINE T "for n in nuke.allNodes():\n if \"AWB_RIM\" in n\['name'].value():\n n\['Angle'].setValue(0)"} addUserKnob {26 ""} addUserKnob {6 color_rgb_panelDropped l "panel dropped state" +HIDDEN +STARTLINE} addUserKnob {26 ICON_MBgui l "ICON_MB \$gui"} addUserKnob {22 guiDisable l Disable T "for n in nuke.allNodes():\n if \"ICON_MB\" in n\['name'].value():\n if n\['disable'].isAnimated():\n pass\n else:\n n\['disable'].setExpression(\"\$gui\")" +STARTLINE} addUserKnob {22 guiEnable l Enable -STARTLINE T "for n in nuke.allNodes():\n if \"ICON_MB\" in n\['name'].value():\n n\['disable'].clearAnimated()\n n\['disable'].setValue(0)"} addUserKnob {26 guiExOnSelected l "\$gui on Selected"} addUserKnob {22 guiOnSelDisable l Disable T "for n in nuke.selectedNodes():\n n\['disable'].setExpression(\"\$gui\")" +STARTLINE} addUserKnob {22 guiOnSelEnable l Enable -STARTLINE T "for n in nuke.selectedNodes():\n n\['disable'].clearAnimated()\n n\['disable'].setValue(0)"} addUserKnob {26 ""} addUserKnob {22 del_viewers l "Delete Viewers" T "viewers_count = 0\nfor i in nuke.allNodes(recurseGroups=True):\n if i.Class() == \"Viewer\": \n i.setSelected(True)\n nuke.delete(i)\n viewers_count = viewers_count + 1\nprint(\"Deleted \" + str(viewers_count) + \" Viewers\")" +STARTLINE} addUserKnob {26 ""} addUserKnob {32 compare_tool l "Compare Tool" T "set cut_paste_input \[stack 0]\nversion 11.3 v5\npush 0\npush 0\npush \$cut_paste_input\nGroup \{\n inputs 3\n name Compare_tool\n selected true\n addUserKnob \{20 settings l Settings\}\n addUserKnob \{4 mode l Mode M \{Horizontal Vertical Packed Difference \"\" \"\" \"\" \"\" \"\"\}\}\n mode Packed\n addUserKnob \{26 \"\"\}\n addUserKnob \{41 format l Format T ReformatMaster.format\}\n addUserKnob \{41 flip T ReformatMaster.flip\}\n addUserKnob \{41 flop -STARTLINE T ReformatMaster.flop\}\n addUserKnob \{41 turn -STARTLINE T ReformatMaster.turn\}\n addUserKnob \{26 \"\"\}\n addUserKnob \{20 text l Text n 1\}\n addUserKnob \{7 textSize l \"Text Size\" R 0 5\}\n textSize 1\n addUserKnob \{6 nbrs l \"Hide text\" -STARTLINE\}\n addUserKnob \{1 Input1 l \"Text Input1\"\}\n addUserKnob \{1 Input2 l \"Text Input2\"\}\n addUserKnob \{1 Input3 l \"Text Input3\"\}\n addUserKnob \{1 Input4 l \"Text Input4\"\}\n addUserKnob \{1 Input5 l \"Text Input5\"\}\n addUserKnob \{1 Input6 l \"Text Input6\"\}\n addUserKnob \{20 endGroup_1 l endGroup n -1\}\n addUserKnob \{26 \"\"\}\n addUserKnob \{20 FrameHold n 1\}\n addUserKnob \{41 first_frame l Input1 T FrameHold1.first_frame\}\n addUserKnob \{41 disable_1 l disable -STARTLINE T FrameHold1.disable\}\n addUserKnob \{41 first_frame_1 l Input2 T FrameHold2.first_frame\}\n addUserKnob \{41 disable_2 l disable -STARTLINE T FrameHold2.disable\}\n addUserKnob \{41 first_frame_2 l Input3 T FrameHold3.first_frame\}\n addUserKnob \{41 disable_3 l disable -STARTLINE T FrameHold3.disable\}\n addUserKnob \{41 first_frame_3 l Input4 T FrameHold4.first_frame\}\n addUserKnob \{41 disable_4 l disable -STARTLINE T FrameHold4.disable\}\n addUserKnob \{41 first_frame_4 l Input5 T FrameHold5.first_frame\}\n addUserKnob \{41 disable_5 l disable -STARTLINE T FrameHold5.disable\}\n addUserKnob \{41 first_frame_5 l Input6 T FrameHold6.first_frame\}\n addUserKnob \{41 disable_6 l disable -STARTLINE T FrameHold6.disable\}\n addUserKnob \{20 endGroup n -1\}\n addUserKnob \{26 \"\"\}\n addUserKnob \{20 Flags l \" \"\}\n addUserKnob \{26 gizmo -STARTLINE T 003\}\n\}\n BackdropNode \{\n inputs 0\n name BackdropNode1\n tile_color 0x3d6b3dff\n label Vertical\n note_font_size 42\n xpos 98\n ypos -307\n bdwidth 1122\n bdheight 269\n \}\n BackdropNode \{\n inputs 0\n name BackdropNode2\n tile_color 0x1d5959ff\n label \"Horizontal\\n\"\n note_font_size 42\n xpos 97\n ypos -26\n bdwidth 1123\n bdheight 265\n \}\n BackdropNode \{\n inputs 0\n name BackdropNode3\n tile_color 0x3f2d44ff\n label Difference\n note_font_size 42\n xpos 96\n ypos 595\n bdwidth 1126\n bdheight 283\n \}\n BackdropNode \{\n inputs 0\n name BackdropNode4\n tile_color 0x1c4659ff\n label \"Packed\\n\"\n note_font_size 42\n xpos 95\n ypos 268\n bdwidth 1126\n bdheight 302\n \}\n BackdropNode \{\n inputs 0\n name BackdropNode5\n tile_color 0x6b4a3dff\n label Inputs\n note_font_size 42\n xpos 98\n ypos -588\n bdwidth 1122\n bdheight 271\n \}\n BackdropNode \{\n inputs 0\n name BackdropNode6\n tile_color 0x5b3a54ff\n label Output\n note_font_size 42\n xpos 96\n ypos 903\n bdwidth 1126\n bdheight 280\n \}\n Input \{\n inputs 0\n name Input6\n label \"\\\[value number]\"\n xpos 972\n ypos -544\n number 5\n \}\n Reformat \{\n format \{\{\{parent.ReformatMaster.format\}\}\}\n resize fit\n flip \{\{parent.ReformatMaster.flip\}\}\n flop \{\{parent.ReformatMaster.flop\}\}\n turn \{\{parent.ReformatMaster.turn\}\}\n black_outside true\n name Reformat24\n xpos 972\n ypos -508\n \}\n FrameHold \{\n first_frame 1001\n name FrameHold6\n xpos 972\n ypos -484\n disable true\n \}\n Shuffle \{\n alpha white\n name Shuffle6\n xpos 972\n ypos -439\n \}\n Premult \{\n name Premult6\n xpos 972\n ypos -415\n \}\n Text2 \{\n font_size_toolbar 100\n font_width_toolbar 100\n font_height_toolbar 100\n message \"\\\[value parent.Input6]\"\n old_expression_markers \{\{0 -1\}\n \}\n box \{0 0 0 \{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.toNode('ReformatMaster').height()]\"\}\}\n transforms \{\{0 2\}\n \}\n cursor_position 20\n global_font_scale \{\{parent.Text1.global_font_scale\}\}\n scale \{1 1\}\n cursor_initialised true\n autofit_bbox false\n initial_cursor_position \{\{0 2048\}\n \}\n group_animations \{\{0\} imported: 0 selected: items: \"root transform/\"\}\n animation_layers \{\{1 11 1024 1024 0 0 1 1 0 0 0 0\}\n \}\n name Text6\n xpos 972\n ypos -391\n disable \{\{parent.nbrs\}\}\n \}\n Crop \{\n box \{0 0 \{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.toNode('ReformatMaster').width()]\"\} \{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.toNode('ReformatMaster').height()]\"\}\}\n reformat true\n crop false\n name Crop6\n xpos 972\n ypos -351\n \}\n Dot \{\n name Dot19\n xpos 1006\n ypos -199\n \}\nset Nb6982c00 \[stack 0]\n Dot \{\n name Dot23\n xpos 390\n ypos -199\n \}\n Dot \{\n name Dot30\n xpos 390\n ypos 97\n \}\nset Nb6982400 \[stack 0]\n Dot \{\n name Dot9\n xpos 390\n ypos 416\n \}\nset Nb6982000 \[stack 0]\n Dot \{\n name Dot31\n xpos 390\n ypos 723\n \}\n Dot \{\n name Dot39\n xpos 1006\n ypos 723\n \}\n Input \{\n inputs 0\n name Input5\n label \"\\\[value number]\"\n xpos 862\n ypos -544\n number 4\n \}\n Reformat \{\n format \{\{\{parent.ReformatMaster.format\}\}\}\n resize fit\n flip \{\{parent.ReformatMaster.flip\}\}\n flop \{\{parent.ReformatMaster.flop\}\}\n turn \{\{parent.ReformatMaster.turn\}\}\n black_outside true\n name Reformat23\n xpos 862\n ypos -508\n \}\n FrameHold \{\n first_frame 1001\n name FrameHold5\n xpos 862\n ypos -484\n disable true\n \}\n Shuffle \{\n alpha white\n name Shuffle5\n xpos 862\n ypos -439\n \}\n Premult \{\n name Premult5\n xpos 862\n ypos -415\n \}\n Text2 \{\n font_size_toolbar 100\n font_width_toolbar 100\n font_height_toolbar 100\n message \"\\\[value parent.Input5]\"\n old_expression_markers \{\{0 -1\}\n \}\n box \{0 0 0 \{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.toNode('ReformatMaster').height()]\"\}\}\n transforms \{\{0 2\}\n \}\n cursor_position 20\n global_font_scale \{\{parent.Text1.global_font_scale\}\}\n scale \{1 1\}\n cursor_initialised true\n autofit_bbox false\n initial_cursor_position \{\{0 2048\}\n \}\n group_animations \{\{0\} imported: 0 selected: items: \"root transform/\"\}\n animation_layers \{\{1 11 1024 1024 0 0 1 1 0 0 0 0\}\n \}\n name Text5\n xpos 862\n ypos -391\n disable \{\{parent.nbrs\}\}\n \}\n Crop \{\n box \{0 0 \{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.toNode('ReformatMaster').width()]\"\} \{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.toNode('ReformatMaster').height()]\"\}\}\n reformat true\n crop false\n name Crop5\n xpos 862\n ypos -351\n \}\n Dot \{\n name Dot18\n xpos 896\n ypos -220\n \}\nset Nb69e7800 \[stack 0]\n Dot \{\n name Dot22\n xpos 370\n ypos -220\n \}\n Dot \{\n name Dot28\n xpos 370\n ypos 79\n \}\nset Nb69e7000 \[stack 0]\n Dot \{\n name Dot44\n xpos 370\n ypos 397\n \}\nset Nb69e6c00 \[stack 0]\n Dot \{\n name Dot29\n xpos 370\n ypos 705\n \}\n Dot \{\n name Dot40\n xpos 896\n ypos 705\n \}\n Input \{\n inputs 0\n name Input4\n label \"\\\[value number]\"\n xpos 752\n ypos -544\n number 3\n \}\n Reformat \{\n format \{\{\{parent.ReformatMaster.format\}\}\}\n resize fit\n flip \{\{parent.ReformatMaster.flip\}\}\n flop \{\{parent.ReformatMaster.flop\}\}\n turn \{\{parent.ReformatMaster.turn\}\}\n black_outside true\n name Reformat22\n xpos 752\n ypos -508\n \}\n FrameHold \{\n first_frame 1001\n name FrameHold4\n xpos 752\n ypos -484\n \}\n Shuffle \{\n alpha white\n name Shuffle4\n xpos 752\n ypos -439\n \}\n Premult \{\n name Premult4\n xpos 752\n ypos -415\n \}\n Text2 \{\n font_size_toolbar 100\n font_width_toolbar 100\n font_height_toolbar 100\n message \"\\\[value parent.Input4]\"\n old_expression_markers \{\{0 -1\}\n \}\n box \{0 0 0 \{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.toNode('ReformatMaster').height()]\"\}\}\n transforms \{\{0 2\}\n \}\n cursor_position 20\n global_font_scale \{\{parent.Text1.global_font_scale\}\}\n scale \{1 1\}\n cursor_initialised true\n autofit_bbox false\n initial_cursor_position \{\{0 2048\}\n \}\n group_animations \{\{0\} imported: 0 selected: items: \"root transform/\"\}\n animation_layers \{\{1 11 1024 1024 0 0 1 1 0 0 0 0\}\n \}\n name Text4\n xpos 752\n ypos -391\n disable \{\{parent.nbrs\}\}\n \}\n Crop \{\n box \{0 0 \{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.toNode('ReformatMaster').width()]\"\} \{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.toNode('ReformatMaster').height()]\"\}\}\n reformat true\n crop false\n name Crop4\n xpos 752\n ypos -351\n \}\n Dot \{\n name Dot17\n xpos 786\n ypos -237\n \}\nset Nb69fe400 \[stack 0]\n Dot \{\n name Dot21\n xpos 354\n ypos -237\n \}\n Dot \{\n name Dot26\n xpos 354\n ypos 62\n \}\nset Nb6a33c00 \[stack 0]\n Dot \{\n name Dot45\n xpos 354\n ypos 375\n \}\nset Nb6a33800 \[stack 0]\n Dot \{\n name Dot27\n xpos 354\n ypos 688\n \}\n Dot \{\n name Dot41\n xpos 786\n ypos 688\n \}\n Input \{\n inputs 0\n name Input3\n label \"\\\[value number]\"\n xpos 642\n ypos -544\n number 2\n \}\n Reformat \{\n format \{\{\{parent.ReformatMaster.format\}\}\}\n resize fit\n flip \{\{parent.ReformatMaster.flip\}\}\n flop \{\{parent.ReformatMaster.flop\}\}\n turn \{\{parent.ReformatMaster.turn\}\}\n black_outside true\n name Reformat21\n xpos 642\n ypos -508\n \}\n FrameHold \{\n first_frame 1001\n name FrameHold3\n xpos 642\n ypos -484\n \}\n Shuffle \{\n alpha white\n name Shuffle3\n xpos 642\n ypos -439\n \}\n Premult \{\n name Premult3\n xpos 642\n ypos -415\n \}\n Text2 \{\n font_size_toolbar 100\n font_width_toolbar 100\n font_height_toolbar 100\n message \"\\\[value parent.Input3]\"\n old_expression_markers \{\{0 -1\}\n \}\n box \{0 0 0 \{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.toNode('ReformatMaster').height()]\"\}\}\n transforms \{\{0 2\}\n \}\n cursor_position 20\n global_font_scale \{\{parent.Text1.global_font_scale\}\}\n scale \{1 1\}\n cursor_initialised true\n autofit_bbox false\n initial_cursor_position \{\{0 2048\}\n \}\n group_animations \{\{0\} imported: 0 selected: items: \"root transform/\"\}\n animation_layers \{\{1 11 1024 1024 0 0 1 1 0 0 0 0\}\n \}\n name Text3\n xpos 642\n ypos -391\n disable \{\{parent.nbrs\}\}\n \}\n Crop \{\n box \{0 0 \{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.toNode('ReformatMaster').width()]\"\} \{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.toNode('ReformatMaster').height()]\"\}\}\n reformat true\n crop false\n name Crop3\n xpos 642\n ypos -351\n \}\n Dot \{\n name Dot16\n xpos 676\n ypos -251\n \}\nset Nb6a53000 \[stack 0]\n Dot \{\n name Dot20\n xpos 336\n ypos -251\n \}\n Dot \{\n name Dot24\n xpos 336\n ypos 48\n \}\nset Nb6a52800 \[stack 0]\n Dot \{\n name Dot46\n xpos 336\n ypos 359\n \}\nset Nb6a52400 \[stack 0]\n Dot \{\n name Dot25\n xpos 336\n ypos 674\n \}\n Dot \{\n name Dot42\n xpos 676\n ypos 674\n \}\n Input \{\n inputs 0\n name Input2\n label \"\\\[value number]\"\n xpos 532\n ypos -544\n number 1\n \}\n Reformat \{\n format \{\{\{parent.ReformatMaster.format\}\}\}\n resize fit\n flip \{\{parent.ReformatMaster.flip\}\}\n flop \{\{parent.ReformatMaster.flop\}\}\n turn \{\{parent.ReformatMaster.turn\}\}\n black_outside true\n name Reformat20\n xpos 532\n ypos -508\n \}\n FrameHold \{\n first_frame 1001\n name FrameHold2\n xpos 532\n ypos -484\n \}\n Shuffle \{\n alpha white\n name Shuffle2\n xpos 532\n ypos -439\n \}\n Premult \{\n name Premult2\n xpos 532\n ypos -415\n \}\n Text2 \{\n font_size_toolbar 100\n font_width_toolbar 100\n font_height_toolbar 100\n message \"\\\[value parent.Input2]\"\n old_expression_markers \{\{0 -1\}\n \}\n box \{0 0 0 \{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.toNode('ReformatMaster').height()]\"\}\}\n transforms \{\{0 2\}\n \}\n cursor_position 20\n global_font_scale \{\{parent.Text1.global_font_scale\}\}\n scale \{1 1\}\n cursor_initialised true\n autofit_bbox false\n initial_cursor_position \{\{0 2048\}\n \}\n group_animations \{\{0\} imported: 0 selected: items: \"root transform/\"\}\n animation_layers \{\{1 11 1024 1024 0 0 1 1 0 0 0 0\}\n \}\n name Text2\n xpos 532\n ypos -391\n disable \{\{parent.nbrs\}\}\n \}\n Crop \{\n box \{0 0 \{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.toNode('ReformatMaster').width()]\"\} \{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.toNode('ReformatMaster').height()]\"\}\}\n reformat true\n crop false\n name Crop2\n xpos 532\n ypos -351\n \}\n Dot \{\n name Dot1\n xpos 566\n ypos -265\n \}\nset Nb7a7dc00 \[stack 0]\n Dot \{\n name Dot14\n xpos 319\n ypos -265\n \}\n Dot \{\n name Dot11\n xpos 319\n ypos 34\n \}\nset Nb7a7d400 \[stack 0]\n Dot \{\n name Dot47\n xpos 319\n ypos 343\n \}\nset Nb7a7d000 \[stack 0]\n Dot \{\n name Dot15\n xpos 319\n ypos 660\n \}\n Dot \{\n name Dot38\n xpos 566\n ypos 660\n \}\n Input \{\n inputs 0\n name Input1\n label \"\\\[value number]\"\n xpos 427\n ypos -544\n \}\n Reformat \{\n format \{\{\{parent.ReformatMaster.format\}\}\}\n resize fit\n flip \{\{parent.ReformatMaster.flip\}\}\n flop \{\{parent.ReformatMaster.flop\}\}\n turn \{\{parent.ReformatMaster.turn\}\}\n black_outside true\n name Reformat19\n xpos 427\n ypos -508\n \}\n FrameHold \{\n first_frame 1001\n name FrameHold1\n xpos 427\n ypos -484\n disable true\n \}\n Shuffle \{\n alpha white\n name Shuffle1\n xpos 427\n ypos -439\n \}\n Premult \{\n name Premult1\n xpos 427\n ypos -415\n \}\n Text2 \{\n font_size_toolbar 100\n font_width_toolbar 100\n font_height_toolbar 100\n message \"\\\[value parent.Input1]\"\n old_expression_markers \{\{0 -1\}\n \}\n box \{0 0 0 \{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.toNode('ReformatMaster').height()]\"\}\}\n transforms \{\{0 2\}\n \}\n global_font_scale \{\{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.thisParent().knob('textSize').getValue()]\"\}\}\n scale \{1 1\}\n cursor_initialised true\n autofit_bbox false\n initial_cursor_position \{\{0 2048\}\n \}\n group_animations \{\{0\} imported: 0 selected: items: \"root transform/\"\}\n animation_layers \{\{1 11 1024 1024 0 0 1 1 0 0 0 0\}\n \}\n name Text1\n xpos 427\n ypos -391\n disable \{\{parent.nbrs\}\}\n \}\n Crop \{\n box \{0 0 \{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.toNode('ReformatMaster').width()]\"\} \{\"\\\[python -execlocal ret\\\\ =\\\\ nuke.toNode('ReformatMaster').height()]\"\}\}\n reformat true\n crop false\n name Crop1\n xpos 427\n ypos -351\n \}\n Dot \{\n name Dot4\n xpos 461\n ypos -277\n \}\nset Nb7a90800 \[stack 0]\n Dot \{\n name Dot10\n xpos 301\n ypos -277\n \}\n Dot \{\n name Dot2\n xpos 301\n ypos 22\n \}\nset Nb7a90000 \[stack 0]\n Dot \{\n name Dot48\n xpos 301\n ypos 325\n \}\nset Nb7ac9c00 \[stack 0]\n Dot \{\n name Dot5\n xpos 301\n ypos 648\n \}\n Dot \{\n name Dot36\n xpos 461\n ypos 648\n \}\n Dot \{\n name Dot37\n xpos 461\n ypos 846\n \}\n Merge2 \{\n inputs 2\n operation difference\n name Merge1\n xpos 532\n ypos 843\n disable \{\{\"!\\\[exists parent.input1]\"\}\}\n \}\n Merge2 \{\n inputs 2\n operation difference\n name Merge8\n xpos 642\n ypos 843\n disable \{\{\"!\\\[exists parent.input2]\"\}\}\n \}\n Merge2 \{\n inputs 2\n operation difference\n name Merge9\n xpos 752\n ypos 843\n disable \{\{\"!\\\[exists parent.input3]\"\}\}\n \}\n Merge2 \{\n inputs 2\n operation difference\n name Merge10\n xpos 862\n ypos 843\n disable \{\{\"!\\\[exists parent.input4]\"\}\}\n \}\n Merge2 \{\n inputs 2\n operation difference\n name Merge11\n xpos 972\n ypos 843\n disable \{\{\"!\\\[exists parent.input5]\"\}\}\n \}\n Dot \{\n name Dot56\n xpos 1096\n ypos 846\n \}\npush \$Nb6982000\n Dot \{\n name Dot55\n xpos 1011\n ypos 416\n \}\nset Nb7af1400 \[stack 0]\n Transform \{\n translate \{\{\"\\\[python -execlocal width=\\\\ nuke.toNode('ReformatMaster').width()\\\\npos=\\\\ nuke.thisNode().knob('pos').getValue()\\\\nconfig\\\\ =\\\\ nuke.toNode('InputNbrs').knob('total').getValue()\\\\n\\\\n\\\\nif\\\\ config\\\\ <=2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ ==1:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ ==2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width\\\\n\\\\nif\\\\ config\\\\ in\\\\ \\\\\\\[3,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[1,\\\\ 3\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[2,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width\\\\n\\\\nif\\\\ config\\\\ >=5:\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[1,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[2,\\\\ 5\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[3,\\\\ 6\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width*2]\"\} \{\"\\\[python -execlocal height=\\\\ nuke.toNode('ReformatMaster').height()\\\\npos=\\\\ nuke.thisNode().knob('pos').getValue()\\\\nconfig\\\\ =\\\\ nuke.toNode('InputNbrs').knob('total').getValue()\\\\n\\\\n\\\\nif\\\\ config\\\\ <=2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\nif\\\\ config\\\\ in\\\\ \\\\\\\[3,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ <=2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ height\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ >=3:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\nif\\\\ config\\\\ >=5:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ <=3:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ height\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ >=4:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0]\"\}\}\n center \{\{width/2\} \{height/2\}\}\n name Transform16\n xpos 977\n ypos 492\n disable \{\{\"!\\\[exists parent.input5]\"\}\}\n addUserKnob \{20 User\}\n addUserKnob \{3 pos l Position\}\n pos \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\nmaxInputs\\\\ =\\\\ 6\\\\npos\\\\ =\\\\ 0.0\\\\nfor\\\\ i\\\\ in\\\\ range(maxInputs):\\\\n\\\\ \\\\ \\\\ pos\\\\ =\\\\ pos\\\\ +\\\\ n.knob(\\\\\\\"input\\\\\\\{\\\\\\\}\\\\\\\".format(i)).getValue()\\\\n\\\\ \\\\ \\\\ ret\\\\ =\\\\ pos]\"\}\}\n \}\n Reformat \{\n type scale\n scale \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\nif\\\\ n.knob('total').getValue()\\\\ >\\\\ 4\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 3\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 2\\\\n]\"\} \{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\nif\\\\ n.knob('total').getValue()\\\\ >\\\\ 2\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 2\\\\nelse\\\\ :\\\\ ret=1\\\\n]\"\}\}\n resize none\n center false\n name Reformat18\n xpos 977\n ypos 516\n disable \{\{\"!\\\[exists parent.input5]\"\}\}\n \}\npush \$Nb69e6c00\n Dot \{\n name Dot54\n xpos 901\n ypos 397\n \}\nset Nb7af0400 \[stack 0]\n Transform \{\n translate \{\{\"\\\[python -execlocal width=\\\\ nuke.toNode('ReformatMaster').width()\\\\npos=\\\\ nuke.thisNode().knob('pos').getValue()\\\\nconfig\\\\ =\\\\ nuke.toNode('InputNbrs').knob('total').getValue()\\\\n\\\\n\\\\nif\\\\ config\\\\ <=2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ ==1:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ ==2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width\\\\n\\\\nif\\\\ config\\\\ in\\\\ \\\\\\\[3,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[1,\\\\ 3\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[2,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width\\\\n\\\\nif\\\\ config\\\\ >=5:\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[1,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[2,\\\\ 5\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[3,\\\\ 6\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width*2]\"\} \{\"\\\[python -execlocal height=\\\\ nuke.toNode('ReformatMaster').height()\\\\npos=\\\\ nuke.thisNode().knob('pos').getValue()\\\\nconfig\\\\ =\\\\ nuke.toNode('InputNbrs').knob('total').getValue()\\\\n\\\\n\\\\nif\\\\ config\\\\ <=2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\nif\\\\ config\\\\ in\\\\ \\\\\\\[3,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ <=2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ height\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ >=3:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\nif\\\\ config\\\\ >=5:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ <=3:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ height\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ >=4:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\n]\"\}\}\n center \{\{width/2\} \{height/2\}\}\n name Transform7\n xpos 867\n ypos 492\n disable \{\{\"!\\\[exists parent.input4]\"\}\}\n addUserKnob \{20 User\}\n addUserKnob \{3 pos l Position\}\n pos \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\nmaxInputs\\\\ =\\\\ 5\\\\npos\\\\ =\\\\ 0.0\\\\nfor\\\\ i\\\\ in\\\\ range(maxInputs):\\\\n\\\\ \\\\ \\\\ pos\\\\ =\\\\ pos\\\\ +\\\\ n.knob(\\\\\\\"input\\\\\\\{\\\\\\\}\\\\\\\".format(i)).getValue()\\\\n\\\\ \\\\ \\\\ ret\\\\ =\\\\ pos]\"\}\}\n \}\n Reformat \{\n type scale\n scale \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\nif\\\\ n.knob('total').getValue()\\\\ >\\\\ 4\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 3\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 2\\\\n]\"\} \{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\nif\\\\ n.knob('total').getValue()\\\\ >\\\\ 2\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 2\\\\nelse\\\\ :\\\\ ret=1\\\\n]\"\}\}\n resize none\n center false\n name Reformat17\n xpos 867\n ypos 516\n disable \{\{\"!\\\[exists parent.input4]\"\}\}\n \}\npush \$Nb6a33800\n Dot \{\n name Dot53\n xpos 791\n ypos 375\n \}\nset Nb7b1b400 \[stack 0]\n Transform \{\n translate \{\{\"\\\[python -execlocal width=\\\\ nuke.toNode('ReformatMaster').width()\\\\npos=\\\\ nuke.thisNode().knob('pos').getValue()\\\\nconfig\\\\ =\\\\ nuke.toNode('InputNbrs').knob('total').getValue()\\\\n\\\\n\\\\nif\\\\ config\\\\ <=2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ ==1:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ ==2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width\\\\n\\\\nif\\\\ config\\\\ in\\\\ \\\\\\\[3,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[1,\\\\ 3\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[2,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width\\\\n\\\\nif\\\\ config\\\\ >=5:\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[1,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[2,\\\\ 5\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[3,\\\\ 6\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width*2]\"\} \{\"\\\[python -execlocal height=\\\\ nuke.toNode('ReformatMaster').height()\\\\npos=\\\\ nuke.thisNode().knob('pos').getValue()\\\\nconfig\\\\ =\\\\ nuke.toNode('InputNbrs').knob('total').getValue()\\\\n\\\\n\\\\nif\\\\ config\\\\ <=2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\nif\\\\ config\\\\ in\\\\ \\\\\\\[3,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ <=2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ height\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ >=3:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\nif\\\\ config\\\\ >=5:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ <=3:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ height\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ >=4:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0]\"\}\}\n center \{\{width/2\} \{height/2\}\}\n name Transform8\n xpos 757\n ypos 492\n disable \{\{\"!\\\[exists parent.input3]\"\}\}\n addUserKnob \{20 User\}\n addUserKnob \{3 pos l Position\}\n pos \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\nmaxInputs\\\\ =\\\\ 4\\\\npos\\\\ =\\\\ 0.0\\\\nfor\\\\ i\\\\ in\\\\ range(maxInputs):\\\\n\\\\ \\\\ \\\\ pos\\\\ =\\\\ pos\\\\ +\\\\ n.knob(\\\\\\\"input\\\\\\\{\\\\\\\}\\\\\\\".format(i)).getValue()\\\\n\\\\ \\\\ \\\\ ret\\\\ =\\\\ pos]\"\}\}\n \}\n Reformat \{\n type scale\n scale \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\nif\\\\ n.knob('total').getValue()\\\\ >\\\\ 4\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 3\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 2\\\\n]\"\} \{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\nif\\\\ n.knob('total').getValue()\\\\ >\\\\ 2\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 2\\\\nelse\\\\ :\\\\ ret=1\\\\n]\"\}\}\n resize none\n center false\n name Reformat16\n xpos 757\n ypos 516\n disable \{\{\"!\\\[exists parent.input3]\"\}\}\n \}\npush \$Nb6a52400\n Dot \{\n name Dot52\n xpos 681\n ypos 359\n \}\nset Nb7b1a400 \[stack 0]\n Transform \{\n translate \{\{\"\\\[python -execlocal width=\\\\ nuke.toNode('ReformatMaster').width()\\\\npos=\\\\ nuke.thisNode().knob('pos').getValue()\\\\nconfig\\\\ =\\\\ nuke.toNode('InputNbrs').knob('total').getValue()\\\\n\\\\n\\\\nif\\\\ config\\\\ <=2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ ==1:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ ==2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width\\\\n\\\\nif\\\\ config\\\\ in\\\\ \\\\\\\[3,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[1,\\\\ 3\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[2,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width\\\\n\\\\nif\\\\ config\\\\ >=5:\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[1,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[2,\\\\ 5\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[3,\\\\ 6\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width*2]\"\} \{\"\\\[python -execlocal height=\\\\ nuke.toNode('ReformatMaster').height()\\\\npos=\\\\ nuke.thisNode().knob('pos').getValue()\\\\nconfig\\\\ =\\\\ nuke.toNode('InputNbrs').knob('total').getValue()\\\\n\\\\n\\\\nif\\\\ config\\\\ <=2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\nif\\\\ config\\\\ in\\\\ \\\\\\\[3,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ <=2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ height\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ >=3:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\nif\\\\ config\\\\ >=5:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ <=3:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ height\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ >=4:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0]\"\}\}\n center \{\{width/2\} \{height/2\}\}\n name Transform11\n xpos 647\n ypos 492\n disable \{\{\"!\\\[exists parent.input2]\"\}\}\n addUserKnob \{20 User\}\n addUserKnob \{3 pos l Position\}\n pos \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\nmaxInputs\\\\ =\\\\ 3\\\\npos\\\\ =\\\\ 0.0\\\\nfor\\\\ i\\\\ in\\\\ range(maxInputs):\\\\n\\\\ \\\\ \\\\ pos\\\\ =\\\\ pos\\\\ +\\\\ n.knob(\\\\\\\"input\\\\\\\{\\\\\\\}\\\\\\\".format(i)).getValue()\\\\n\\\\ \\\\ \\\\ ret\\\\ =\\\\ pos]\"\}\}\n \}\n Reformat \{\n type scale\n scale \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\nif\\\\ n.knob('total').getValue()\\\\ >\\\\ 4\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 3\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 2\\\\n]\"\} \{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\nif\\\\ n.knob('total').getValue()\\\\ >\\\\ 2\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 2\\\\nelse\\\\ :\\\\ ret=1\\\\n]\"\}\}\n resize none\n center false\n name Reformat14\n xpos 647\n ypos 516\n disable \{\{\"!\\\[exists parent.input2]\"\}\}\n \}\npush \$Nb7a7d000\n Dot \{\n name Dot43\n xpos 571\n ypos 343\n \}\nset Nb7b3d400 \[stack 0]\n Transform \{\n translate \{\{\"\\\[python -execlocal width=\\\\ nuke.toNode('ReformatMaster').width()\\\\npos=\\\\ nuke.thisNode().knob('pos').getValue()\\\\nconfig\\\\ =\\\\ nuke.toNode('InputNbrs').knob('total').getValue()\\\\n\\\\nif\\\\ config\\\\ <=2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ ==1:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ ==2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width\\\\n\\\\nif\\\\ config\\\\ in\\\\ \\\\\\\[3,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[1,\\\\ 3\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[2,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width\\\\n\\\\nif\\\\ config\\\\ >=5:\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[1,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[2,\\\\ 5\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[3,\\\\ 6\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width*2]\"\} \{\"\\\[python -execlocal height=\\\\ nuke.toNode('ReformatMaster').height()\\\\npos=\\\\ nuke.thisNode().knob('pos').getValue()\\\\nconfig\\\\ =\\\\ nuke.toNode('InputNbrs').knob('total').getValue()\\\\n\\\\n\\\\nif\\\\ config\\\\ <=2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\nif\\\\ config\\\\ in\\\\ \\\\\\\[3,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ <=2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ height\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ >=3:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\nif\\\\ config\\\\ >=5:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ <=3:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ height\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ >=4:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0]\"\}\}\n center \{\{width/2\} \{height/2\}\}\n name Transform12\n xpos 537\n ypos 492\n disable \{\{\"!\\\[exists parent.input1]\"\}\}\n addUserKnob \{20 User\}\n addUserKnob \{3 pos l Position\}\n pos \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\nmaxInputs\\\\ =\\\\ 2\\\\npos\\\\ =\\\\ 0.0\\\\nfor\\\\ i\\\\ in\\\\ range(maxInputs):\\\\n\\\\ \\\\ \\\\ pos\\\\ =\\\\ pos\\\\ +\\\\ n.knob(\\\\\\\"input\\\\\\\{\\\\\\\}\\\\\\\".format(i)).getValue()\\\\n\\\\ \\\\ \\\\ ret\\\\ =\\\\ pos]\"\}\}\n \}\n Reformat \{\n type scale\n scale \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\nif\\\\ n.knob('total').getValue()\\\\ >\\\\ 4\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 3\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 2\\\\n]\"\} \{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\nif\\\\ n.knob('total').getValue()\\\\ >\\\\ 2\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 2\\\\nelse\\\\ :\\\\ ret=1\\\\n]\"\}\}\n resize none\n center false\n name Reformat15\n xpos 537\n ypos 516\n disable \{\{\"!\\\[exists parent.input1]\"\}\}\n \}\npush \$Nb7af1400\npush \$Nb7af0400\n Switch \{\n inputs 2\n which \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\ \\\\ \\\\ \\\\nif\\\\ n.knob('input4').getValue()\\\\ ==\\\\ 0\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 0\\\\n\\\\n]\"\}\}\n name Switch16\n xpos 867\n ypos 413\n \}\npush \$Nb7b1b400\n Switch \{\n inputs 2\n which \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\ \\\\ \\\\ \\\\nif\\\\ n.knob('input3').getValue()\\\\ ==\\\\ 0\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 0\\\\n\\\\n]\"\}\}\n name Switch15\n xpos 757\n ypos 413\n \}\npush \$Nb7b1a400\n Switch \{\n inputs 2\n which \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\ \\\\ \\\\ \\\\nif\\\\ n.knob('input2').getValue()\\\\ ==\\\\ 0\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 0\\\\n\\\\n]\"\}\}\n name Switch14\n xpos 647\n ypos 413\n \}\npush \$Nb7b3d400\n Switch \{\n inputs 2\n which \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\ \\\\ \\\\ \\\\nif\\\\ n.knob('input1').getValue()\\\\ ==\\\\ 0\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 0\\\\n\\\\n]\"\}\}\n name Switch13\n xpos 537\n ypos 413\n \}\npush \$Nb7ac9c00\n Dot \{\n name Dot49\n xpos 466\n ypos 325\n \}\n Switch \{\n inputs 2\n which \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\ \\\\ \\\\ \\\\nif\\\\ n.knob('input0').getValue()\\\\ ==\\\\ 0\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 0\\\\n\\\\n]\"\}\}\n name Switch12\n xpos 432\n ypos 413\n \}\n Remove \{\n name Remove3\n xpos 432\n ypos 452\n disable \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('Switch12')\\\\nif\\\\ n.knob('which').getValue()\\\\ !=\\\\ 1\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1]\"\}\}\n \}\n Transform \{\n translate \{\{\"\\\[python -execlocal width=\\\\ nuke.toNode('ReformatMaster').width()\\\\npos=\\\\ nuke.thisNode().knob('pos').getValue()\\\\nconfig\\\\ =\\\\ nuke.toNode('InputNbrs').knob('total').getValue()\\\\n\\\\n\\\\nif\\\\ config\\\\ <=2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ ==1:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ ==2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width\\\\n\\\\nif\\\\ config\\\\ in\\\\ \\\\\\\[3,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[1,\\\\ 3\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[2,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width\\\\n\\\\nif\\\\ config\\\\ >=5:\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[1,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[2,\\\\ 5\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ in\\\\ \\\\\\\[3,\\\\ 6\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ width*2]\"\} \{\"\\\[python -execlocal height=\\\\ nuke.toNode('ReformatMaster').height()\\\\npos=\\\\ nuke.thisNode().knob('pos').getValue()\\\\nconfig\\\\ =\\\\ nuke.toNode('InputNbrs').knob('total').getValue()\\\\n\\\\n\\\\nif\\\\ config\\\\ <=2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\nif\\\\ config\\\\ in\\\\ \\\\\\\[3,\\\\ 4\\\\]:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ <=2:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ height\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ >=3:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0\\\\n\\\\nif\\\\ config\\\\ >=5:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ <=3:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ height\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ if\\\\ pos\\\\ >=4:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0]\"\}\}\n center \{\{width/2\} \{height/2\}\}\n name Transform13\n xpos 432\n ypos 492\n disable \{\{\"!\\\[exists parent.input0]\"\}\}\n addUserKnob \{20 User\}\n addUserKnob \{3 pos l Position\}\n pos \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\nmaxInputs\\\\ =\\\\ 1\\\\npos\\\\ =\\\\ 0.0\\\\nfor\\\\ i\\\\ in\\\\ range(maxInputs):\\\\n\\\\ \\\\ \\\\ pos\\\\ =\\\\ pos\\\\ +\\\\ n.knob(\\\\\\\"input\\\\\\\{\\\\\\\}\\\\\\\".format(i)).getValue()\\\\n\\\\ \\\\ \\\\ ret\\\\ =\\\\ pos]\"\}\}\n \}\n Reformat \{\n type scale\n scale \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\nif\\\\ n.knob('total').getValue()\\\\ >\\\\ 4\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 3\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 2\\\\n\\\\nif\\\\ n.knob('total').getValue()\\\\ ==\\\\ 1\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1\\\\n\\\\n]\"\} \{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\nif\\\\ n.knob('total').getValue()\\\\ >\\\\ 2\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 2\\\\nelse\\\\ :\\\\ ret=1\\\\n]\"\}\}\n resize none\n center false\n name Reformat13\n xpos 432\n ypos 516\n \}\n Dot \{\n name Dot50\n xpos 466\n ypos 540\n \}\n Merge2 \{\n inputs 2\n name Merge3\n xpos 537\n ypos 537\n disable \{\{\"!\\\[exists parent.input1]\"\}\}\n \}\n Merge2 \{\n inputs 2\n name Merge12\n xpos 647\n ypos 537\n disable \{\{\"!\\\[exists parent.input2]\"\}\}\n \}\n Merge2 \{\n inputs 2\n name Merge13\n xpos 757\n ypos 537\n disable \{\{\"!\\\[exists parent.input3]\"\}\}\n \}\n Merge2 \{\n inputs 2\n name Merge14\n xpos 867\n ypos 537\n disable \{\{\"!\\\[exists parent.input4]\"\}\}\n \}\n Merge2 \{\n inputs 2\n name Merge15\n xpos 977\n ypos 537\n disable \{\{\"!\\\[exists parent.input5]\"\}\}\n \}\n Dot \{\n name Dot51\n xpos 1095\n ypos 540\n \}\npush \$Nb6982c00\n Reformat \{\n type scale\n scale \{1 \{InputNbrs.total\}\}\n center false\n black_outside true\n name Reformat8\n xpos 972\n ypos -101\n disable \{\{\"!\\\[exists parent.input5]\"\}\}\n \}\npush \$Nb69e7800\n Transform \{\n translate \{0 \{height*Transform1.pos\}\}\n center \{\{width/2\} \{height/2\}\}\n name Transform1\n xpos 862\n ypos -124\n disable \{\{\"!\\\[exists parent.input4]\"\}\}\n addUserKnob \{20 User\}\n addUserKnob \{3 pos l Position\}\n pos \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\nmaxInputs\\\\ =\\\\ 6\\\\npos\\\\ =\\\\ 0.0\\\\nx\\\\ =\\\\ \\\\ n.knob(\\\\\\\"input0\\\\\\\").getValue()+n.knob(\\\\\\\"input1\\\\\\\").getValue()+n.knob(\\\\\\\"input2\\\\\\\").getValue()+n.knob(\\\\\\\"input3\\\\\\\").getValue()+n.knob(\\\\\\\"input4\\\\\\\").getValue()\\\\n\\\\nfor\\\\ i\\\\ in\\\\ range(maxInputs):\\\\n\\\\ \\\\ \\\\ pos\\\\ =\\\\ pos\\\\ +\\\\ n.knob(\\\\\\\"input\\\\\\\{\\\\\\\}\\\\\\\".format(i)).getValue()\\\\n\\\\ \\\\ \\\\ ret\\\\ =\\\\ pos-x]\"\}\}\n \}\n Reformat \{\n type scale\n scale \{1 \{InputNbrs.total\}\}\n center false\n name Reformat7\n xpos 862\n ypos -101\n disable \{\{\"!\\\[exists parent.input4]\"\}\}\n \}\npush \$Nb69fe400\n Transform \{\n translate \{0 \{height*Transform2.pos\}\}\n center \{\{width/2\} \{height/2\}\}\n name Transform2\n xpos 752\n ypos -124\n disable \{\{\"!\\\[exists parent.input3]\"\}\}\n addUserKnob \{20 User\}\n addUserKnob \{3 pos l Position\}\n pos \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\nmaxInputs\\\\ =\\\\ 6\\\\npos\\\\ =\\\\ 0.0\\\\nx\\\\ =\\\\ \\\\ n.knob(\\\\\\\"input0\\\\\\\").getValue()+n.knob(\\\\\\\"input1\\\\\\\").getValue()+n.knob(\\\\\\\"input2\\\\\\\").getValue()+n.knob(\\\\\\\"input3\\\\\\\").getValue()\\\\n\\\\nfor\\\\ i\\\\ in\\\\ range(maxInputs):\\\\n\\\\ \\\\ \\\\ pos\\\\ =\\\\ pos\\\\ +\\\\ n.knob(\\\\\\\"input\\\\\\\{\\\\\\\}\\\\\\\".format(i)).getValue()\\\\n\\\\ \\\\ \\\\ ret\\\\ =\\\\ pos-x]\"\}\}\n \}\n Reformat \{\n type scale\n scale \{1 \{InputNbrs.total\}\}\n center false\n name Reformat6\n xpos 752\n ypos -101\n disable \{\{\"!\\\[exists parent.input3]\"\}\}\n \}\npush \$Nb6a53000\n Transform \{\n translate \{0 \{height*Transform3.pos\}\}\n center \{\{width/2\} \{height/2\}\}\n name Transform3\n xpos 642\n ypos -124\n disable \{\{\"!\\\[exists parent.input2]\"\}\}\n addUserKnob \{20 User\}\n addUserKnob \{3 pos l Position\}\n pos \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\nmaxInputs\\\\ =\\\\ 6\\\\npos\\\\ =\\\\ 0.0\\\\nx\\\\ =\\\\ \\\\ n.knob(\\\\\\\"input0\\\\\\\").getValue()+n.knob(\\\\\\\"input1\\\\\\\").getValue()+n.knob(\\\\\\\"input2\\\\\\\").getValue()\\\\n\\\\nfor\\\\ i\\\\ in\\\\ range(maxInputs):\\\\n\\\\ \\\\ \\\\ pos\\\\ =\\\\ pos\\\\ +\\\\ n.knob(\\\\\\\"input\\\\\\\{\\\\\\\}\\\\\\\".format(i)).getValue()\\\\n\\\\ \\\\ \\\\ ret\\\\ =\\\\ pos-x\\\\n]\"\}\}\n \}\n Reformat \{\n type scale\n scale \{1 \{InputNbrs.total\}\}\n center false\n name Reformat5\n xpos 642\n ypos -101\n disable \{\{\"!\\\[exists parent.input2]\"\}\}\n \}\npush \$Nb7a7dc00\n Transform \{\n translate \{0 \{height*Transform4.pos\}\}\n center \{\{width/2\} \{height/2\}\}\n name Transform4\n xpos 532\n ypos -124\n disable \{\{\"!\\\[exists parent.input1]\"\}\}\n addUserKnob \{20 User\}\n addUserKnob \{3 pos l Position\}\n pos \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\nmaxInputs\\\\ =\\\\ 6\\\\npos\\\\ =\\\\ 0.0\\\\nx\\\\ =\\\\ \\\\ n.knob(\\\\\\\"input0\\\\\\\").getValue()+n.knob(\\\\\\\"input1\\\\\\\").getValue()\\\\n\\\\nfor\\\\ i\\\\ in\\\\ range(maxInputs):\\\\n\\\\ \\\\ \\\\ pos\\\\ =\\\\ pos\\\\ +\\\\ n.knob(\\\\\\\"input\\\\\\\{\\\\\\\}\\\\\\\".format(i)).getValue()\\\\n\\\\ \\\\ \\\\ ret\\\\ =\\\\ pos-x]\"\}\}\n \}\n Reformat \{\n type scale\n scale \{1 \{InputNbrs.total\}\}\n center false\n name Reformat2\n xpos 532\n ypos -101\n disable \{\{\"!\\\[exists parent.input1]\"\}\}\n \}\npush \$Nb6982c00\npush \$Nb69e7800\n Switch \{\n inputs 2\n which \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\ \\\\ \\\\ \\\\nif\\\\ n.knob('input5').getValue()\\\\ ==\\\\ 0\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 0]\"\}\}\n name Switch11\n xpos 862\n ypos -202\n \}\npush \$Nb69fe400\n Switch \{\n inputs 2\n which \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\ \\\\ \\\\ \\\\nif\\\\ n.knob('input3').getValue()\\\\ ==\\\\ 0\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 0]\"\}\}\n name Switch10\n xpos 752\n ypos -202\n \}\npush \$Nb6a53000\n Switch \{\n inputs 2\n which \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\ \\\\ \\\\ \\\\nif\\\\ n.knob('input2').getValue()\\\\ ==\\\\ 0\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 0]\"\}\}\n name Switch9\n xpos 642\n ypos -202\n \}\npush \$Nb7a7dc00\n Switch \{\n inputs 2\n which \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\ \\\\ \\\\ \\\\nif\\\\ n.knob('input1').getValue()\\\\ ==\\\\ 0\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 0]\"\}\}\n name Switch8\n xpos 532\n ypos -202\n \}\npush \$Nb7a90800\n Switch \{\n inputs 2\n which \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\ \\\\ \\\\ \\\\nif\\\\ n.knob('input0').getValue()\\\\ ==\\\\ 0\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 0]\"\}\}\n name Switch7\n xpos 427\n ypos -202\n \}\n Remove \{\n name Remove2\n xpos 427\n ypos -165\n disable \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('Switch7')\\\\nif\\\\ n.knob('which').getValue()\\\\ !=\\\\ 1\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1]\"\}\}\n \}\n Transform \{\n translate \{0 \{height*Transform5.pos\}\}\n center \{\{width/2\} \{height/2\}\}\n name Transform5\n xpos 427\n ypos -124\n addUserKnob \{20 User\}\n addUserKnob \{3 pos l Position\}\n pos \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\nmaxInputs\\\\ =\\\\ 6\\\\npos\\\\ =\\\\ 0\\\\n\\\\nfor\\\\ i\\\\ in\\\\ range(maxInputs):\\\\n\\\\ \\\\ \\\\ pos\\\\ =\\\\ pos\\\\ +\\\\ n.knob(\\\\\\\"input\\\\\\\{\\\\\\\}\\\\\\\".format(i)).getValue()\\\\n\\\\ \\\\ \\\\ ret\\\\ =\\\\ pos-1\\\\n]\"\}\}\n \}\n Reformat \{\n type scale\n scale \{1 \{InputNbrs.total\}\}\n center false\n name Reformat1\n xpos 427\n ypos -101\n disable \{\{\"!\\\[exists parent.input0]\"\}\}\n \}\n Dot \{\n name Dot6\n xpos 461\n ypos -74\n \}\n Merge2 \{\n inputs 2\n name Merge2\n xpos 532\n ypos -77\n disable \{\{\"!\\\[exists parent.input1]\"\}\}\n \}\n Merge2 \{\n inputs 2\n name Merge4\n xpos 642\n ypos -77\n disable \{\{\"!\\\[exists parent.input2]\"\}\}\n \}\n Merge2 \{\n inputs 2\n name Merge5\n xpos 752\n ypos -77\n disable \{\{\"!\\\[exists parent.input3]\"\}\}\n \}\n Merge2 \{\n inputs 2\n name Merge6\n xpos 862\n ypos -77\n disable \{\{\"!\\\[exists parent.input4]\"\}\}\n \}\n Merge2 \{\n inputs 2\n name Merge7\n xpos 972\n ypos -77\n disable \{\{\"!\\\[exists parent.input5]\"\}\}\n \}\n Dot \{\n name Dot7\n xpos 1144\n ypos -74\n \}\npush \$Nb6982400\n Dot \{\n name Dot35\n xpos 1007\n ypos 97\n \}\nset Nb7c26800 \[stack 0]\n Transform \{\n translate \{\{width*Transform18.pos\} 0\}\n center \{\{width/2\} \{height/2\}\}\n name Transform18\n xpos 973\n ypos 157\n disable \{\{\"!\\\[exists parent.input5]\"\}\}\n addUserKnob \{20 User\}\n addUserKnob \{3 pos l Position\}\n pos \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\nmaxInputs\\\\ =\\\\ 6\\\\npos\\\\ =\\\\ 0.0\\\\nfor\\\\ i\\\\ in\\\\ range(maxInputs):\\\\n\\\\ \\\\ \\\\ pos\\\\ =\\\\ pos\\\\ +\\\\ n.knob(\\\\\\\"input\\\\\\\{\\\\\\\}\\\\\\\".format(i)).getValue()\\\\n\\\\ \\\\ \\\\ ret\\\\ =\\\\ pos-1]\"\}\}\n \}\n Reformat \{\n type scale\n scale \{\{InputNbrs.total\} 1\}\n resize height\n center false\n name Reformat9\n xpos 973\n ypos 181\n disable \{\{\"!\\\[exists parent.input5]\"\}\}\n \}\npush \$Nb69e7000\n Dot \{\n name Dot34\n xpos 897\n ypos 79\n \}\nset Nb7c53800 \[stack 0]\n Transform \{\n translate \{\{width*Transform17.pos\} 0\}\n center \{\{width/2\} \{height/2\}\}\n name Transform17\n xpos 863\n ypos 157\n disable \{\{\"!\\\[exists parent.input4]\"\}\}\n addUserKnob \{20 User\}\n addUserKnob \{3 pos l Position\}\n pos \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\nmaxInputs\\\\ =\\\\ 5\\\\npos\\\\ =\\\\ 0.0\\\\nfor\\\\ i\\\\ in\\\\ range(maxInputs):\\\\n\\\\ \\\\ \\\\ pos\\\\ =\\\\ pos\\\\ +\\\\ n.knob(\\\\\\\"input\\\\\\\{\\\\\\\}\\\\\\\".format(i)).getValue()\\\\n\\\\ \\\\ \\\\ ret\\\\ =\\\\ pos-1]\"\}\}\n \}\n Reformat \{\n type scale\n scale \{\{InputNbrs.total\} 1\}\n resize height\n center false\n name Reformat10\n xpos 863\n ypos 181\n disable \{\{\"!\\\[exists parent.input4]\"\}\}\n \}\npush \$Nb6a33c00\n Dot \{\n name Dot33\n xpos 787\n ypos 62\n \}\nset Nb7c52800 \[stack 0]\n Transform \{\n translate \{\{width*Transform9.pos\} 0\}\n center \{\{width/2\} \{height/2\}\}\n name Transform9\n xpos 753\n ypos 157\n disable \{\{\"!\\\[exists parent.input3]\"\}\}\n addUserKnob \{20 User\}\n addUserKnob \{3 pos l Position\}\n pos \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\nmaxInputs\\\\ =\\\\ 4\\\\npos\\\\ =\\\\ 0.0\\\\nfor\\\\ i\\\\ in\\\\ range(maxInputs):\\\\n\\\\ \\\\ \\\\ pos\\\\ =\\\\ pos\\\\ +\\\\ n.knob(\\\\\\\"input\\\\\\\{\\\\\\\}\\\\\\\".format(i)).getValue()\\\\n\\\\ \\\\ \\\\ ret\\\\ =\\\\ pos-1]\"\}\}\n \}\n Reformat \{\n type scale\n scale \{\{InputNbrs.total\} 1\}\n resize height\n center false\n name Reformat11\n xpos 753\n ypos 181\n disable \{\{\"!\\\[exists parent.input3]\"\}\}\n \}\npush \$Nb6a52800\n Dot \{\n name Dot32\n xpos 677\n ypos 48\n \}\nset Nb7c75800 \[stack 0]\n Transform \{\n translate \{\{width*Transform10.pos\} 0\}\n center \{\{width/2\} \{height/2\}\}\n name Transform10\n xpos 643\n ypos 157\n disable \{\{\"!\\\[exists parent.input2]\"\}\}\n addUserKnob \{20 User\}\n addUserKnob \{3 pos l Position\}\n pos \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\nmaxInputs\\\\ =\\\\ 3\\\\npos\\\\ =\\\\ 0.0\\\\nfor\\\\ i\\\\ in\\\\ range(maxInputs):\\\\n\\\\ \\\\ \\\\ pos\\\\ =\\\\ pos\\\\ +\\\\ n.knob(\\\\\\\"input\\\\\\\{\\\\\\\}\\\\\\\".format(i)).getValue()\\\\n\\\\ \\\\ \\\\ ret\\\\ =\\\\ pos-1]\"\}\}\n \}\n Reformat \{\n type scale\n scale \{\{InputNbrs.total\} 1\}\n resize height\n center false\n name Reformat12\n xpos 643\n ypos 181\n disable \{\{\"!\\\[exists parent.input2]\"\}\}\n \}\npush \$Nb7a7d400\n Dot \{\n name Dot13\n xpos 567\n ypos 34\n \}\nset Nb7c74800 \[stack 0]\n Transform \{\n translate \{\{width*Transform6.pos\} 0\}\n center \{\{width/2\} \{height/2\}\}\n name Transform6\n xpos 533\n ypos 157\n disable \{\{\"!\\\[exists parent.input1]\"\}\}\n addUserKnob \{20 User\}\n addUserKnob \{3 pos l Position\}\n pos \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\nmaxInputs\\\\ =\\\\ 2\\\\npos\\\\ =\\\\ 0.0\\\\nfor\\\\ i\\\\ in\\\\ range(maxInputs):\\\\n\\\\ \\\\ \\\\ pos\\\\ =\\\\ pos\\\\ +\\\\ n.knob(\\\\\\\"input\\\\\\\{\\\\\\\}\\\\\\\".format(i)).getValue()\\\\n\\\\ \\\\ \\\\ ret\\\\ =\\\\ pos-1]\"\}\}\n \}\n Reformat \{\n type scale\n scale \{\{InputNbrs.total\} 1\}\n resize height\n center false\n name Reformat3\n xpos 533\n ypos 181\n disable \{\{\"!\\\[exists parent.input1]\"\}\}\n \}\npush \$Nb7c26800\npush \$Nb7c53800\n Switch \{\n inputs 2\n which \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\ \\\\ \\\\ \\\\nif\\\\ n.knob('input4').getValue()\\\\ ==\\\\ 0\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 0]\"\}\}\n name Switch6\n xpos 863\n ypos 94\n \}\npush \$Nb7c52800\n Switch \{\n inputs 2\n which \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\ \\\\ \\\\ \\\\nif\\\\ n.knob('input3').getValue()\\\\ ==\\\\ 0\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 0]\"\}\}\n name Switch5\n xpos 753\n ypos 94\n \}\npush \$Nb7c75800\n Switch \{\n inputs 2\n which \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\ \\\\ \\\\ \\\\nif\\\\ n.knob('input2').getValue()\\\\ ==\\\\ 0\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 0]\"\}\}\n name Switch4\n xpos 643\n ypos 94\n \}\npush \$Nb7c74800\n Switch \{\n inputs 2\n which \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\ \\\\ \\\\ \\\\nif\\\\ n.knob('input1').getValue()\\\\ ==\\\\ 0\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 0]\"\}\}\n name Switch3\n xpos 533\n ypos 94\n \}\npush \$Nb7a90000\n Dot \{\n name Dot8\n xpos 462\n ypos 22\n \}\n Switch \{\n inputs 2\n which \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('InputNbrs')\\\\n\\\\ \\\\ \\\\ \\\\nif\\\\ n.knob('input0').getValue()\\\\ ==\\\\ 0\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1\\\\nelse\\\\ :\\\\ ret\\\\ =\\\\ 0\\\\n\\\\n]\"\}\}\n name Switch2\n xpos 428\n ypos 94\n \}\n Remove \{\n name Remove1\n xpos 428\n ypos 143\n disable \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.toNode('Switch2')\\\\nif\\\\ n.knob('which').getValue()\\\\ !=\\\\ 1\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1]\"\}\}\n \}\n Reformat \{\n type scale\n scale \{\{InputNbrs.total\} 1\}\n resize height\n center false\n black_outside true\n name Reformat4\n xpos 428\n ypos 179\n \}\n Dot \{\n name Dot12\n xpos 462\n ypos 208\n \}\n Merge2 \{\n inputs 2\n name Merge16\n xpos 533\n ypos 205\n disable \{\{\"!\\\[exists parent.input1]\"\}\}\n \}\n Merge2 \{\n inputs 2\n name Merge17\n xpos 643\n ypos 205\n disable \{\{\"!\\\[exists parent.input2]\"\}\}\n \}\n Merge2 \{\n inputs 2\n name Merge18\n xpos 753\n ypos 205\n disable \{\{\"!\\\[exists parent.input3]\"\}\}\n \}\n Merge2 \{\n inputs 2\n name Merge19\n xpos 863\n ypos 205\n disable \{\{\"!\\\[exists parent.input4]\"\}\}\n \}\n Merge2 \{\n inputs 2\n name Merge20\n xpos 973\n ypos 205\n disable \{\{\"!\\\[exists parent.input5]\"\}\}\n \}\n Dot \{\n name Dot3\n xpos 1090\n ypos 208\n \}\n Switch \{\n inputs 4\n which \{\{parent.mode\}\}\n name Switch1\n xpos 1110\n ypos 1031\n \}\n Output \{\n name Output1\n xpos 1110\n ypos 1126\n \}\n Reformat \{\n inputs 0\n name ReformatMaster\n xpos 309\n ypos -435\n hide_input true\n \}\n NoOp \{\n inputs 0\n name InputNbrs\n xpos 309\n ypos -497\n hide_input true\n addUserKnob \{20 User\}\n addUserKnob \{3 maxIn l MaxIn\}\n maxIn \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.thisNode()\\\\np\\\\ =\\\\ nuke.thisParent()\\\\n\\\\nmaxInputs\\\\ =\\\\ p.maxInputs()\\\\n\\\\nfor\\\\ index\\\\ in\\\\ range(maxInputs):\\\\n\\\\ \\\\ \\\\ \\\\ if\\\\ n.knob(\\\\\\\"input\\\\\\\{\\\\\\\}\\\\\\\".format(index)).getValue()\\\\ ==\\\\ 1:\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ index\\\\ +\\\\ 1]\"\}\}\n addUserKnob \{3 input0 l Input0\}\n input0 \{\{\"\\\[exists parent.input0]\"\}\}\n addUserKnob \{3 input1 l Input1\}\n input1 \{\{\"\\\[exists parent.input1]\"\}\}\n addUserKnob \{3 input2 l Input2\}\n input2 \{\{\"\\\[exists parent.input2]\"\}\}\n addUserKnob \{3 input3 l Input3\}\n input3 \{\{\"\\\[exists parent.input3]\"\}\}\n addUserKnob \{3 input4 l Input4\}\n input4 \{\{\"\\\[exists parent.input4]\"\}\}\n addUserKnob \{3 input5 l Input5\}\n input5 \{\{\"\\\[exists parent.input5]\"\}\}\n addUserKnob \{3 inputMaster l InputMaster\}\n inputMaster \{\{\"\\\[python -execlocal n\\\\ =\\\\ nuke.thisNode()\\\\n\\\\nif\\\\ n.knob('maxIn').getValue()\\\\ ==\\\\ 0\\\\ :\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 1\\\\nelse:\\\\n\\\\ \\\\ \\\\ \\\\ ret\\\\ =\\\\ 0]\"\}\}\n addUserKnob \{3 total l Total\}\n total \{\{input0+input1+input2+input3+input4+input5+inputMaster\}\}\n \}\nend_group\n" +STARTLINE} addUserKnob {26 ""} addUserKnob {26 spacerFUstart l "" +STARTLINE T " "} addUserKnob {26 crpto_section l "Cryptomattes Section" T " "} addUserKnob {22 xpand_wildcrds l "Expand Wildcards" T "cryptotal = 0\nfor i in nuke.allNodes():\n if i.Class() == \"Cryptomatte\":\n i\[\"expandWildcards\"].setValue(True)\n cryptotal += 1\n elif i.Class() == \"LiveGroup\" or i.Class() == \"Group\":\n i.begin()\n for n in nuke.allNodes():\n if n.Class() == \"Cryptomatte\":\n n\[\"expandWildcards\"].setValue(True)\n cryptotal += 1\n i.end()\nprint(\"Updated a total of \" + str(cryptotal) + \" cryptomattes.\")" +STARTLINE} addUserKnob {22 strip_nmspcs l "Strip Namespaces" T "cryptotal = 0\nfor i in nuke.allNodes():\n if i.Class() == \"Cryptomatte\":\n i\[\"stripNamespace\"].setValue(True)\n cryptotal += 1\n elif i.Class() == \"LiveGroup\" or i.Class() == \"Group\":\n i.begin()\n for n in nuke.allNodes():\n if n.Class() == \"Cryptomatte\":\n n\[\"stripNamespace\"].setValue(True)\n cryptotal += 1\n i.end()\nprint(\"Updated a total of \" + str(cryptotal) + \" cryptomattes.\")" +STARTLINE} addUserKnob {22 forceUpdate l "Force Update All Cryptos" t "Will execute the Force Update button in all Cryptomatte nodes including the ones within groups but not the ones in groups within groups.\n\nIt will also list the force updated Cryptomattes in the Script Editor." T "cryptotal = 0\nfor i in nuke.allNodes():\n if i.Class() == \"Cryptomatte\":\n f_u = i.knob(\"forceUpdate\")\n nuke.Script_Knob.execute(f_u)\n print(i\['name'].value() + \" force updated.\")\n cryptotal += 1\n elif i.Class() == \"LiveGroup\" or i.Class() == \"Group\":\n i.begin()\n for n in nuke.allNodes():\n if n.Class() == \"Cryptomatte\":\n f_u = n.knob(\"forceUpdate\")\n nuke.Script_Knob.execute(f_u)\n print(n\['name'].value()+\" force updated.\")\n cryptotal += 1\n i.end()\nprint(\"Updated a total of \" + str(cryptotal) + \" cryptomattes.\")" +STARTLINE} addUserKnob {26 spacerForce2 l "" +STARTLINE T " "} addUserKnob {26 ""} addUserKnob {26 spacernan l "" +STARTLINE T " "} addUserKnob {22 nanRemover l "Create NaN Remover Node" T "nuke.createNode(\"Expression\")\nexp_node = nuke.selectedNode()\nexp_node\['name'].setValue(\"Nan_Remover\")\nexp_node\['expr0'].setValue(\"isnan( r ) ? r(x+2,y+3) : r\")\nexp_node\['expr1'].setValue(\"isnan( g ) ? g(x+2,y+3) : g\")\nexp_node\['expr2'].setValue(\"isnan( b ) ? b(x+2,y+3) : b\")\nexp_node\['expr3'].setValue(\"isnan( r ) ? a(x+2,y+3) : a\")" +STARTLINE} }