Search and replace – the very first release
The term Release Candidate reminds me as much of Ronnie Biggs‘ impending release from jail, but here is a Release Candidate of BeardyReplace, my Lightroom 2.3 plug-in designed for changing text in Metadata Panel fields. It does three things:
1. Searches and replaces metadata text
2. Appends text to metadata fields
3. Transfers text between metadata fields
“Search and replace” hunts through the chosen field for a word or phrase, and replaces all its occurrences with alternative text. So for instance, you may have some images captioned with “Close-up of columns at Paestum” and others with “Frontal view of columns at the Capitol, Washington DC”. How do you insert the word “Doric”? You could select the first group, then add the word, and then do the same to the second group. Tedious? Well, this command lets you search for the word “columns” and replace it with “Doric columns”.
“Append” adds extra text to the chosen field, either before or after. For example, imagine some images’ captions are “Close-up of columns at Paestum” and others have “Overview of temple at Paestum”, how do you add the text “, Campania, Italy” to all the images in one action? You would normally have to select each set at a time, so the Append command lets you add the text “, Campania, Italy” to all of them at the same time.
“Transfer” copies data between fields, replacing the existing contents or compounding them. If you want to copy the filename to the title field, or as shown here add the contents of two fields, this tool can handle many of the basic tasks.
The plug-in targets images in the same way as Lightroom. If you have selected some items, then it will only update them. If you have no images selected, it assumes all visible images should be targeted. In each case, there’s a preview of the effect – using the arrows, you can move through the targeted images one by one, or just drag the slider if there are lots of pictures.
One thing worth knowing is that Lightroom’s SDK has a very clever feature that most other scripting environments ignore – code-driven changes to field values can be undone by the user. So if you put incorrect data into a field, it doesn’t matter if you did it the usual way or via a plugin. On the other hand, it’s also worth adding that I may have found a bug where undo fails to restore previous data in the title field. Other fields appear to be OK, but I’ll update this once I know more.
It is a demo version, limited to 30 runs, and I’ll probably make the unlimited version available through e-junkie at $10? Any thoughts?
Note for coders or Mac users wondering why nothing’s happening
One little oddity / annoyance is that after you enter some text, on Mac you have to tab out of the text box to make the button active (on PC, it’s normal – you just click the button). It all comes down to how the text entry boxes “lose focus” and therefore make the button available, and the answer is on p71 of the SDK manual:
There is a platform difference in the focus behavior:
➤ In Windows, the control loses focus when the user clicks outside it.
➤ In Mac OS, it loses focus when the user uses TAB to shift the focus, not when the
user clicks outside the control.