Search and Replace plug-in – version 1.35 coming
If you use my Search and Replace Lightroom plug-in, I’m currently updating it. So if there’s something you want, now’s a good time to ask.
If you use my Search and Replace Lightroom plug-in, I’m currently updating it. So if there’s something you want, now’s a good time to ask.
LR-iTunes is a simple plug-in I wrote (hacked) to help synchronize pictures from Lightroom via iTunes to my iPad.
Basically it is a dumbed down version of the Hard Drive Publishing Service and is more suited for the requirements of iTunes. So I tried to make it look the part which is no big deal, just an icon or two, and instead of creating “collections” or “published collections” you create “albums”. Also it won’t allow you to create sets because iTunes would ignore them and just lump all the pictures into a single big album.
Once you’ve published to a folder, you use iTunes as normal to sync to the iPhone, iPad or AppleTV.
One little extra is a menu command in File > Plug-in Extras > Copy Albums to another Lr-iTunes service. This makes it easier to set up separate services for each iOS device and it will copy dumb albums from one to another (in fact, it will do a little more than that). It won’t copy smart albums because of an annoying omission in Lightroom’s automation interface, so you’d have to use the export/import smart album route.
I wrote (hacked) the plug-in mainly more to teach myself how to use Publish services and it is offered as a freebie – without support.
I was just going to release an update to my Search Replace Transfer plug-in when it was ready, but another query about its use as a workaround for complex file renaming has prompted me to put out a “release candidate”.
There are a few internal bug fixes and a few tweaks which mainly reflect my greater experience with Lua, but the main changes are:
Hopefully this will smoke out any bugs, or feel free to post comments if you’ve suggestions for substantial improvements.

Fancy trying it? OK, here’s the plug-in (limited to 10 items) and various example vocabulary files. See the previous post for the thinking behind the plug-in but these bits are new:
I am working on a script that will create a hierarchy file from an existing keyword hierarchy, but the main design focus is on externally-sourced lists like competitors’ bib numbers or kids’ names.
A new plug-in is bubbling – jb Keyword Tools. It’s aimed at those who use controlled vocabularies of keywords, and also at event shooters who use keywords to organise their workflows. It’s a bit like a bigger version of Lightroom’s Keywording panel, but with the access to external files that makes PhotoMechanic’s “Code Replacement” or iView’s vocabulary files features so popular.
The concept is that you initially prepare one or more keyword vocabularies – tab delimited text files. The format of the file is important – tab-delimited text, UTF-8 encoding, and on Mac the line endings must be standard Unix. These are dead easy to create in Excel and I’m finding it handy to store them on Dropbox so they can be accessed from any computer.
When you’re doing your keywording, you call a menu command and are prompted to load a vocabulary file. This has one button for each line in the vocabulary, so here I used a file of keywords about owls (bird lovers please don’t shoot me – I know next to nothing about owls). Click a button and the keywords is added to the catalogue and applied to the current image – or to all selected images if AutoSync is ticked. A single button can easily add more than one keyword at once – each line of your keyword vocabulary file would have a number of tab-separated entries like “Verreaux’s Eagle Owl {TAB} Owls….”
It’s not really working with existing hierarchies – yet. However, I’ll see if I can do something – eg picking up a “>” symbol – but that requires parsing the existing keyword hierarchy which is extremely / impossibly slow in LR3 on Windows. I recommend you use either a flat keyword list or use Put New Keywords Inside This Keyword to set up a top level keyword, and all the new keywords will be added inside it.
This last point is particularly relevant as one of the original thoughts was for photographers who shoot events where they can create lists of participants. Imagine photographing a horse race and pulling together a 4 column spreadsheet of the number, horse name, rider, owner, which you save as a tab-delimited file. You then click button 55* (* indicates more than one keyword is in there) and all four keywords are added to the picture. An alternative example might be a list of attendees at a wedding – names may be in column 1, while the next column could have “Bride’s side”, “His work colleagues”, “Kids” etc. Again, click the person’s name and the other words get added. So yes at its simplest it’s like a big keywording panel, but it can do quite a bit more.
Also in the plug-in is an Export option to split up an export by keywords. In the Export dialog, you specify a top level keyword and the plug-in will then make extra export copies of the files – one per child keyword – and put them in a folder structure that matches the keyword. So going back to the above examples, you can export JPEGs with one folder per horse, or for each group in a wedding shoot.
It’s currently a regular export, so you select the items, start an export and choose “Split Export by Keywords” from the Export To drop-down box. Then enter the name of the top level keyword whose family you want to replicate as folders. You must enter this (though I don’t think I’ve put anything in there to force you to do so or fall over gently if you don’t). Currently it will look 10 levels down, so if your top level is Weddings and you’ve selected images from the Beardsworth wedding (just joking) which is keyworded as a child of Weddings, then you’ve still 9 to go.
Also, it only uses those keywords which have been explicitly applied. So using bold to show the actual tagging of an image, Weddings/Beardsworth/Friends/Laura will result in copies being placed in the Beardsworth and Laura folders, but not in Weddings itself or in Friends.
The plug-in first exports files to a subfolder – these are the “first copies” which you can delete. I prefer not to do so because it’s possible your export will include images that aren’t actually keyworded. But you can also create symbolic links, if you want.
Anyone interested?
ListView is a plug-in for Lightroom 3 that displays images in a list style just like in most other DAM (digital asset management) programs. Sometimes it’s a lot easier to review your metadata entry in a list than by scanning through a grid of thumbnails.
Other things you can do with List View:
As with my other main plug-ins, it’s available from Photographer’s Toolbox.
There’s a lengthy thread over at Adobe’s Lightroom feature request and bugs forum Is there a way to re-associate converted DNG files with the original RAW files? The user had converted files to DNG, but then decided he wanted to switch back to proprietary raw files (he’d got them all in his backup) and didn’t know how to make the DNGs’ thumbnails in Lightroom point to the raw files.
Most of the thread is about one solution – learning SQL and updating the database. Fun if you’ve got the time / inclination.
The other solution is somewhat easier – my Syncomatic plug-in. All you would do is get the raw files into your catalogue, and tell Syncomatic to copy metadata and adjustments from DNGs to raws.
Update: released here
It’s been bubbling away for a while, and some people saw it late last year, but in the next few days I’ll be releasing a new plug-in – List View.
It does exactly what the name suggests and provides a list view which some of us feel is sorely missed in Lightroom’s Library. After all, it’s a lot easier to review your metadata in a list than by scanning a grid of thumbnails.
The plug-in currently provides 3 different views. This is the standard view where each row has 2 lines per item for up to 30 pictures, while compact and expanded views show smaller or larger thumbnails. The thumbnails, incidentally, are drawn from the catalogue itself and therefore show each picture in its adjusted state.

