From 8d8779afa3a96e66a7c9079272a2c0127b9147e1 Mon Sep 17 00:00:00 2001
From: Greg <gregzzmail@gmail.com>
Date: Tue, 9 Aug 2016 11:44:34 +0200
Subject: [PATCH] Node Wrangler: (by @gandalf3 ) Improve volume workflow by
 keeping viewer outputs the same if it's already connected

---
 node_wrangler.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/node_wrangler.py b/node_wrangler.py
index d289bc10f..dd26d91f6 100644
--- a/node_wrangler.py
+++ b/node_wrangler.py
@@ -1619,7 +1619,13 @@ class NWEmissionViewer(Operator, NWBase):
                         else:
                             emission = emission_placeholder
                         make_links.append((active.outputs[out_i], emission.inputs[0]))
-                        make_links.append((emission.outputs[0], materialout.inputs[0]))
+
+                        # If Viewer is connected to output by user, don't change those connections (patch by gandalf3)
+                        if emission.outputs[0].links.__len__() > 0:
+                            if not emission.outputs[0].links[0].to_node == materialout:
+                                make_links.append((emission.outputs[0], materialout.inputs[0]))
+                        else:
+                            make_links.append((emission.outputs[0], materialout.inputs[0]))
 
                         # Set brightness of viewer to compensate for Film and CM exposure
                         intensity = 1/context.scene.cycles.film_exposure  # Film exposure is a multiplier
-- 
GitLab