From c0aab09bb7d933bfd180169aec3a93c1fc520b00 Mon Sep 17 00:00:00 2001 From: deltag0 Date: Thu, 7 May 2026 10:34:41 -0400 Subject: [PATCH 1/6] remove logs Signed-off-by: deltag0 --- .../rv-packages/ocio_source_setup/ocio_source_setup.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py b/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py index 1a85247be..0e8e91d13 100644 --- a/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py +++ b/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py @@ -281,6 +281,8 @@ def useSourceOCIO(self, source, nodeType, defaultSetting=""): srcPipeline = groupMemberOfType(commands.nodeGroup(source), pipeSlot) ocioNode = groupMemberOfType(srcPipeline, nodeType) if ocioNode is not None and self.readingSession: + if os.getenv("OCIO") is None: + return for pNode in commands.nodesInGroup(srcPipeline): if commands.nodeType(pNode).startswith("OCIO"): commands.ocioUpdateConfig(pNode) @@ -331,6 +333,9 @@ def useSourceOCIO(self, source, nodeType, defaultSetting=""): if pipeline == DEFAULT_PIPE[pipeSlot]: return + if os.getenv("OCIO") is None: + return + print(("INFO: using %s node for %s %s" % (nodeType, source, pipeSlot))) commands.setStringProperty(srcPipeline + ".pipeline.nodes", pipeline, True) From 77ffaa408117ecfab29ae296dfb6f36991d17a25 Mon Sep 17 00:00:00 2001 From: deltag0 Date: Thu, 7 May 2026 10:50:02 -0400 Subject: [PATCH 2/6] remove log output for any OCIO active display with no env variable Signed-off-by: deltag0 --- src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py b/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py index 0e8e91d13..d371eb26e 100644 --- a/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py +++ b/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py @@ -409,6 +409,9 @@ def useDisplayOCIO(self, group): if pipeline == DEFAULT_PIPE[groupName]: return + if os.getenv("OCIO") is None: + return + device = commands.getStringProperty(group + ".device.name")[0] print(("INFO: using OCIODisplay for display: %s" % device)) From f175370a9bae5013adccb354b26daf8209cc78c4 Mon Sep 17 00:00:00 2001 From: deltag0 Date: Tue, 12 May 2026 13:35:04 -0400 Subject: [PATCH 3/6] use specified config instead of silent failure Signed-off-by: deltag0 --- .../rv-packages/ocio_source_setup/ocio_source_setup.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py b/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py index d371eb26e..1d6855020 100644 --- a/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py +++ b/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py @@ -6,6 +6,7 @@ from rv import rvtypes, commands import os import PyOpenColorIO as OCIO +from PySide6.QtCore import QSettings # # Default implementations of helper methods @@ -282,7 +283,7 @@ def useSourceOCIO(self, source, nodeType, defaultSetting=""): ocioNode = groupMemberOfType(srcPipeline, nodeType) if ocioNode is not None and self.readingSession: if os.getenv("OCIO") is None: - return + os.environ['OCIO'] = self.config for pNode in commands.nodesInGroup(srcPipeline): if commands.nodeType(pNode).startswith("OCIO"): commands.ocioUpdateConfig(pNode) @@ -334,7 +335,7 @@ def useSourceOCIO(self, source, nodeType, defaultSetting=""): return if os.getenv("OCIO") is None: - return + os.environ['OCIO'] = self.config print(("INFO: using %s node for %s %s" % (nodeType, source, pipeSlot))) @@ -410,7 +411,7 @@ def useDisplayOCIO(self, group): return if os.getenv("OCIO") is None: - return + os.environ['OCIO'] = self.config device = commands.getStringProperty(group + ".device.name")[0] print(("INFO: using OCIODisplay for display: %s" % device)) From 8887a79643de82b92d104a419dead07272ae3dab Mon Sep 17 00:00:00 2001 From: deltag0 Date: Tue, 12 May 2026 13:46:45 -0400 Subject: [PATCH 4/6] format fix Signed-off-by: deltag0 --- .../rv-packages/ocio_source_setup/ocio_source_setup.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py b/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py index 1d6855020..7a5643191 100644 --- a/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py +++ b/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py @@ -6,7 +6,6 @@ from rv import rvtypes, commands import os import PyOpenColorIO as OCIO -from PySide6.QtCore import QSettings # # Default implementations of helper methods @@ -283,7 +282,7 @@ def useSourceOCIO(self, source, nodeType, defaultSetting=""): ocioNode = groupMemberOfType(srcPipeline, nodeType) if ocioNode is not None and self.readingSession: if os.getenv("OCIO") is None: - os.environ['OCIO'] = self.config + os.environ["OCIO"] = self.config for pNode in commands.nodesInGroup(srcPipeline): if commands.nodeType(pNode).startswith("OCIO"): commands.ocioUpdateConfig(pNode) @@ -335,7 +334,7 @@ def useSourceOCIO(self, source, nodeType, defaultSetting=""): return if os.getenv("OCIO") is None: - os.environ['OCIO'] = self.config + os.environ["OCIO"] = self.config print(("INFO: using %s node for %s %s" % (nodeType, source, pipeSlot))) @@ -411,7 +410,7 @@ def useDisplayOCIO(self, group): return if os.getenv("OCIO") is None: - os.environ['OCIO'] = self.config + os.environ["OCIO"] = self.config device = commands.getStringProperty(group + ".device.name")[0] print(("INFO: using OCIODisplay for display: %s" % device)) From d77d0785d6a31cd0f1c98ebbd36ec9b6aed1be10 Mon Sep 17 00:00:00 2001 From: deltag0 Date: Tue, 12 May 2026 15:54:35 -0400 Subject: [PATCH 5/6] save OCIO in settings Signed-off-by: deltag0 --- .../ocio_source_setup/ocio_source_setup.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py b/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py index 7a5643191..8abb539cb 100644 --- a/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py +++ b/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py @@ -281,8 +281,6 @@ def useSourceOCIO(self, source, nodeType, defaultSetting=""): srcPipeline = groupMemberOfType(commands.nodeGroup(source), pipeSlot) ocioNode = groupMemberOfType(srcPipeline, nodeType) if ocioNode is not None and self.readingSession: - if os.getenv("OCIO") is None: - os.environ["OCIO"] = self.config for pNode in commands.nodesInGroup(srcPipeline): if commands.nodeType(pNode).startswith("OCIO"): commands.ocioUpdateConfig(pNode) @@ -333,9 +331,6 @@ def useSourceOCIO(self, source, nodeType, defaultSetting=""): if pipeline == DEFAULT_PIPE[pipeSlot]: return - if os.getenv("OCIO") is None: - os.environ["OCIO"] = self.config - print(("INFO: using %s node for %s %s" % (nodeType, source, pipeSlot))) commands.setStringProperty(srcPipeline + ".pipeline.nodes", pipeline, True) @@ -409,9 +404,6 @@ def useDisplayOCIO(self, group): if pipeline == DEFAULT_PIPE[groupName]: return - if os.getenv("OCIO") is None: - os.environ["OCIO"] = self.config - device = commands.getStringProperty(group + ".device.name")[0] print(("INFO: using OCIODisplay for display: %s" % device)) @@ -536,8 +528,10 @@ def selectConfig(self, event): try: config = commands.openFileDialog(True, False, False, "ocio|OCIO Config", None)[0] self.config = OCIO.Config.CreateFromFile(config) + os.environ["OCIO"] = config OCIO.SetCurrentConfig(self.config) commands.defineModeMenu("OCIO Source Setup", self.buildOCIOMenu(), True) + commands.writeSettings("ocio_source_setup", "ocio_config", config) except Exception as inst: print(inst) @@ -676,7 +670,8 @@ def addMenu(root, isSingle): ) ) - final = [ + final = [("Change Config...", self.selectConfig, None, None)] + final += [ ("Current Source", None, None, lambda: commands.DisabledMenuState), (" File Color Space", cssList), ] @@ -724,6 +719,12 @@ def __init__(self): except ImportError: pass + + if os.getenv("OCIO") is None: + config = commands.readSettings("ocio_source_setup", "ocio_config", "") + if config != "": + os.environ["OCIO"] = config + self.init( "OCIO Source Setup", None, From 4f42ab7ea11fbc1ab7b05779b11a0ad00b9c28d6 Mon Sep 17 00:00:00 2001 From: deltag0 Date: Tue, 12 May 2026 15:56:42 -0400 Subject: [PATCH 6/6] format fix Signed-off-by: deltag0 --- src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py b/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py index 8abb539cb..2d7bdd987 100644 --- a/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py +++ b/src/plugins/rv-packages/ocio_source_setup/ocio_source_setup.py @@ -719,7 +719,6 @@ def __init__(self): except ImportError: pass - if os.getenv("OCIO") is None: config = commands.readSettings("ocio_source_setup", "ocio_config", "") if config != "":