Lightroom Plugins

I'm essentially a lazy geek, so I'm always trying to find ways to get the computer to do things for me. Here are some of the things I've put together.

Automatic code replacement

I often work as a sports photographer. A sports image is only as good as its caption. Captions have to be accurate. And when you're at an evening match with a 7:45 kick-off and the papers have a 10:00 submission deadline, there's no time to waste. That's why I use Lightroom: I can edit, caption and prepare the images for submission all in one application. (I could even upload to the agency's server from within Lightroom, but that's nowhere near as fast as using a specialist application, so that's the way I do it.) But Lightroom has one big drawback: whilst you can define static text for IPTC fields during import, there's no way of defining short cuts so that, for example, instead of typing "Brian MUJATI of Northampton Saints" every time Brian appears in a photo, I can simply type "n1" and get Lightroom to do the work. Not only is that a time saver, but it's much more likely to be accurate: something my dyslexic fingers can appreciate! CameraBits' Photo Mechanic has just such a feature. It's called code replacement. But Lightroom can't do this.

Until now...

I've developed a plugin that does just this. I've been using it since September 2011, and it works like a dream. The plug-in is on general release. A 32 page user guide is available.

AutoReplace demo movie

You may click the icon on the left to see a 20 second movie (598kB) showing the AutoReplace plugin in action or download an evaluation version of the plug-in or the user guide using the links below. The evaluation version does not require any registration and is fully functional, save for the fact that only ten code code replacements will be honoured.

AutoReplace costs £25.00 including VAT for customers in the EU and £20.83 for customers elsewhere.

Download the Lightroom AutoReplace version 1.2 plug-in (2.7MB), or just the user guide (2.1MB).

Andy Tobin over at SLIKImages is using AutoReplace (and AutoCopy below) since March 2012 and says "these two utilities have significantly improved my in-game workflow... it’s faster, has all the lovely Lightroom benefits, and de-stressed my in-game workflow considerably". You can read his full review here. Thanks, Andy.

13Aug2013: AutoReplace v1.2 for Lightroom 3.6*, 4 and 5 released. The major new feature is the ability to associate multiple replacement texts with a single short code. Full details and examples are given in the user manual.

* Due to a bug in the Lightroom 3 API, AutoReplace will not work in Lightroom 3.0. AutoReplace does work in Lightroom 3.6. Exactly when the bug was fixed I do not know. If anyone is using AutoReplace successfully in a version of Lightroom earlier than v3.6, I'd be grateful if they would let me know. Thank you.

More information, including additional tutorial videos, hints and tips, and third-party reviews, is available on the AutoReplace product page.

Automatic file copying

This isn't a Lightroom plug-in, but a Java application. But since it's primarily designed to overcome one of Lightroom's short-comings, this is as good a place as any to describe it.

Lightroom has an "Auto Import" facility that can be very useful: define a folder for Lightroom to monitor, and any new files that appear in the folder are automatically imported into the Lightroom database. That's all fine and dandy if the folder, and the disk it's on, are always there. But if you're working pitchside and constantly swapping CF or SD cards in and out of your card reader?

Lightroom can't handle it.

AutoCopy demo movie

So every time you load a card to send off the cracking image of the goal or celebration that you've just bagged, you have to sort through all the other shots on the card to find the one you want. That wastes time. Wouldn't it be great if the photos you wanted would just appear in Lightroom?

That's where AutoCopy comes in. AutoCopy monitors your computer for new drives. When it finds an one, it scans the drive looking for image files. When it finds an image, the image (and any sidecar files) is copied to another folder. If that destination folder is on a permanent disk, you can set Lightroom up to monitor that folder, and Hey Presto, auto import works for removable drives too...

Click the thumbnail above to see a short (38 second) demo movie of AutoCopy in action.

AutoCopy can be configured to define:

  • What constitutes an image file. (eg, jpg, nef, cr2, crw, etc).
  • What constitutes a sidecar file. (eg wav, xmp, etc).
  • Which drives to monitor for insertion (and removal).
  • Where to copy the images.
  • Which images to copy: all files, only locked files or only unlocked files.
  • What to do when a file already exists in the destination folder: skip, overwrite, intelligently rename, or ask for advice.
  • What to do when a file has already been copied from the card: never skip, always skip, skip this time, or ask for advice.
  • AutoCopy produces a log of all its activities, which can be saved for future reference. The amount of detail that appears in the log can be defined by the user.

    AutoCopy runs on both Windows and OS X operating systems.

    AutoCopy is donationware: provided you abide by the terms of the EULA, you are able to use the software without payment of any kind, and without limitation on functionality, forever. However, if you find the software useful, I do ask that you make a donation in recognition of the work it took to create the program. Your donation can be as small as one US cent, or as much as you care to give. I trust you to make a fair assessment of the benefit it brings you.

    Of course, if you have a LC-5, or something similar, you don't need AutoCopy. But right now I have better things to spend my £350 on!

    "I can't thank you enough for AutoCopy. As a Lightroom user, being able to simply lock all the good pics during a match and then copy them over in the press room afterwards is just fantastic, a HUGE time and hassle saver."

    Patrick Khachfe / Onside Images

    Download the AutoCopy version 1.4 application package (2.7MB), or just the user guide (1.1MB).

    Create Annual Collection Sets

    I like to organise. One of the ways I like to group my photos is by shooting date. So I have a collection set for each calendar year and, within the collection set, a smart collection for each month. Setting this up for each year isn't difficult, but it is tedious - especially if you're doing several years at one go to organise your back catalog.

    Here is a Lightroom plugin that automates the task for you. The plugin is freeware and is released under the GNU general public licence. The source code is included in the distribution.

    Download

    Synchronise JPEG and raw files

    I have a Saturday job covering sports events for a photo library. On the night, very tight deadlines mean that I have to work with JPEG files, but for my portfolio, I want the extra quality and flexibility of raw files.

    My work flow at the event is to quickly filter out the rejects using Bridge. Then I import the remaining images into Lightroom, do the captioning and post-processing and finally upload them to the agency's server.

    After the event, I want to get the raw file corresponding to each accepted JPEG and import it into my catalog, copying over the captioning and, if it's very good, duplicating the post processing. The first couple of times, I did this manually. It takes an age, even with a utility program to copy the metadata.

    The process needed automating, so I thought I'd try to write a plugin to do it. I succeeded, to an extent, but what appear to be limitations of the current Lightroom API mean that I can't make it generic enough to release publicly.

    The problems seem to be these:

    Nevertheless, the plugin works well for me. What used to take an hour or two now gets done in a matter of seconds.

    Import metadata presets from XMP files

    Prior to each event, my agency sends me an XMP file that contains the basic metadata that they want added to each image in my submission. The obvious way to do this is to create a metadata preset for the required information. It's easy to create a preset from the metadata in an existing image, but not from an external file. Nor is it possible (I think) to overwrite an image's metadata with an import from an XMP file.

    So, here's what I do at the moment. I have a single dummy image in my catalog. I open this image in Photoshop and import the required XMP data (using File > File Info... > Import > Clear existing properties and replace with template properties). Then I save the file and open Lightroom. Lightroom notices that the image's metadata has changed, and I ask it to import the changed settings from disk. Now I can create the preset. It's a bit of a chore, and an obvious candidate for a plugin.

    This should be straightforward: there are menu items to save and read metadata to and from files. But these functions aren't exposed in the API. So a lower level approach is needed. The API does have the ability to parse XML files (which is all an XMP file is), but a bug in the key function means that the namespace of each node isn't known. This makes it a bit tricky to work out what goes where. I guess I'll have to wait for the next API release...