No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

HDR_Prepper.gimmick 19KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541
  1. set cut_paste_input [stack 0]
  2. version 12.2 v5
  3. push $cut_paste_input
  4. Group {
  5. name HDR_PREPPER
  6. tile_color 1
  7. label "\[value lightname]"
  8. selected true
  9. xpos 232
  10. ypos -2
  11. addUserKnob {20 light_ctrls l "Light Controls"}
  12. addUserKnob {26 hdrPrepTag l INVISIBLE +INVISIBLE T "scoping sucks."}
  13. addUserKnob {2 root_path l "Output Folder" t "Choose the root path of where to output the exr's."}
  14. root_path /var/tmp
  15. addUserKnob {22 setAllFolders l "Set all to this folder" t "Set all other HDRPreppers' output folders in this script to the path from this node." -STARTLINE T "n = nuke.thisNode()\nout = n\['root_path'].value()\nallGroupNodes = nuke.allNodes('Group', group = nuke.root())\n\nfor i in allGroupNodes:\n if i.knob('hdrPrepTag'):\n i\['root_path'].setValue(out) \n"}
  16. addUserKnob {1 lightname l "Light Name" t "Specify a unique name for this light."}
  17. lightname light1
  18. addUserKnob {22 setNameForSel l "Set selected to this name" t "All other HDR_PREPPERs that you select in the nodegraph will have the same light name like this one (numbered consecutively)." -STARTLINE T "n = nuke.thisNode()\nwith nuke.root():\n sel = nuke.selectedNodes()\n\n#increase nummer list by number of HDR Preppers\n num=\[]\n for i in sel:\n if i.knob('hdrPrepTag'):\n num.append(i)\n\n num=len(num)\n\n name = n\['lightname'].getValue()\n base=name\[:-1]\n last=name\[-1]\n\n allGroupNodes = nuke.allNodes('Group', group = nuke.root())\n \n if sel == \[]:\n raise ValueError, 'No Nodes selected. Make sure to select other HDR_PREPPER Nodes.'\n else:\n pass\n\n#Set count to end number if there is one \n if last.isdigit() == True:\n count = int(last)\n else:\n count = 1\n\n#Set count one number higher than original name if its not included in the selection\n if not n in sel:\n count = count + 1\n\n#Set last number to \"1\" on this node if it doesnt have a number at the end\n\n if last.isdigit() == False:\n n\['lightname'].setValue(name + str(1)) \n else:\n pass\n\n while (count < num+1): \n for i in allGroupNodes:\n if i in sel:\n if i.knob('hdrPrepTag'):\n if last.isdigit() == False:\n newname=name + str(count)\n else:\n newname=base + str(count) \n i\['lightname'].setValue(newname) \n count = count + 1\n"}
  19. addUserKnob {41 Render -STARTLINE T Write1.Render}
  20. addUserKnob {20 EnvHDRGrp l "Env HDR Output" n 1}
  21. EnvHDRGrp 0
  22. addUserKnob {1 hdrname l "HDR Name" t "Specify a name for the environment HDR."}
  23. hdrname env
  24. addUserKnob {6 KeepInputFormat l "Keep Input Format" t "If checked the output will have the same format like the incoming format." +STARTLINE}
  25. addUserKnob {4 setFormat l "| Format" -STARTLINE M {256x128 512x256 1024x512 2048x1024 4096x2048 8192x4096 custom "" "" ""}}
  26. setFormat 1024x512
  27. addUserKnob {6 envConvolve l "EnvConvolve (c) Michael Garrett" t "Convolve the output. You must have the EnvConvolve gizmo installed, otherwhise it won't work." +STARTLINE}
  28. addUserKnob {7 exponent l "| exp" t "Set the environment convolution exponent. 1 represents a diffuse surface. Higher values exponentially increase specularity/glossiness." -STARTLINE R 1 100}
  29. exponent 40
  30. addUserKnob {22 createOut l "Create Env Output" T "sel = nuke.thisNode()\nformat = sel\['setFormat'].getValue()\n\nwith nuke.root():\n #create Reformat\n if sel\['KeepInputFormat'].value() == False:\n ref=nuke.nodes.Reformat()\n ref.setInput(0,sel)\n if format == 0:\n try:\n Latlong256\n except:\n Latlong256=nuke.addFormat('256 128 1')\n ref\['format'].setValue(Latlong256)\n \n if format == 1:\n try:\n Latlong512\n except:\n Latlong512=nuke.addFormat('512 256 1')\n ref\['format'].setValue(Latlong512)\n \n if format == 2:\n try:\n Latlong1k\n except:\n Latlong1k=nuke.addFormat('1024 512 1')\n ref\['format'].setValue(Latlong1k)\n \n if format == 3:\n try:\n Latlong2k\n except:\n Latlong2k=nuke.addFormat('2048 1024 1')\n ref\['format'].setValue(Latlong2k)\n \n if format == 4:\n try:\n Latlong4k\n except:\n Latlong4k=nuke.addFormat('4096 2048 1')\n ref\['format'].setValue(Latlong4k)\n \n if format == 5:\n try:\n Latlong8k\n except:\n Latlong8k=nuke.addFormat('8192 4096 1')\n ref\['format'].setValue(Latlong8k)\n\n if format == 6:\n customRes = nuke.getInput('Custom Resolution:', '128x64')\n if not 'x' in customRes:\n raise ValueError, 'Make sure to use a proper format (Width x Height). For example 1024x512'\n\n else:\n reslist = customRes.split('x')\n cRes = str(reslist\[0] + ' ' + reslist\[1] + ' 1')\n LatlongCustom=nuke.addFormat(cRes)\n ref\['format'].setValue(LatlongCustom)\n\n #create EnvConvolve\n if sel\['envConvolve'].value() == True: \n conv=nuke.nodes.EnvConvolve()\n if sel\['KeepInputFormat'].value() == False:\n conv.setInput(0,ref)\n else:\n conv.setInput(0,sel)\n exp=sel\['exponent'].getValue()\n conv\['phexp'].setValue(exp)\n conv\['label'].setValue('exp: \[value phexp]') \n \n\n #create Write Node\n wr=nuke.nodes.Write()\n if sel\['KeepInputFormat'].value() == False:\n if sel\['envConvolve'].value() == False:\n wr.setInput(0,ref)\n else:\n wr.setInput(0,conv)\n else:\n if sel\['envConvolve'].value() == False:\n wr.setInput(0,sel)\n else:\n wr.setInput(0,conv)\n\n wr\['channels'].setValue('rgba')\n outPath=sel\['root_path'].value()\n outName=sel\['hdrname'].value()\n wr\['file'].setValue(outPath + '/' + outName + '.exr')\n wr\['file_type'].setValue('exr')\n wr\['datatype'].setValue('32 bit float')\n" +STARTLINE}
  31. addUserKnob {20 endGroup_2 l endGroup n -1}
  32. addUserKnob {26 ""}
  33. addUserKnob {20 lightremoval l "Light Removal Settings" n 1}
  34. addUserKnob {41 area1 l Area t "Wrap this box tightly around the light source. This will define the output size of the extracted light." T Crop1.box}
  35. addUserKnob {41 size l "Edge Smudge" t "Control the amount of edge pixels sucked into the light-crop area. Increase this value if holes appear." T Smudge1.size}
  36. addUserKnob {14 FilterErode1_size l "Edge Extend" t "Extend the edges around the crop area to clean more of the surrounding pixels" R -100 100}
  37. FilterErode1_size -10
  38. addUserKnob {7 edge_blur1 l "Edge Blur" t "Blur the edges of the light-crop area." R 0 100}
  39. edge_blur1 10
  40. addUserKnob {6 rough_edge1 l "Rough Edge" t "Break up the edges. Best to be used with higher Edge Blur values." +STARTLINE}
  41. addUserKnob {7 bring_details1 l Details t "Bring back original Details." R 0 100}
  42. bring_details1 3.5
  43. addUserKnob {41 detail_blur1 l "Detail Blur" t "Soften the re-introduced Details." T detailBlur1.size}
  44. addUserKnob {41 useSingleColor l "Fill with constant color" t "Fill in the light area with a solid color." T Switch1.disable}
  45. addUserKnob {41 singleColor l Color t "The color to fill the light area with if \"Use constant color\" is checked." T Grade2.black}
  46. addUserKnob {20 endGroup n -1}
  47. addUserKnob {26 ""}
  48. addUserKnob {20 addCtrls l "Additional Controls" n 1}
  49. addUserKnob {6 output_lightmask l "Output Lights Mask" t "Outputs the masks of the lights into the alpha channel." +STARTLINE}
  50. output_lightmask true
  51. addUserKnob {0 Shuffle4_disable t "Wheter to apply the edge extensions and blurs to the mask or not." -STARTLINE +INVISIBLE}
  52. addUserKnob {20 endGroup_1 l endGroup n -1}
  53. }
  54. BackdropNode {
  55. inputs 0
  56. name BackdropNode1
  57. tile_color 0x565656ff
  58. label details
  59. note_font_size 42
  60. xpos -580
  61. ypos 1059
  62. bdwidth 428
  63. bdheight 279
  64. }
  65. Input {
  66. inputs 0
  67. name Input1
  68. xpos -3
  69. ypos 208
  70. }
  71. Dot {
  72. name Dot39
  73. xpos 31
  74. ypos 309
  75. }
  76. set N6831d400 [stack 0]
  77. Dot {
  78. name Dot38
  79. xpos -611
  80. ypos 309
  81. }
  82. Dot {
  83. name Dot37
  84. xpos -611
  85. ypos 2190
  86. }
  87. Input {
  88. inputs 0
  89. name Mask
  90. xpos -276
  91. ypos 692
  92. number 1
  93. }
  94. set N6831c800 [stack 0]
  95. push $N6831d400
  96. Shuffle {
  97. alpha white
  98. name Shuffle1
  99. label "\[value in]"
  100. xpos -3
  101. ypos 368
  102. }
  103. Dot {
  104. name Dot7
  105. xpos 31
  106. ypos 426
  107. }
  108. Dot {
  109. name Dot3
  110. xpos 31
  111. ypos 601
  112. }
  113. set N682cf800 [stack 0]
  114. Crop {
  115. box {250 100 450 300}
  116. name Crop1
  117. xpos -123
  118. ypos 637
  119. }
  120. ChannelMerge {
  121. inputs 2
  122. operation multiply
  123. name ChannelMerge2
  124. xpos -123
  125. ypos 680
  126. }
  127. add_layer {lightmaskOrig lightmaskOrig.red lightmaskOrig.green lightmaskOrig.blue lightmaskOrig.alpha}
  128. Shuffle {
  129. red alpha
  130. green alpha
  131. blue alpha
  132. out lightmaskOrig
  133. name Shuffle3
  134. label "\[value in]"
  135. xpos -123
  136. ypos 730
  137. }
  138. FilterErode {
  139. channels rgba
  140. size {{parent.FilterErode1_size.w} {parent.FilterErode1_size.h}}
  141. name FilterErode1
  142. xpos -123
  143. ypos 772
  144. }
  145. Blur {
  146. channels rgba
  147. size {{parent.edge_blur1}}
  148. name Blur1
  149. label "\[value size]"
  150. xpos -123
  151. ypos 811
  152. }
  153. Dot {
  154. name Dot31
  155. xpos -89
  156. ypos 882
  157. }
  158. set N682ce000 [stack 0]
  159. Dot {
  160. name Dot33
  161. xpos -159
  162. ypos 882
  163. }
  164. set N682cdc00 [stack 0]
  165. FilterErode {
  166. channels rgba
  167. size -12
  168. name FilterErode6
  169. xpos -193
  170. ypos 924
  171. }
  172. push $N682cdc00
  173. Dot {
  174. name Dot32
  175. xpos -255
  176. ypos 882
  177. }
  178. set N682cd400 [stack 0]
  179. Shuffle {
  180. red black
  181. green black
  182. blue black
  183. alpha black
  184. name Shuffle2
  185. label "\[value in]"
  186. xpos -289
  187. ypos 908
  188. }
  189. Noise {
  190. size 10.5
  191. gain 0.46
  192. gamma 0.635
  193. center {1024 778}
  194. name Noise1
  195. xpos -289
  196. ypos 957
  197. }
  198. Dot {
  199. name Dot4
  200. xpos -255
  201. ypos 1018
  202. }
  203. push $N682ce000
  204. Merge2 {
  205. inputs 2+1
  206. operation color-dodge
  207. name Merge16
  208. xpos -123
  209. ypos 1014
  210. disable {{!parent.rough_edge1}}
  211. }
  212. Blur {
  213. channels rgba
  214. size 4
  215. name Blur4
  216. label "\[value size]"
  217. xpos -123
  218. ypos 1061
  219. disable {{!parent.rough_edge1}}
  220. }
  221. Dot {
  222. name Dot9
  223. xpos -89
  224. ypos 1597
  225. }
  226. set N6827b800 [stack 0]
  227. Shuffle {
  228. in lightmaskOrig
  229. red alpha
  230. out alpha
  231. name Shuffle4
  232. label "\[value in]"
  233. xpos -123
  234. ypos 1677
  235. disable {{!parent.Shuffle4_disable}}
  236. }
  237. Dot {
  238. name Dot45
  239. xpos -89
  240. ypos 2017
  241. }
  242. push $N6827b800
  243. push $N682cd400
  244. Dot {
  245. name Dot2
  246. xpos -331
  247. ypos 882
  248. }
  249. push $N682cf800
  250. Dot {
  251. name Dot1
  252. xpos -441
  253. ypos 601
  254. }
  255. Colorspace {
  256. colorspace_out Cineon
  257. name Colorspace1
  258. label "\[value colorspace_in] >> \[value colorspace_out]"
  259. xpos -475
  260. ypos 1139
  261. }
  262. set N6827a400 [stack 0]
  263. push $N6827a400
  264. Blur {
  265. channels rgba
  266. size {{parent.bring_details1}}
  267. name details1
  268. label "\[value size]"
  269. xpos -570
  270. ypos 1187
  271. }
  272. Merge2 {
  273. inputs 2
  274. operation minus
  275. name Merge1
  276. xpos -475
  277. ypos 1233
  278. }
  279. Blur {
  280. channels rgba
  281. size 4
  282. name detailBlur1
  283. label "\[value size]"
  284. xpos -475
  285. ypos 1296
  286. }
  287. Merge2 {
  288. inputs 2
  289. operation mask
  290. name Merge3
  291. xpos -365
  292. ypos 1302
  293. }
  294. push $N682ce000
  295. push $N682cf800
  296. ChannelMerge {
  297. inputs 2
  298. operation stencil
  299. name ChannelMerge1
  300. xpos -3
  301. ypos 866
  302. }
  303. Premult {
  304. name Premult1
  305. xpos -3
  306. ypos 1057
  307. }
  308. Blur {
  309. channels rgba
  310. size {65 65}
  311. name Smudge1
  312. label "\[value size]"
  313. xpos -3
  314. ypos 1083
  315. }
  316. Unpremult {
  317. name Unpremult1
  318. xpos -3
  319. ypos 1121
  320. }
  321. Merge2 {
  322. inputs 2
  323. operation plus
  324. name Merge2
  325. xpos -3
  326. ypos 1302
  327. }
  328. Clamp {
  329. channels rgba
  330. maximum 10000
  331. name Clamp2
  332. xpos -3
  333. ypos 1328
  334. }
  335. push $N682cf800
  336. Dot {
  337. name Dot6
  338. xpos 122
  339. ypos 601
  340. }
  341. set N68a13400 [stack 0]
  342. Grade {
  343. black {0 0 0 0}
  344. multiply 0
  345. name Grade2
  346. xpos 88
  347. ypos 1335
  348. }
  349. Switch {
  350. inputs 2
  351. which 1
  352. name Switch1
  353. label singlecolor
  354. xpos -3
  355. ypos 1407
  356. }
  357. Shuffle {
  358. alpha black
  359. name Shuffle6
  360. label "\[value in]"
  361. xpos -3
  362. ypos 1445
  363. }
  364. Dot {
  365. name Dot5
  366. xpos 31
  367. ypos 1541
  368. }
  369. push $N6831d400
  370. Dot {
  371. name Dot10
  372. xpos 213
  373. ypos 309
  374. }
  375. Keymix {
  376. inputs 3
  377. channels rgba
  378. name Keymix1
  379. xpos 179
  380. ypos 1593
  381. }
  382. Grade {
  383. name clamp_blacks
  384. xpos 179
  385. ypos 1894
  386. }
  387. ChannelMerge {
  388. inputs 2
  389. name ChannelMerge4
  390. xpos 179
  391. ypos 2001
  392. }
  393. Clamp {
  394. channels alpha
  395. name Clamp1
  396. xpos 179
  397. ypos 2074
  398. }
  399. ShuffleCopy {
  400. inputs 2
  401. name ShuffleCopy1
  402. xpos 179
  403. ypos 2186
  404. disable {{parent.output_lightmask x1 1}}
  405. }
  406. Output {
  407. name Output1
  408. xpos 179
  409. ypos 2625
  410. }
  411. push $N6831c800
  412. push $N68a13400
  413. Dot {
  414. name Dot8
  415. xpos 327
  416. ypos 601
  417. }
  418. ChannelMerge {
  419. inputs 2
  420. operation multiply
  421. name ChannelMerge3
  422. xpos 293
  423. ypos 680
  424. }
  425. Premult {
  426. name Premult2
  427. xpos 293
  428. ypos 730
  429. }
  430. Crop {
  431. box {{Crop1.box} {Crop1.box} {Crop1.box} {Crop1.box}}
  432. softness {{Crop1.softness}}
  433. reformat true
  434. intersect {{Crop1.intersect}}
  435. crop {{Crop1.crop x1250 0}}
  436. name Crop1_clone1
  437. xpos 293
  438. ypos 756
  439. icon "\[value Crop1.icon]"
  440. bookmark {{Crop1.bookmark}}
  441. }
  442. Write {
  443. channels rgba
  444. file "\[value parent.root_path]/\[value parent.lightname].exr"
  445. colorspace linear
  446. raw true
  447. file_type exr
  448. datatype "32 bit float"
  449. first_part rgba
  450. version 4
  451. name Write1
  452. tile_color 0xb8b80001
  453. label "\nexr compression: \[value compression]"
  454. xpos 293
  455. ypos 782
  456. addUserKnob {20 Modules}
  457. addUserKnob {4 write_modules l module M {" " Comp_footage Comp_render Weekly "Weekly Resolution"}}
  458. addUserKnob {1 wm_layer l layer}
  459. addUserKnob {22 trixter_update_me +INVISIBLE T "try:\n import tx_nuke.write_modules as wm\n wm.update_node(nuke.thisNode())\nexcept: pass" +STARTLINE}
  460. addUserKnob {20 keller l Keller}
  461. addUserKnob {4 extension l Extension M {" " cin dpx exr hdr jpeg "mov\t\t\tffmpeg" mxf null pic png sgi targa tiff xpm yuv}}
  462. extension exr
  463. addUserKnob {4 subtask l Subtask t "Defaults to the Task selected in sceneControl, ignoring Element and Info.\nAll other subtasks are pre-renders and get rendered into the precomp (=prerender) directory." M {--------------->}}
  464. addUserKnob {22 w_reload l Reload t "Reload Tasks" -STARTLINE T sceneControl.kenvWriteReloadSubTasks(nuke.thisNode())}
  465. addUserKnob {1 element l Element t "Optional Specifier. For example \[BG]_denoise. \[FG]_denoise."}
  466. addUserKnob {1 info l Info t "Optional Info before Framenumber.\nPRO_comp3d_001_010.comp3d_v008.\[acescg].%04d.exr"}
  467. addUserKnob {22 set l Set t "Set Output Path of this node" T sceneControl.kenvWriteSetPath(nuke.thisNode()) +STARTLINE}
  468. addUserKnob {26 divider1 l "" +STARTLINE}
  469. addUserKnob {6 ignore l "ignore in sceneControl" -STARTLINE}
  470. addUserKnob {26 divider2 l "" +STARTLINE}
  471. addUserKnob {22 playinrv l "Play in RV" t "Opens new instance of RV" T playInRV.playInRV(nuke.thisNode().knob('file').getValue(),0) +STARTLINE}
  472. addUserKnob {22 pushtorv l "Push to RV" t "Push to tagged RV. Will open RV and uses this instance to directly push sequences." -STARTLINE T playInRV.playInRV(nuke.thisNode().knob('file').getValue(),1)}
  473. addUserKnob {22 pushtorvappend l "Push to RV (append)" t "Push to RV and append to existing sources" -STARTLINE T playInRV.playInRV(nuke.thisNode().knob('file').getValue(),2)}
  474. addUserKnob {26 divider3 l "" +STARTLINE}
  475. addUserKnob {22 explore l Explore t "Open Folder" -STARTLINE T exploreThis.exploreThis()}
  476. addUserKnob {78 ver l Version +HIDDEN n 1}
  477. ver 1
  478. }
  479. NoOp {
  480. inputs 0
  481. name sceneCtrl
  482. tile_color 0x3379a401
  483. label "_\n__"
  484. selected true
  485. hide_input true
  486. addUserKnob {20 main l Main}
  487. addUserKnob {1 project l Project t "Project Shortname"}
  488. project HOTZ
  489. addUserKnob {4 dept l Dept t "Department. Changes tasks and servers." -STARTLINE M {comp anim cam dev model layout lookdev light shots sim}}
  490. addUserKnob {4 task l Task -STARTLINE M {comp denoise key layout neutralgrade prep stabilize dev}}
  491. addUserKnob {1 element l Element t "Optional Element." -STARTLINE}
  492. addUserKnob {22 reloadConfig l Reload t "Reload project config file." -STARTLINE T sceneControl.kenvDelete()}
  493. addUserKnob {1 season l Season +HIDDEN}
  494. season 01
  495. addUserKnob {1 episode l Episode +HIDDEN}
  496. episode 101
  497. addUserKnob {26 divider1 l "" +STARTLINE}
  498. addUserKnob {1 sequence l Seq t "can be a sequence number or gen when doing generic tasks.\n\ncomp_001_010.comp_v01.ms.nk\ncomp_gen.footageIngest_v01.ms.nk"}
  499. sequence 001
  500. addUserKnob {1 shot l Shot t "can be a shot number or gen in a multiShot context.\n\ncomp_001_010.comp_v01.ms.nk\ncomp_001_gen.comp_v01.ms.nk" -STARTLINE}
  501. shot 010
  502. addUserKnob {3 major_version l Major t "Increment Major Version and save script"}
  503. major_version 1
  504. addUserKnob {22 increment_major_version l + -STARTLINE T sceneControl.increment_major_version()}
  505. addUserKnob {3 minor_version l Minor t "Increment Minor Version and save script" -STARTLINE}
  506. minor_version 1
  507. addUserKnob {22 increment_minor_version l + -STARTLINE T sceneControl.increment_minor_version()}
  508. addUserKnob {22 save_script l Save t "Save Script with current Major and Minor" -STARTLINE T sceneControl.save_script()}
  509. addUserKnob {6 overwrite l Overwrite t "Automatically overwrite Scriptfiles without asking." -STARTLINE}
  510. addUserKnob {1 info l Info t "Additional (mandatory) File Info."}
  511. addUserKnob {1 user l User t "User Short. Reading Env Variable: USER" -STARTLINE}
  512. user ms
  513. addUserKnob {26 divider2 l "" +STARTLINE}
  514. addUserKnob {1 folder l Folder t "Save folder Preview." +DISABLED}
  515. folder "\$env(PROJECT_ROOT_2D)/300_work2D/comp/001/010/"
  516. addUserKnob {6 useEnvProjectRoot l "Use Env Project Root" t "Use env variables for 2d and 3d servers set in the site_config.\nUse these env variables before nuke startup." -STARTLINE}
  517. useEnvProjectRoot true
  518. addUserKnob {1 file l File t "Save file Preview." +DISABLED}
  519. file HOT_comp_001_010.comp_v001.001.ms.nk
  520. addUserKnob {26 divider3 l "" +STARTLINE}
  521. addUserKnob {3 fStart l Start t Startframe}
  522. fStart 1001
  523. addUserKnob {3 fCutIn l CutIn t CutIn -STARTLINE}
  524. fCutIn 1001
  525. addUserKnob {3 fCutOut l CutOut t CutOut -STARTLINE}
  526. fCutOut 1001
  527. addUserKnob {3 fEnd l End t Endframe -STARTLINE}
  528. fEnd 1001
  529. addUserKnob {22 get_framerange l "Get Range" t "Get Framerange from FTrack.\nPlease check you firewall rules and and allow ftrack ip 104.155.3.128 on port 443" -STARTLINE T sceneControl.get_framerange(nuke.thisNode())}
  530. addUserKnob {22 set_framerange l "Set Range" t "Set Framerange from SceneControl Interface" -STARTLINE T sceneControl.set_framerange(nuke.thisNode())}
  531. addUserKnob {43 comment l Comment}
  532. addUserKnob {3 layerNum l Slots +HIDDEN}
  533. addUserKnob {1 eval_helper +HIDDEN}
  534. addUserKnob {6 stereoToggle l "Stereo Toggle" -STARTLINE +HIDDEN}
  535. addUserKnob {1 precomp_output l "Precomp Output" +HIDDEN}
  536. addUserKnob {6 debug l Debug -STARTLINE +HIDDEN}
  537. debug true
  538. }
  539. end_group
  540. # Creation Time=Wed Jul 7 12:46:20 2021
  541. # Creator=Martin