State:Closed|icon_bug|icon_nuke|database:public|Resolution:Fixed|TargetRelease:12.1v2|BugID:284030|
Problem summary
Blinkscript causes node_hash metadata value to be randomly generated on render
Customer reported version
nuke.10.5v1
Customer reported platform
suse
Steps to reproduce
1. Open customer script
2. Change write path to local directory of your choice
3. Open terminal and navigate to the appropriate Nuke directory, for me:
cd Applications/Nuke10.5v4/Nuke10.5v4.app/Contents/MacOS/
./Nuke10.5v4 --safe ti /tmp/blink_hash_is_randomly_generate.nk
4. Once Python launches enter the following:
nuke.execute('Write1', 1, 10, 1)
5. Open Nuke and read in rendered footage
6. View rendered footage metadata
7. Note nuke/node_hash value
Result: changes on every render
Workaround
Unknown
Reproduced by support
Reproduced by developer
Nuke 10.5v4 - OSX 10.11.6
*Earliest version tested: *
Nuke 10.5v4 - OSX 10.11.6
Expected behaviour
nuke/node_hash value to not change on every render
Actual behaviour
Multiple instances of RIPPPIop are created. The node_hash, which is based on BlinkScript inputs and parameters, was found to be changing between instances.
When the BlinkScript is first loaded, the SaturationKernel is loaded and its knob, "Saturation", is added to _dynamicKnobData. This value is never removed from that map, but rather when the real kernel is processed its knobs are added to the map. This applies only to firstOp(); other Ops do not load the SaturationKernel.
The value of node_hash is based in part on _dynamicKnobData, which has different keys for each instance. i.e. for a kernel with two knobs, "Size" and "HardMode", in _dynamicKnobData we have:
firstOp: {"Saturation", "Size", "HardMode"}
others: {"Size", "HardMode"}
We're sorry to hear that
Please tell us why