Retrobatch 2.0
November 6th, 2023.
Retrobatch 2.0 includes a new dark UI, a bunch of new nodes, new features, refinements in existing nodes and UI, plus much more.
# New Nodes
- New "Super Resolution" node, which uses machine learning to scale up your image 4x its size.
- New "Film Grain" node. Does what you think it does. Combine it with a Vignette to make your photos look older and analog!
- New "Get Selected Finder Images" node, which will use any selected images in the Finder for your processing (not available in App Store version).
- New GPS node, which will allow you to assign a specific location to your images using the GPS image metadata fields.
- New "Photos Export" node which replaces the "Photos Library" node (which Apple has deprecated libraries it uses). This new node will download from iCloud as well as export the unmodified originals from Photos, including RAW photos.
- New "Photos Library Import" where you can send images to a specific album in your Photos library.
- New "Photos Library Modify" which will send an image back to the Photos Library from which it came. If you want to modify a set of images all the same way, this is a good way to go.
- New "1Bit" node which turns your images into 1bit images.
- New "Finder Icon Writer" which will use the processed image to write back an icon in the Finder for the original image being processed. If you've ever wanted custom thumbnails for an image, this is the way.
- New "Quit Retrobatch" node which will quit Retrobatch when a workflow is done. This is useful for droplets when you want to make sure Retrobatch is dead and gone after it runs.
- New "PDF Quartz Filter" which gives you access to the various PDF filters in ColorSync Utility. You can apply filters to a whole PDF like "Reduce File Size" or Sepia Tone".
- New "Contrast Stretch" node which will improve the contrast for your image by stretching the intensity of the image to cover a larger range.
- New "Image Equalization" node which will spread out the histogram peaks of your image, making certain areas less intense (or at least more even).
- New "Download" node which you can plug a URL into and Retrobatch will download it for you.
- New "Replace Color" node which finds a specific color in your image and replaces it with another.
- New "Acorn Maker" node which will make a layered Acorn image (similar to the PSD Maker node). You can combine this with the Screenshot and Windows node to make a new Acorn image of all your visible windows, with a layer for each window.
# New Retrobatch Pro Nodes
- New "Auto Level (Straighten) node which will rotate your image a bit if it looks like it might not be very level .
- New "Recognized text" option for the Rules node which you can use to filter out images based on character recognition in the image.
- New "Clipboard Watcher" node which will look at your clipboard every second and if there's a new image on there, it'll run the workflow using that image as input.
- New "Periodic" node which will run the chain of nodes it has attached to it after a certain number of configurable seconds.
- New "Extract Text" node that will scan your images for text and write it out to a file.
- New "Image Diff" node which will compute the difference in colors between every other image.
- New "Extract Metadata" node that can write out the metadata from an image in either plain text or JSON formats.
# Improvements & New Features
- The preview window has been enhanced so that you get a list of selected nodes on the left, and larger preview of the images you're processing on the right. You can bring up the sheet by pressing the space bar, then tweak your nodes to get them exactly how you'd like them to be, and then pressing the spacebar (or escape key) to dismiss the preview.
- Shortcuts support! You can now make a Shortcut which points to workflow, allowing you to pass in images, or folders of images. You can also use this to setup Quick Actions in the Finder.
- Retrobatch can now read SVG files, which is awesome if you want to convert a bunch of them into JPEG or PNG files (MacOS 13+).
- Retrobatch can now read and write JPEG-XL files. Visit https://jpeg.org/jpegxl/ for more info.
- WebP (and JPEG-XL) now have options for lossless encoding.
- The Write node now has compression options for the TGA image format.
- The Write node has a new option to embed a thumbnail for JPEG and HEIC images.
- The Write node now has a "Read back encoded image", which is handy if you want to write your image out as a specific type and then throw it on the clipboard as the newly encoded type.
- The Image Watermark and Text Watermark can now have negative values for the offsets.
- The Windows & Screenshots node now has an option to exclude the shadow from windows.
- You can change the color accent of a node by control clicking on it and choosing "Change Node Accent Color…" or selecting a couple of nodes and using the View ▸ Change Node Accent Color… menu item.
- You can now set the working color profile for workflows. This is for cases where you want certain filters to work more closely to certain image editors, or if you're using something like the Custom Convolution node and you want to tightly control how pixels are processed.
- New option to the Clipboard node which allows you to write the native type of an image to the clipboard. If you have a compressed JPEG, it'll write that exact data to the clipboard if that option is selected. Otherwise it'll write PNG and TIFF data by default.
- A new Document Settings sheet (under the View menu) which allows you to have per-document settings for the following things:
- Manual node connections.
- Wether or not a preflight is automatically run.
- A pixel processing profile to use for various filters (mostly Core Image based).
- The Animated Image node now has a token field for setting the name of the image it produces.
- There's a new token in the Write node for the album name when pulling images out of Photos.
- The Drop Shadow node now has an option to keep the original dimensions of an image, for cases where you're processing images with transparent cutouts and you want the shadow to appear inside the image only.
- The Border node now has an option to have a corner radius.
- The Scale node now offers the Lanczos and Bicubic scaling algorithms for resizing images.
- The Delay node can now specify when the delay should happen: Preflight, Every image (the default), or Postflight.
- Open in App node: Dragging an app icon from the Finder onto the Open in App node will use that app to open the images.
- Open in App node: Dragging an app icon from the Finder with the option key held down will now add an Open in App node to your workflow.
- Open in App node will now remember the last app you picked, and use it for newly created nodes.
- New option in the Write node to encode your JPEG files using the MozJPEG encoder.
- The Screenshot node now has text field you can use to filter which screenshots are used in a workflow. For instance, if you only want to capture windows from Safari, you would enter "Safari".
- Nodes on canvas have a new contextual menu to enable/disable the node, as well as bring up the properties.
- Shell Script node improvements: It'll now show a warning if the shell script you choose isn't executable, and even offer a recovery solution. It also includes a link to online documentation about what you can do with it.
- A new Retrobatch setting to only show properties when double clicking on a node.
# Differences between App Store / Sandboxed and Direct versions.
- The AppleScript, Shell Script, and Get Selected Finder Items nodes are not available in the App Store / Sandboxed version of Retrobatch.
- Using Retrobatch as a command line tool will run into file reading problems in the App Store / Sandboxed version of Retrobatch.
- For more information on the differences, visit the following URL: https://flyingmeat.com/retrobatch/docs-2.0/provsregular/
# Changes
- The "Set Finder Tags" will decide when to write the tags in based on if you have a write node behind it or not. If there is no "Write" node farther down the chain from the "Set Finder Tags" node, then the "Set Finder Tags" node will apply tags to the last read/written place an asset has occupied. So you can have a workflow with two nodes in it: A "Read Folder" → "Set Finder Tags" node, the tags will be written to the original location (this is the original behavior). But if you have a "Read Folder" → "Set Finder Tags" → "Write Images" workflow, then the tags will be added to the images where they were written via the "Write Images" node.
- The Rules node will now take float values for the "Megapixels" rule.
- The "Photos Library" node has been deprecated (since it's using APIs Apple wants to get rid of). Instead, use the updated Photos Export node.
- When using Retrobatch 1.x from the shell, passing a folder as an argument would search through that folder for all image files and synthesize a "Read Files" node and the path hierarchy information would be tossed out. In Retrobatch 2, when a folder is given as an argument Retrobatch will now synthesize a "Read Folder" node for each folder argument it comes across and preserve the folder hierarchy for any images found.
# Fixes
- Fixed a problem where the $SourceFolderPath$ token working correctly with the Indexed PNG and Animated Image nodes.
# Other
- When running Retrobatch from the Terminal with the
--workflow
option, it will now print out information about what node is currently working on a file.
- The "PDF Image Extractor" node does a better job at finding images, is faster, and will not re-encode image data if not necessary.
- The Write node will now open up multiple folders if options like "Write back to original image" or the "Source Folder Path" options are enabled (and it's cases like these where output might be to multiple folders!)
- Retrobatch will now offer to move itself to the Applications folder if it isn't already there.
- Did you know you can pull out meta from IPTC tags without a token in the Write node? Just use "$assetMeta.{IPTC}.City$" to grab the city from the IPTC metadata.
- Retrobatch is a bit smarter at figuring out what type of images it's loading up if MacOS can't figure it out on its own.
- The Shell Script node will now always append the (last saved) path to the image being worked on when "Every Process" is set for the Run at: option. Previously, Retrobatch would only append the path if no argument options were supplied.
- The "Quality" slider in the Write node has been changed to "Quality / Comp." as an indicator that it effects compression as well.
- Double clicking on a node connection will reverse the direction of the connection.
- Retrobatch now gives you a little bit of play when single or double clicking on a node to bring up the properties. So if you're using a trackpad or have unstable hands and move the pointer a little bit (no more than 5pt), RB will just assume you meant to bring up the properties.
- If you hold down the option + command keys in the Feedback window, you are given the option to email the report using your prefered email client.
# I'm not sure why I'm listing this, but I am anyway
- Some new debugging prefs for the droplets:
defaults write com.flyingmeat.retrobatch.RBDroplet keepAlive 1
defaults write com.flyingmeat.retrobatch.RBDroplet showLogWindow 1
This will require making a new droplet for these prefs to work.