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
This commit is contained in:
parent
9ed63ebb45
commit
e4278b72bb
Notes:
blender-bot
2023-02-14 02:13:08 +01:00
Referenced by commit 9644740230
, Fix T99949: Crash when last input from File Output node is deleted
Referenced by issue #99949, Regression: Crash when last input from File Output node is deleted
Referenced by issue #84815, Missing preview image in compositing file output node
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue