git.lucas.co / hou-control
SideFX Houdini customization package
git clone https://git.lucas.co/hou-control.git

commitf97e50437008a85a16f00aafba0818c567a4013f
parent5fdbc7320e
authorLucas Galante <[email protected]>
date2026-09-12 09:27
hc: keep updateNodeColors quiet and out of the HC Panel

It runs on every hip load and at startup, so its status message was
always said when you opened a file rather than when you asked for
anything -- and now that an unchanged scene writes nothing, it mostly
said "0 nodes". The count is still returned for callers that want it.

Dropping the @command takes it back out of the HC Panel too. It is an
automatic maintenance pass, not something to reach for from the command
list; the main menu item stays for the rare manual run.

Co-Authored-By: Claude Opus 5 <[email protected]>

 python3.13libs/hc/hcsession.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/python3.13libs/hc/hcsession.py b/python3.13libs/hc/hcsession.py
index b5cb39d..eb8ecf9 100644
--- a/python3.13libs/hc/hcsession.py
+++ b/python3.13libs/hc/hcsession.py
@@ -491,7 +491,6 @@ class HCSession:
         setattr(hou.session, callback_name, _callback)
         hou.ui.addEventLoopCallback(_callback)
 
-    @command("Update Node Colors")
     def updateNodeColors(self):
         """Recolor HC-managed nodes to the configured default.
 
@@ -556,10 +555,11 @@ class HCSession:
                     except hou.Error:
                         continue
 
-        # 456.py calls this on every hip load, including under hython and
-        # batch renders, where hou.ui does not exist.
-        if hou.isUIAvailable():
-            hou.ui.setStatusMessage(f"Recolored {count} node(s) to {new_hex}")
+        # Deliberately silent. This runs on every hip load and at startup, so
+        # anything it says is said when you opened a file rather than when you
+        # asked for it -- and now that an unchanged scene writes nothing, what
+        # it had to say was almost always "0 nodes". The count is returned for
+        # callers that do want it.
         return count
 
     def keycam(self):