Problem summary: Soft Effects won't load on different operating systems if they contain a FreeType_Knob set to a system font.
Customer reported version: Hiero 14.0v2
Customer reported platform: macOS N/A
Steps to reproduce: 1) Launch Nuke, open a Script Editor window, and run the following code:
from PySide2 import QtGuifonts = QtGui.QFontDatabase().families()grp = nuke.createNode("Group")fontKnob = nuke.FreeType_Knob("fontpy", "font label")for font in fonts: try: fontKnob.setValue(font, "Regular") break except: print("%s is not a valid Nuke font, skipping"%font) grp.addKnob(fontKnob)
2) This code creates a Group node and adds a FreeType_Knob set to the first valid system font. Open the Group's Node tab and use the export as gizmo... button to Save it as test_effect.gizmo: 3) On a different operating system, download the attached register_custom_soft_effect.py file and place it in the ~/.nuke/Python/Startup directory. 4) Copy the test_effect.gizmo from step 2 into the ~/.nuke folder on this OS. 5) Launch Nuke Studio and import some footage with File > Import File(s)... 6) Add the footage to the Timeline, then open the Clip's Right-click menu and navigate to Soft Effects > test effect 7) Observe the Error that appears: Could not create effect of type test_effect Error: (blank error message)
Expected behavior: Nuke Studio/Hiero should display a warning if the previously set font cannot be located, but should not prevent the Soft Effect from being created outright.
Actual behavior: A blank Error message occurs when attempting to add a Soft Effect containing a system font from a different operating system, which prevents the Soft Effect from being added to the Timeline. Even if the system font is installed on both operating systems, this behavior still occurs.
Additionally, loading the test_effect.gizmo in Nuke also creates a blank Error message. However, the node is created successfully despite this, unlike Soft Effects in Nuke Studio/Hiero:
Workaround: When creating the Gizmo, selecting any of the three fonts that ship with Nuke (Utopia, Courier, or Bitstream Charter) will prevent the error message from occurring. However, please note that at this time the FreeType_Knob always selects Utopia when the Soft Effect is created.
Reproduced by Support in: Nuke Studio 14.0v4 - Windows 10, CentOS 7 Nuke Studio 13.0v1 - CentOS 7 Nuke Studio 12.0v1 - CentOS 7 Nuke Studio 11.0v1 - CentOS 7 Nuke Studio 10.0v1 - Windows 10, CentOS 7
Earliest version tested: Nuke Studio 10.0v1 - This issue appears to be in all tested versions of the product