RunScript node

pluginIcon

This documentation is for version 1.0 of RunScript.

Description

Run a script with the given arguments.

This is mostly useful to execute an external program on a set of input images files, which outputs image files.

Writers should be connected to each input, so that the image files are written before running the script, and the output of this node should be fed into one or more Readers, which read the images written by the script.

Sample node graph:

... +- WriteOIIO(scriptinput#####.png) +- RunScript(processes scriptinput#####.png, output is scriptoutput#####.png) +- ReadOIIO(scriptoutput#####.png) +- ...

Keep in mind that the input and output files are never removed in the above graph.

The output of RunScript is a copy of its first input, so that it can be used to execute a script at some point, e.g. to cleanup temporary files, as in:

... +- WriteOIIO(scriptinput#####.png) +- RunScript(processes scriptinput#####.png, output is scriptoutput#####.png) +- ReadOIIO(scriptoutput#####.png) +- RunScript(deletes temporary files scriptinput#####.png and scriptoutput#####.png, optional) +- ...

Each argument may be:

  • A filename (connect an input to an upstream Writer, and link the parameter to the output filename of this writer, or link to the input filename of a downstream Reader)
  • A floating-point value (which can be linked to any plugin)
  • An integer
  • A string

Under Unix, the script should begin with a traditional shebang line, e.g. ‘#!/bin/sh’ or ‘#!/usr/bin/env python’

The arguments can be accessed as usual from the script (in a Unix shell-script, argument 1 would be accessed as “$1” - use double quotes to avoid problems with spaces).

This plugin uses pstream (http://pstreams.sourceforge.net), which is distributed under the GNU LGPLv3.

Inputs

Input Description Optional
1   Yes
2   Yes
3   Yes
4   Yes

Controls

Parameter / script name Type Default Function
Number of Parameters / paramCount Integer 0  
Type of Parameter 1 / type1 Choice File Name

File Name: . A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String: A string (or sequence of characters).
Floating Point: A floating point numerical value.
Integer: An integer numerical value.
File Name1 / filename1 N/A  
A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String1 / string1 String   A string (or sequence of characters).
Floating Point1 / double1 Double 0 A floating point numerical value.
Integer1 / integer1 Integer 0 An integer numerical value.
Type of Parameter 2 / type2 Choice File Name

File Name: . A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String: A string (or sequence of characters).
Floating Point: A floating point numerical value.
Integer: An integer numerical value.
File Name2 / filename2 N/A  
A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String2 / string2 String   A string (or sequence of characters).
Floating Point2 / double2 Double 0 A floating point numerical value.
Integer2 / integer2 Integer 0 An integer numerical value.
Type of Parameter 3 / type3 Choice File Name

File Name: . A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String: A string (or sequence of characters).
Floating Point: A floating point numerical value.
Integer: An integer numerical value.
File Name3 / filename3 N/A  
A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String3 / string3 String   A string (or sequence of characters).
Floating Point3 / double3 Double 0 A floating point numerical value.
Integer3 / integer3 Integer 0 An integer numerical value.
Type of Parameter 4 / type4 Choice File Name

File Name: . A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String: A string (or sequence of characters).
Floating Point: A floating point numerical value.
Integer: An integer numerical value.
File Name4 / filename4 N/A  
A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String4 / string4 String   A string (or sequence of characters).
Floating Point4 / double4 Double 0 A floating point numerical value.
Integer4 / integer4 Integer 0 An integer numerical value.
Type of Parameter 5 / type5 Choice File Name

File Name: . A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String: A string (or sequence of characters).
Floating Point: A floating point numerical value.
Integer: An integer numerical value.
File Name5 / filename5 N/A  
A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String5 / string5 String   A string (or sequence of characters).
Floating Point5 / double5 Double 0 A floating point numerical value.
Integer5 / integer5 Integer 0 An integer numerical value.
Type of Parameter 6 / type6 Choice File Name

File Name: . A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String: A string (or sequence of characters).
Floating Point: A floating point numerical value.
Integer: An integer numerical value.
File Name6 / filename6 N/A  
A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String6 / string6 String   A string (or sequence of characters).
Floating Point6 / double6 Double 0 A floating point numerical value.
Integer6 / integer6 Integer 0 An integer numerical value.
Type of Parameter 7 / type7 Choice File Name

File Name: . A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String: A string (or sequence of characters).
Floating Point: A floating point numerical value.
Integer: An integer numerical value.
File Name7 / filename7 N/A  
A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String7 / string7 String   A string (or sequence of characters).
Floating Point7 / double7 Double 0 A floating point numerical value.
Integer7 / integer7 Integer 0 An integer numerical value.
Type of Parameter 8 / type8 Choice File Name

File Name: . A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String: A string (or sequence of characters).
Floating Point: A floating point numerical value.
Integer: An integer numerical value.
File Name8 / filename8 N/A  
A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String8 / string8 String   A string (or sequence of characters).
Floating Point8 / double8 Double 0 A floating point numerical value.
Integer8 / integer8 Integer 0 An integer numerical value.
Type of Parameter 9 / type9 Choice File Name

File Name: . A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String: A string (or sequence of characters).
Floating Point: A floating point numerical value.
Integer: An integer numerical value.
File Name9 / filename9 N/A  
A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String9 / string9 String   A string (or sequence of characters).
Floating Point9 / double9 Double 0 A floating point numerical value.
Integer9 / integer9 Integer 0 An integer numerical value.
Type of Parameter 10 / type10 Choice File Name

File Name: . A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String: A string (or sequence of characters).
Floating Point: A floating point numerical value.
Integer: An integer numerical value.
File Name10 / filename10 N/A  
A constant or animated string containing a filename.
If the string contains hashes (like ####) or a printf token (like %04d), they will be replaced by the frame number, and if it contains %v or %V, it will be replaced by the view ID (“l” or “r” for %v, “left” or “right” for %V).
This is usually linked to the output filename of an upstream Writer node, or to the input filename of a downstream Reader node.
String10 / string10 String   A string (or sequence of characters).
Floating Point10 / double10 Double 0 A floating point numerical value.
Integer10 / integer10 Integer 0 An integer numerical value.
Script / script String #!/bin/sh
Contents of the script. Under Unix, the script should begin with a traditional shebang line, e.g. ‘#!/bin/sh’ or ‘#!/usr/bin/env python’
The arguments can be accessed as usual from the script (in a Unix shell-script, argument 1 would be accessed as “$1” - use double quotes to avoid problems with spaces).
Validate / validate Boolean Off Validate the script contents and execute it on next render. This locks the script and all its parameters.