Problem summary
A user knob of type String_Knob is converted to knob type EvalString_Knob on serialisation.
Customer reported version
nuke.11.1v1
Customer reported platform
centos7
Steps to reproduce
1) Create a Write node.
2) Open the Script Editor.
3) Select the Writer node, then enter and run the following Python commands in the Script Editor. This will add a user knob of type nuke.String_Knob to the Write node, and it will print out the knob type in the Script Editor:
node = nuke.selectedNode()
node.addKnob(nuke.String_Knob('test', 'Test', 'foo bar'))
4) Now, enter and run the following Python commands in the Script Editor. This will display the current knob type of the newly created user knob:
node = nuke.selectedNode()
print type(node['test'])
The result is: <type String_Knob>
5) Copy and paste the Write node to create a duplicate Write node. If you view the properties of the duplicate Write node you will see that the user knob is still present. However, running the Python commands in step 4 with the duplicate Write node selected will show that the user String_Knob has converted to a EvalString_Knob.
The result is: <type EvalString_Knob>
6) This bug is also encountered when saving, closing and reopening a Nuke script. User knobs of the type String_Knob will be converted to the type EvalString_Knob.
Workaround
Unknown. If known please add steps to workaround or avoid the problem
Reproduced by support
This bug has been reproduced in:
Windows10
11.1v3
11.1v1
11.0v4
10.5v7
10.0v6
9.0v9
macOS 10.13
11.1v3
9.0v9
CentOS 7
11.1v3
9.0v9
Earliest version tested
9.0v9 - This issue appears to be in all versions of the product
Expected behaviour
The user knob should retain the initial knob type (String_Knob) on serialisation.
Actual behaviour
User knob type String_Knob converts to Eval_StringKnob on serialisation (duplication and reloading).