Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1575)

Issue 5666047: Multi File Output Node (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years, 1 month ago by lukas.toenne
Modified:
11 years, 11 months ago
Reviewers:
brechtvl, bf-codereview
Base URL:
https://svn.blender.org/svnroot/bf-blender/trunk/blender/
Visibility:
Public.

Description

Adds a new node type for saving multiple image files from a single node. Unlike the existing file output node this node has an arbitrary number of possible input slots. It has a base path string that can be set to a general base folder. Every input socket then uses its name as an extension of the base path for file organization. This can include further subfolders on top of the base path. Example: Base path: '/home/user/myproject' Input 1: 'Compo' Input 2: 'Diffuse/' Input 3: 'details/Normals' would create output files in /home/user/myproject: Compo0001.png, Compo0002.png, ... in /home/user/myproject/Diffuse: 0001.png, 0002.png, ... (no filename base given) in /home/user/myproject/details: Normals0001.png, Normals0002.png, ... Most settings for the node can be found in the sidebar (NKEY). New input sockets can be added with the "Add Input" button. There is a list of input sockets and below that the details for each socket can be changed, including the sub-path and filename. Sockets can be removed here as well. By default each socket uses the render settings file output format, but each can use its own format if necessary. To my knowledge this is the first node making use of such dynamic sockets in trunk. So this is also a design test, other nodes might use this in the future. Adding operator buttons on top of a node is a bit unwieldy atm, because all node operators generally work on selected and/or active node(s). The operator button would therefore either have to make sure the node is activated before the operator is called (block callback maybe?) OR it has to store the node name (risky, weak reference). For now it is only used in the sidebar, where only the active node's buttons are displayed. Also adds a new struct_type value to bNodeSocket, in order to distinguish different socket types with the same data type (file inputs are SOCK_RGBA color sockets). Would be nicer to use data type only for actual data evaluation, but used in too many places, this works ok for now.

Patch Set 1 #

Total comments: 10

Patch Set 2 : Implemented some proposed changes #

Patch Set 3 : Added mute functions to allow quick disabling of file output nodes #

Patch Set 4 : Implemented discussed changes, see following mail #

Total comments: 8
Unified diffs Side-by-side diffs Delta from patch set Stats (+410 lines, -275 lines) Patch
source/blender/blenkernel/BKE_blender.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
source/blender/blenkernel/BKE_node.h View 1 2 3 3 chunks +5 lines, -3 lines 0 comments Download
source/blender/blenkernel/intern/node.c View 1 2 3 2 chunks +13 lines, -1 line 0 comments Download
source/blender/blenloader/intern/readfile.c View 1 2 3 2 chunks +84 lines, -0 lines 0 comments Download
source/blender/blenloader/intern/writefile.c View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
source/blender/editors/space_node/drawnode.c View 1 2 3 3 chunks +55 lines, -49 lines 0 comments Download
source/blender/editors/space_node/node_edit.c View 1 2 3 3 chunks +19 lines, -21 lines 0 comments Download
source/blender/editors/space_node/node_intern.h View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
source/blender/editors/space_node/node_ops.c View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
source/blender/makesdna/DNA_node_types.h View 1 2 3 3 chunks +5 lines, -4 lines 0 comments Download
source/blender/makesrna/RNA_access.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
source/blender/makesrna/intern/rna_nodetree.c View 1 2 3 5 chunks +13 lines, -60 lines 0 comments Download
source/blender/makesrna/intern/rna_nodetree_types.h View 1 2 3 1 chunk +0 lines, -1 line 0 comments Download
source/blender/nodes/CMakeLists.txt View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
source/blender/nodes/NOD_composite.h View 1 2 3 1 chunk +0 lines, -1 line 0 comments Download
source/blender/nodes/composite/nodes/node_composite_outputFile.c View 1 2 3 6 chunks +205 lines, -128 lines 8 comments Download

Messages

Total messages: 12
lukas.toenne
12 years, 1 month ago (2012-02-14 11:17:17 UTC) #1
brechtvl
Is there any particular reason to create a new node rather than extending the File ...
12 years, 1 month ago (2012-02-21 12:27:53 UTC) #2
lukas.toenne
http://codereview.appspot.com/5666047/diff/1/source/blender/editors/space_node/node_header.c File source/blender/editors/space_node/node_header.c (right): http://codereview.appspot.com/5666047/diff/1/source/blender/editors/space_node/node_header.c#newcode117 source/blender/editors/space_node/node_header.c:117: ntemp.r = &scene->r; On 2012/02/21 12:27:53, brechtvl wrote: > ...
12 years, 1 month ago (2012-02-22 11:56:37 UTC) #3
lukas.toenne
Implemented some proposed changes
12 years, 1 month ago (2012-02-22 11:57:33 UTC) #4
lukas.toenne
Added mute functions to allow quick disabling of file output nodes
12 years, 1 month ago (2012-02-22 12:11:02 UTC) #5
brechtvl
You committed this now, but I still do not agree with the design decisions. File ...
12 years, 1 month ago (2012-02-22 12:55:35 UTC) #6
lukas.toenne
On 2012/02/22 12:55:35, brechtvl wrote: > You committed this now, but I still do not ...
12 years, 1 month ago (2012-02-22 16:34:43 UTC) #7
lukas.toenne
Implemented discussed changes, see following mail
12 years, 1 month ago (2012-02-29 16:29:12 UTC) #8
lukas.toenne
I have implemented the changes discussed so far. 1) Old CMP_NODE_OUTPUT_FILE and CMP_NODE_OUTPUT_MULTI_FILE have been ...
12 years, 1 month ago (2012-02-29 16:39:41 UTC) #9
brechtvl
http://codereview.appspot.com/5666047/diff/10001/source/blender/nodes/composite/nodes/node_composite_outputFile.c File source/blender/nodes/composite/nodes/node_composite_outputFile.c (right): http://codereview.appspot.com/5666047/diff/10001/source/blender/nodes/composite/nodes/node_composite_outputFile.c#newcode204 source/blender/nodes/composite/nodes/node_composite_outputFile.c:204: * It's an ugly mess, hopefully Tile will do ...
12 years, 1 month ago (2012-02-29 17:02:48 UTC) #10
lukas.toenne
Also fixed the socket display for non-color file output sockets and a minor update issue ...
12 years, 1 month ago (2012-03-01 07:41:33 UTC) #11
brechtvl
12 years, 1 month ago (2012-03-01 10:57:39 UTC) #12
LGTM :)
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b