[Bf-blender-cvs] [e4278b72bb1] master: T84815: Missing preview image in compositing file output node
Pierre Risch
noreply at git.blender.org
Mon Mar 21 10:56:41 CET 2022
Commit: e4278b72bb1a658d2187040bd5c71c598b6c16d4
Author: Pierre Risch
Date: Mon Mar 21 10:53:13 2022 +0100
Branches: master
https://developer.blender.org/rBe4278b72bb1a658d2187040bd5c71c598b6c16d4
T84815: Missing preview image in compositing file output node
Hello,
I saw that this revision was stalled for a few months so I tried to update it.
https://developer.blender.org/D10995
I added a function that adds a preview on the first connected input of the file output node.
I removed the preview on the single layer format
Thanks
Reviewed By: #compositing, jbakker
Maniphest Tasks: T84815
Differential Revision: https://developer.blender.org/D14219
===================================================================
M source/blender/compositor/nodes/COM_OutputFileNode.cc
M source/blender/compositor/nodes/COM_OutputFileNode.h
===================================================================
diff --git a/source/blender/compositor/nodes/COM_OutputFileNode.cc b/source/blender/compositor/nodes/COM_OutputFileNode.cc
index b0568dc308e..ab5898c526d 100644
--- a/source/blender/compositor/nodes/COM_OutputFileNode.cc
+++ b/source/blender/compositor/nodes/COM_OutputFileNode.cc
@@ -35,12 +35,22 @@ void OutputFileNode::map_input_sockets(NodeConverter &converter,
}
}
+void OutputFileNode::add_preview_to_first_linked_input(NodeConverter &converter) const
+{
+ NodeInput *first_socket = this->get_input_socket(0);
+ if (first_socket->is_linked()) {
+ converter.add_node_input_preview(first_socket);
+ }
+}
+
void OutputFileNode::convert_to_operations(NodeConverter &converter,
const CompositorContext &context) const
{
NodeImageMultiFile *storage = (NodeImageMultiFile *)this->get_bnode()->storage;
const bool is_multiview = (context.get_render_data()->scemode & R_MULTIVIEW) != 0;
+ add_preview_to_first_linked_input(converter);
+
if (!context.is_rendering()) {
/* only output files when rendering a sequence -
* otherwise, it overwrites the output files just
@@ -81,7 +91,6 @@ void OutputFileNode::convert_to_operations(NodeConverter &converter,
map_input_sockets(converter, *output_operation);
}
else { /* single layer format */
- bool preview_added = false;
for (NodeInput *input : inputs_) {
if (input->is_linked()) {
NodeImageMultiFileSocket *sockdata =
@@ -133,11 +142,6 @@ void OutputFileNode::convert_to_operations(NodeConverter &converter,
converter.add_operation(output_operation);
converter.map_input_socket(input, output_operation->get_input_socket(0));
-
- if (!preview_added) {
- converter.add_node_input_preview(input);
- preview_added = true;
- }
}
}
}
diff --git a/source/blender/compositor/nodes/COM_OutputFileNode.h b/source/blender/compositor/nodes/COM_OutputFileNode.h
index be2464c1888..61d8700270e 100644
--- a/source/blender/compositor/nodes/COM_OutputFileNode.h
+++ b/source/blender/compositor/nodes/COM_OutputFileNode.h
@@ -22,6 +22,7 @@ class OutputFileNode : public Node {
const CompositorContext &context) const override;
private:
+ void add_preview_to_first_linked_input(NodeConverter &converter) const;
void add_input_sockets(OutputOpenExrMultiLayerOperation &operation) const;
void map_input_sockets(NodeConverter &converter,
OutputOpenExrMultiLayerOperation &operation) const;
More information about the Bf-blender-cvs
mailing list