Once List View is displayed, scrolling through thousands of items is blazing fast. Note all 10 columns can be changed in registered version - 8 disabled in trial.
Other things you can do with List View:
As with my other main plug-ins, it’ll be available from Photographer’s Toolbox. Pricing will initially be £8/$12 which may rise as I add other features. What better way to celebrate the Windsor family wedding?
No matter how much the Lightroom ethos is about designing a program for photographers from the ground up, there are still those atavistic folk who want to do things just as they suppose they’ve always done them. So every so often you’ll get people wanting Undo to be Alt-Ctrl-Z because it’s how Photoshop has always worked, forgetting that the vast majority of programs use Ctrl-Z. Others will demand point curves, with RGB channels too, crop tools that behave just like Photoshop, or even the ability to work in Lab mode (eek). And I suspect that’s the underlying – and questionable – reason why onOne has released a preview of “Perfect Layers“:
Perfect Layers is the fast and easy way to create layered files in Lightroom. With Perfect Layers you can create and edit multi-layered Photoshop files directly within Lightroom
For an idea of what you might do with the program, as well as Scott and Matt’s video on OnOne’s site, see Sean McCormack’s Quick look at Perfect Layers.
onOne’s product range has always puzzled me – a jumble of filters they’ve developed and ex-Extensis tools “allowing [photographers] to create the images they want and [cliche alert] get back to what they really love to do: go shoot!” Even if I felt Perfect Layers filled an important gap, I’d question that $160 is “a very affordable and reasonable price” – for $100 the excellent Photoshop Elements 9 can do layers and a whole lot more. Apparently it makes financial sense as part of onOne’s $500 suite, but as I understand it anyone who has the suite would already own the full-blown Photoshop.
In my view a more serious mistake is presenting what is an external editing program as working “directly within Lightroom”, and the connection with Scott Kelby will draw even more attention to this innacuracy. As Jeffrey Friedl points out in his hilariously-caustic The Amazing Marketing Power of Scott Kelby:
But what really surprised me is that no one (but me) called him out for his bald-faced lie. [JB - I don't think Jeffrey uses Twitter]. Scott knows full well that it’s not “Layers in Lightroom”, of course, because he’s an expert in this stuff in general and he helped develop this specific product, but perhaps the marketing potential of the lie was just too tempting to pass up.
There are some interesting comments on that post, not least from Andrew Rodney which shines more light onto the NAPP (it’s always been far too much like US commercial TV for my English taste). Scott Kelby’s own post then provides a good laugh as the initially-sycophantic “wow, what I’ve always wanted” posts quickly give way to cries of “King’s new clothes”.
To describe external image editing programs as “plug-ins” is hankers back to what Adobe called “Photoshop['s] rich history of supporting these image processing plug-ins”. But when you’re charging a princely $160, shouldn’t you be careful not to mislead the technically-unsophisticated photographer? When Apple pulled the same stunt with Aperture’s “plug-ins”, I proposed we should help out developers – let’s just label these dubiously-marketed “plug-ins” as “strap-ons”….
Update – also see Jeffrey’s follow-up Scott Kelby Responds, Dazzling With His Marketing Magic and the misleading Layers in (sorry WITH) Lightroom Follow Up
. A simple “sorry” would have been more honest – it wasn’t just a grammatical error that was so outrageous.
Ever spend ages thinking up ways to convince someone a task is far from easy, and that they should just give up on the idea – and then the solution appears just as you were about to hit the Send button?
Well, the other night I had an interesting email from someone who has my Search and Replace plug-in for Lightroom:
… I need to remove text (“Scan_”) from the filename for images I scanned 4-5 years ago (and are now in my LR catalog). It appears [Search and Replace] does not work on filenames, only on metadata. Pre-LR catalog I used a utility to do bulk file name changes on folders of files, but that will be a problem with the LR catalog.
I could use the bulk filename changing tool, then delete the LR-cataloged-but-missing-image and then reimport the newly rename files. But it seems risky and I’d lose metadata for the images w/o XMP files.
It’s not at all unreasonable that users would want to replace certain text when doing a batch rename – I often used the feature in iView/Expression Media – and it’s a shame that Lightroom’s renaming seems to have fallen foul of “you couldn’t do it in Bridge” thinking here. It is a bit underpowered in this respect, especially as changing file names outside Lightroom can easily do a lot more damage – you could lose a lot of your work.
So I began my reply saying I wouldn’t be adapting Search & Replace to handle file renaming, as it is indeed for metadata manipulation and its next steps are most likely to be into spell checking. I then wrote a couple of lengthy paragraphs explaining how a dedicated file renaming plug-in could certainly be written, but doing it well would be time-consuming and still risk scrambling the user’s file system and trashing a lot of Lightroom work. The user’s idea of reimporting the renamed files was workable if you weren’t worried about losing all the Lightroom work that isn’t stored in the XMP – flags, stacks, virtual copies, assignment to collections, and history steps. In a final flourish of negative thinking I began to think about how to explain running the external renaming utility and then updating the catalogue via SQL? Again it’s conceivable – but a lot of work. You might summarise my response as “Computer says No” (Little Britain, if the reference isn’t clear!).

Using Search and Replace on an IPTC field, it's possible to perform more complex renaming than Lightroom's Batch Rename permits
And then I realised how simple it would be:
Easy.

Search Replace Transfer 1.30 fixes a bug, which 1.29 kindly introduced, but it also contains a new menu command – “Brute force” search which creates a regular or “dumb” collection and then adds images to it by performing a “brute force” search through the selected items or through the entire catalogue.
The intention is to fill in some gaps in Lightroom’s smart collection and searching capability. So it can search text fields like caption more precisely than Lightroom and it can also examine fields which Lightroom fails to search.
For example, let’s say you want to find all pictures in the catalogue which contain the exact phrase “red house” in the caption. Normally you might try a smart collection with a criterion such as “caption / contains all / red house” or “caption / contains words / red house”, but Lightroom would also identify pictures containing “girl in red dress in front of blue house” where “red” and “house” aren’t adjacent. So this command looks for “red house” as an exact phrase.

But it can also do the same on fields that LR won’t let smart collections examine. So it might look for the “∞” (infinity) or “20m” in the subject distance field, for example.
The result is a new collection created in a “Search Replace Transfer” collection set, and using the query as the collection’s name:
Recently I’ve seen a number of Lightroom users asking how they could find all images shot at a certain time of the year.
Now, if you have your head screwed on you would have included seasons in your keywords. For instance, an image of snow might include “winter” in the keywords (unless you live at the North or South Poles) while a picture of cherry blossom might include the keyword “spring”. I’m not too keen on the idea of including the month as a keyword, though a case might be made for doing so.
But let’s say you’ve not used such keywords, but still want Lightroom to find all the pictures you’ve shot in the winter months. The best answer has been that you need to create a smart collection along the lines of “Capture Date” / “Is in the range” / “December 1st 2010 to January 31st 2011″, for example. That’s OK for one year, and then for a second year you’d add a line with similar criteria and just type over the years. By the time you get to three years it’s getting a bit boring, and then you decide to change winter to include February…. And if you also want a smart collection of photographs shot during the spring months, it’s all becoming a bit too much effort. Life is short. The particularly annoying thing is that the data is available in Lightroom’s catalogue, but it’s too difficult to access.
So version 1.29 of my Search Replace Transfer plug-in adds a custom field called “Month” and writes to it with the existing Parse + audit menu command. You just select your pictures, run the Parse + audit menu from Library > Plug-in Extras. The plug-in then runs through the pictures and updates its custom fields which can you can then query in the Filter Panel or through Smart Collections.
And a little note – the Parse + audit command is in the free part of the plug-in so it isn’t limited to 10 items per time.
Get the plug-in from Photographer’s Toolbox.
Capture Time to Exif is essentially an in-Lightroom interface for Exiftool, Phil Harvey’s highly-respected “platform-independent Perl library plus command-line application for reading, writing and editing meta information in a wide variety of files”.
With Capture Time to Exif you can:
Capture Time to Exif is for Lightroom 3 on PC or Mac, and is available from Photographer’s Toolbox. The trial version is limited to 10 images at a time but is fully functional.
Here’s another preview of my SiteMaker web gallery showing its huge flexibility.
May I, as the saying goes, draw your attention to:
CaptureTime to Exif is my latest Lightroom 3 plug-in. Essentially it’s an in-Lightroom interface for Exiftool:
Capture Time to Exif will soon be on Photographers Toolbo. It’s important to begin by using Ctrl/CmdS to save any Lightroom metadata back to the files, and after running the plug-in Library > Read Metadata will update the catalogue.
Of course, if it all sounds like mumbo jumbo, then the plug-in won’t be for you and you can happily leave command lines well alone!
SiteMaker is the name of a new and very-soon-to-be-unleashed web gallery for Lightroom 3 which aims to create a complete web site within Lightroom.
The front page is designed so you can highlight three key groups of images – for example “Latest work”, “Landscape portfolio”, “Black and white portraits”. So the top part of the site has three full width images which change as the visitor moves the cursor over the related explanation panels.
Additionally, further galleries of pictures can be displayed in a grid that runs below this full width area. So the front page both highlights your latest and greatest work, and provides the visitor with immediate access to all your pictures.
Secondly, people often want to add extra pages to a site – an “About Me” or contact page, for instance. So this is requirement is also built into SiteMaker. You can define up to three such pages, adding text by simply typing into boxes in Lightroom’s Site Info panel. For even more flexibility you are also able to add raw HTML, if you know how.
As well as the key features of splitting a single Web Export into multiple galleries and adding custom content pages, SiteMaker provides a huge range of configuration options. For example:
It’s going to come in a number of versions too. SiteMakerPublisher will let you change web site contents through Library’s Publish, while SiteMakerSSP will connect the site to the SlideShowPro Director content management system.
See it in action here. What do you think?
I’ve just (finally) released Open Directly, my plug-in for Lightroom 2 or 3 that opens images directly in another program. The other program may be another raw converter, or it can be any program the user chooses. In either case, the plug-in simply sends the original file and invokes the other program.

I’ve just released version 1.22 of my Lightroom plug-in Search Replace Transfer with two new menu commands:
Smart collection from current itemThese two menu commands are designed for quick filtering of the catalogue based on the image that is currently selected.
For example, imagine you want to find all the pictures in the catalogue with “Autumn leaves” in the title or “Ashness Gate” in the location. In the latter case, it may be that you’ve just visited the location again and want to copy keywords and other metadata from a previous visit. You could go to Library’s filter panel, choose the field, and type in the text, or alternatively you could set up a smart collection. These menu commands save you that typing.
The main command “Smart collection from current item” launches a dialog box listing the fields. You make your choice, click OK, and the plug-in creates a smart collection such as “location / contains all / Ashness Gate”. The second menu command “Smart collection from current item – again” simply runs the same code without prompting you for a different field. So you could quickly create a series of smart collections for Ashness Gate, Ashness Bridge, Watendlath… or wherever you happen to be (can you tell I’ve just spent a few days in the Lake District?).
It’s currently “quick and dirty”. Due to the weakness of Lightroom’s filtering, some important fields are not searchable. A follow-up release will cover these other fields, using dumb collections (and extra code).
The smart collection is currently only a single line. Again, a later release is planned to create multi-line smart collections.
Version 1.23 of my Lightroom plug-in Syncomatic is now available via Photographers Toolbox. The new feature is that now, as well as handling files with matching names, it can now synchronise metadata and adjustments within stacks

When you add metadata like the title or keywords to a stack, Lightroom only updates the picture on the top of the stack – items lower down the stack are not updated. So if you do want all members of the stack to share similar metadata, you first have to expand the stack and select all the items. Then after adding the metadata, you would collapse the stack again. For some users, that is OK because they will only keep the best image and don’t want to annotate the rejects. But for others it’s pretty inefficient, for instance stock photographers or those who use stacks to gather frames intended for panorama stitching. For them the stacks-metadata problem is often a reason for not using the stacking feature.
Sync Stacks is intended to overcome that problem. It adds a menu command and:
I’ve just released a new version of my Syncomatic plug-in.
Syncomatic’s original purpose was to tidy up metadata when you are faced with sets of pictures whose names match but whose metadata is out of sync. For instance you may have lots of TIFs or JPEGs which have been output from your raw files, but you then added keywords to the raw files. How do you then make 1234-edit.tif have the same keywords and other metadata as the original 1234.nef, make 1235-edit.tif the same as 1235.nef and so on? Syncomatic does that job.
It now does the same with adjustments (at least as many as it can).
Why would one want to do that? Well, for example, I was contacted by someone who had taken 15,000 pictures in a very short period, and sheer pressure of work had led him to switch his camera to Raw+JPEG and import only the JPEGs. He’d then added ratings, captioned and keyworded the JPEGs, done some quick adjustments, and submitted modified JPEGs to his clients. Now he was home and wanted to import his raw files and prepare stock and portfolio quality images from them. That was where he hit a wall. He could restore the raw files into the same folder as the JPEGs, and then synchronise the Lightroom folder – but Lightroom hides the JPEG and brings in the raw files without any IPTC metadata or adjustments. Even if one had saved the metadata back to the JPEGs, it wouldn’t really treat them like sidecars. The other approach for RAW+JPEG is to change the catalogue option so it imports separate files, but then there was the problem of copying the metadata and adjustments from each JPEG to its corresponding raw file. That’s why I updated Syncomatic.
Another possible application is when you have a new camera which has a raw file type which Lightroom doesn’t yet support. What you might do – after filing a complaint with the camera maker and demanding they offer a DNG option – is shoot Raw+JPEG, import the JPEG files, and add your metadata and adjustments. When Lightroom is updated, you can import the raw files and use Syncomatic to update them. I’m not sure if that will work in practice, but I suspect so.
Now, there are some limitations – but not many. Essentially I’m using the develop preset mechanism, so Syncomatic can only apply adjustments that you can save in a preset. Above all, that means cropping can’t be synchronised. But it does pretty well everything else, which isn’t too shabby.