From 2834c16dec124522bdd68914192823de61ff8675 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Mon, 24 Jun 2024 12:25:47 +0200 Subject: [PATCH 1/2] Skip viewers that are not currently visible --- .../houdini/client/ayon_houdini/api/lib.py | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/server_addon/houdini/client/ayon_houdini/api/lib.py b/server_addon/houdini/client/ayon_houdini/api/lib.py index 671265fae9..29fb038de0 100644 --- a/server_addon/houdini/client/ayon_houdini/api/lib.py +++ b/server_addon/houdini/client/ayon_houdini/api/lib.py @@ -1038,17 +1038,25 @@ def add_self_publish_button(node): node.setParmTemplateGroup(template) -def get_scene_viewer(): +def get_scene_viewer(visible_only=True): """ Return an instance of a visible viewport. There may be many, some could be closed, any visible are current + Arguments: + visible_only (Optional[bool]): Only return viewers that currently + are the active tab (and hence are visible). + Returns: Optional[hou.SceneViewer]: A scene viewer, if any. """ panes = hou.ui.paneTabs() panes = [x for x in panes if x.type() == hou.paneTabType.SceneViewer] + + if visible_only: + return next((pane for pane in panes if pane.isCurrentTab()), None) + panes = sorted(panes, key=lambda x: x.isCurrentTab()) if panes: return panes[-1] @@ -1067,12 +1075,10 @@ def sceneview_snapshot( So, it's capable of generating snapshots image sequence. It works in different Houdini context e.g. Objects, Solaris - Example: - This is how the function can be used:: - - from ayon_houdini.api import lib - sceneview = hou.ui.paneTabOfType(hou.paneTabType.SceneViewer) - lib.sceneview_snapshot(sceneview) + Example:: + >>> from ayon_houdini.api import lib + >>> sceneview = hou.ui.paneTabOfType(hou.paneTabType.SceneViewer) + >>> lib.sceneview_snapshot(sceneview) Notes: .png output will render poorly, so use .jpg. From 32f6d4941fb8106f0fb71cf3cb9f113d893198e1 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Tue, 25 Jun 2024 15:06:52 +0200 Subject: [PATCH 2/2] Bump houdini addon version --- server_addon/houdini/client/ayon_houdini/version.py | 2 +- server_addon/houdini/package.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/server_addon/houdini/client/ayon_houdini/version.py b/server_addon/houdini/client/ayon_houdini/version.py index 5c32b4860e..3dbbb4c23e 100644 --- a/server_addon/houdini/client/ayon_houdini/version.py +++ b/server_addon/houdini/client/ayon_houdini/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- """Package declaring AYON addon 'houdini' version.""" -__version__ = "0.3.6" +__version__ = "0.3.7" diff --git a/server_addon/houdini/package.py b/server_addon/houdini/package.py index fb345dab51..c01cc6044d 100644 --- a/server_addon/houdini/package.py +++ b/server_addon/houdini/package.py @@ -1,6 +1,6 @@ name = "houdini" title = "Houdini" -version = "0.3.6" +version = "0.3.7" client_dir = "ayon_houdini"