Write node writing file when just viewing the node

Hi All,

It looks like if you just view a write node (select and hit 1) it actually writes out the file to disk, is there anyway to turn off this behavior so that the write nodes only write out files when I actually click the “render” button?

Natron version 2.3.13.

Thanks in advance!

There’s no reason to put a viewer after a write node. Insert a dot before the write and connect the viewer to it.

Only in very special cases should the output connection of a write node be connected, for example when using the runscript node (see documentation)

You can create a dot with the ‘.’ key
If you absolutely want to connect the viewer to the write node, you can also disable the write node by selecting it and typing ‘d’

Hmm interesting.

Coming from production in Nuke, viewing the write node is kinda standard way to view your comp just before you render it, as the Nuke write node does not write a file by just viewing it.

Having such an easy way to mistakenly overwrite your production frames (even just accidentally selecting it and hitting a number on your keyboard can fully overwrite a frame with no warning), is pretty scary for projects with lots of artists and long hours.

I guess to counter your point, from a production point of view, there is no reason to ever have a write node just write a file and possibly overwrite files that the artist wished to keep, without having the artist decide to render out the file, by hitting the “Render” button on the write node.

Thanks for your input and suggested work-arounds.

Note that there is also an “overwrite” check box in the Write node which prevents is from overwriting frames when unchecked.

Just disable the write node if you really want to connect your viewer to it.

Note what you consider an issue with Natron comes with a feature: do you know a way to execute an external program somewhere in your graph in Nuke? AFAIK there is no way to do it. In Natron, just use RunScript.

Thanks again for your feedback!

Workflow wise, the “overwrite” checkbox work-around comes with a bit of a flaw.

If an artist is working in a comp, and the write node is pointing to an empty directory, even with the “Overwrite” option unchecked, if no file exists, and the artist accidentally or on purpose selects and views a write node (easy to do since the standard workflow is to select nodes and hit 1 to view it) a file is written, but there is nothing that indicates that it has done so. The artist then continues to work and wishes to write out the comp, so they hit the “Render” button. With the overwrite option still off, we will end up with a final comp output with frames that were previously written, mixed with final frames.

I understand that in this case, the artist should have just checked “Overwrite” back on, and re-rendered out the comp, so at this point, unless the artist has always remembered to disable the write node, or never select a write node viewed it, you will have to render out the comp at least twice.

Another thing that we have run into is if an artist has accidentally viewed the node, and dragged or accidentally selected a frame outside your global range (I.E accidentally typed in frame 111 instead of 11), then frame 111 gets written to disk, and would need to be manually cleaned up.

We understand that we can ask/hope artists make sure the node is just left disabled. We just have not seen this behavior on write nodes in any of the other compositing software we are familiar with, so we thought it was just a preference in Natron or on the write node itself that we just couldn’t find.

And yes, RunScript is a really cool node! Our Comp/Lighting TD’s could have fun with that in special use cases. Our main concern was that, while RunScript is a great node for certain things, everyone uses write nodes, and since final output frames are the most important part of the software, having the ability to accidentally overwrite them without warning by a simple miss click is fairly scary when it comes to production.

Thank you again for taking the time to respond to my question!