Batch Processing
This dialog allows one to kick off a batch job, ostensibly of img, to process multple images.

The fields work as follows:
- Directory: Specifies the working directory within which to kick off the batch job. If
an image was opened in rawproc, this will be the directory from which it came; if no image is
opened, the path is taken from the app.start.path property. The directory path can be modified by
clicking the folder button.
- Term Command: Specifies the program to be used to "shell" the img program. rawproc comes with
a simple GUI-based shell called wxcmd, which is designed to run a single command or script. The entry
is taken from the batch.termcommand property, which defaults to "wxcmd". This implies wxcmd is in the $PATH
variable. One can modify this property to include a full path, as well as command line options for the term
command. wxcmd will take one switch, '-x' which tells it to exit after the batch job is done, otherwise wxcmd's
window stays open until dismissed. The term command is kicked off as a process separate from rawproc; if left
open after the batch command is finished, the shell window will persist after rawproc is exited.
- Img Command: Specifies the program to be used to do the image modification. The entry is taken
from the batch.imgcommand property,which defaults to "img". See the img help page for the switches it will take.
- Input File Specification:Whatever is specified here will be inserted as the input to the img command,
the first parameter after 'img'. If there is no file opened in rawproc, this entry will be populated from the
batch.inputspec property; otherwise, a wildcard specification, e.g., "*.NEF" will be created from the opened file name.
- Output File Specification: Whatever is specified here will be inserted as the output to the img command,
the last parameter of the command line. If an opened file in rawproc has been saved, or a open-source file has been opened,
a wildcard specification, e.g., "*.jpg", will be created from the saved (or open-sourced) file name/path. Otherwise,
the entry will be populated from the batch.outputspec property.
- Tool Chain: If there is an opened file in rawproc, this entry is populated with the toolchain applied
to it as of the opening of the batch dialog. If not, this entry is populated with the toolchain specified in the
batch.toolchain property.
- Dismiss Button: Dismisses the batch dialog. If a batch job is in work, it will continue to run.
- Process Button: Kicks of the batch job as a separate process.
- Show Button: Displays a dialog box with the complete command line executed by the Process button, and
copies it to the system clipboard.
As of version 1.0.1, rawproc defaults for the above fields are set up to process Nikon NEFs to 800x600 proof JPEGs, with the raw
files residing in a subdirectory of the location where the proofs will be placed. Edit the properties to your needs and
tastes...
The wxcmd window from the execution of the above batch dialog looks like this:

The "WXCMD: PROCESS TERMINATED." line was inserted by wxcmd when the batch job was complete; otherwise all the text
in the wxcmd window was from the execution of img with the input file spec, the toolchain and the output file spec from
the batch dialog. The wxcmd buttons do the following:
- Kill and Dismiss: This button will kill the batch job at whatever point the button was pressed, and
dismiss the wxcmd window. This button will just dismiss the wxcmd window if the batch job is already complete.
- Kill: This button will kill the batch job at whatever point the button was pressed. The wxcmd window
will remain open to be dismissed separately. If the button is pressed during a batch execution,
"WXCMD: KILL SIGNAL SENT TO PROCESS." will be inserted in the wxcmd window. Note that the place this message is
inserted probably will not correspond to where the batch job terminates. If the button is pressed after the
batch job is complete, "WXCMD: PROCESS ALREADY DEAD." will be inserted in the wxcmd window.
will be inserted in the wxcmd window.
Remember, the wxcmd window is a separate process, so you might want to specify "wxcmd -x" in the batch.termcommand
property so these windows don't collect on the desktop.
Here's the use case that compelled me to add this capability. When I shoot a session or day's worth of images, I
batch process them to proof JPEGs with a separate script. The JPEGs end up in the top directory for the session, and the
raw files are in a subdirectory called 'NEFs' (Nikon raws...). I'll review the proofs, and open-source any in rawproc to
which I want to do further work. If I then want to apply the same processing to a group of other images in the same session,
I'll open a batch dialog which will contain the processing tool chain and the input and output file specs appropriate to the
working directory. I'll then delete the JPEGs I want to re-process, and then kick off the batch job. img by default will
skip ouput files that already exist, so the batch job will simply re-process the images where I deleted the proof JPEGs, with
the new processing from rawproc. The above batch dialog and wxcmd screenshots depict just this use case...
Properties: See batch.* in Configuration Properties