Beep6581 / RawTherapee

A powerful cross-platform raw photo processing program
https://rawtherapee.com
GNU General Public License v3.0
2.91k stars 324 forks source link

Add file format specifier to batch queue output location template #7196

Open digitalteg opened 2 months ago

digitalteg commented 2 months ago

For the batch queue output location template, it would be helpful to have a specifier for the file format.

Usually when processing my files with the batch queue, I output in more than one file format. For example, I might process once, writing .jpg files and then a second time writing out .png files.

For the output location, I use something like "%p1/converted_jpg/%f" for the jpg files to output in a folder called converted_jpg in the source photo's folder. Then, when I output to the .png format, I (hopefully remember to) change the output location to "%p1/converted_png/%f".

I propose adding a "%e" specifier that is replaced with the output format. That way, I can use an output location of "%p1/converted_%e/%f" that works in both cases. A different specifier than "%e" could be used. I picked "e" for extension.

I think this capability would be helpful for anyone who wants to output in folders with the format included in the name.

I've added this capability to my own compiled version of RawTherapee. I've attached a diff.

There were only a few minor changes required to make this update. I only updated rtgui/batchqueue.h and rtgui/batchqueue/cc. I added a third argument (the format) to the calcAutoFileNameBase function, which is where the template is expanded. This function appears to be called from a couple other place in the code with only a single argument. My limited testing did not specifically ensure that I didn't break anything when the function is called this way. I also didn't update the full instructions that come up when you press the "?" button.

digitalteg commented 2 months ago

I thought I had added an attachment with the diff from where I added this capability to my compiled version of RawTherappe. But, it looks like I didn't. I'm attaching it here. rt.diff.txt