Jeffrey’s “Bag-o-Goodies” Lightroom Plugin

This plugin for Adobe Lightroom Classic is a collection of various small tools that don't merit their own plugin.

This plugin works in Adobe Lightroom Classic, and older versions as far back as Lightroom 5 (though some features depend on the version of Lightroom).

The same download works for both Windows and Mac. See the box to the upper right for the download link (in orange) and installation instructions.

Tool Overview

The plugin contains these tools, available via the File > Plugin Extras menu:

•  Find Next Photo Group — identify and group related photos (exposure bracketing, panoramas, high-speed burst, etc.).
Compare Photo Times — how far apart in time were two photos taken?
Compare Two Collections/Folders — which photos are shared between two folders/collections, and which are unique to one or the other?
•  Mark Selected Publish Collections As Up To Date — any Modified Photos to Republish in selected publish collections are moved back to Published Photos.
•  Publish All in Selected Service — publish all collections in the currently-selected Publish Service.
•  Delete Cached Previews for Selected Photos — clears out cached previews that the Library Module has made for the selected photos.
•  Write Data Field... — lets you update metadata fields with other data from the photo.
•  Publish At... — lets you schedule publish collections to be published later in the day.
•  Publish Continuously... — publishes services or collections continuously in the background.
•  Personalized Auto Tone — lets you put some limits on Lightroom's mostly-excellent new (as of 2018) Auto Tone.
•  Copy To Clipboard... — lets you copy data about images to your system clipboard. Highly configurable.
•  Compare Photo Edits... — reports on the editable differences (in both develop and in editable metadata) between two images.
•  Find Superfluous Virtual Copies — finds virtual copies that are identical to their master or to a sibling virtual copy.

Find Next Photo Group

This tool helps identify the following types of logically-grouped photos:

  • High-speed burst
  • Exposure-bracketed shots
  • Aperture-bracketed shots
  • Panorama-component shots
  • Different versions of the same image.

Different versions of the same image — such as virtual copies or raw+JPEG pairs — are determined by filename inspection. The others groupings are determined by making a guess based upon capture-time and exposure-settings metadata.

Once a potential group has been identified, the plugin selects them and offers the option to apply an appropriate keyword (high-speed burst, exposure stack, etc.) and makes it easy to group them into a stack.

Here's an example of the plugin identifying the high-speed burst that was used to create the wigglegram on this page...

At this point I dismiss the dialog and while doing so optionally have the plugin apply a high-speed burst keyword to each photo. The photos remain selected, so if I want them grouped into a stack, I merely tap the Command-G keyboard shortcut and it's done. (Sadly, Lightroom's plugin infrastructure doesn't allow a plugin to stack photos. 🙁 )

Again invoking this tool, the plugin searches for the next group starting just after the selected photos.

Because the plugin starts searching after the currently-selected photos, one must make sure to deselect all photos before doing the first search of any particular group of photos. The keyboard shortcut to deselect all photo is Command/Control-D.

Compare Photo Times

This simple tool displays the time difference between two photos. For example, it shows that on my first bicycle ride to the sea it took 8 hours 11 minutes to get there:

The tool is invoked via File > Plugin Extras > Compare Photo Times. If more than two photos are selected when it's invoked, the first and last photos are chosen.

If your camera somehow saves the capture time with sub-second accuracy, and if Lightroom actually reads that data and makes it available to the plugin, the capture time is reported appropriately. For example, this unlucky cyclocross racer:

Slow Motion
I bet it felt a lot longer than 6/10th of a second

Some thought has gone into how to display things nicely. The hours and minutes and am/pm are in bold, with the seconds not in bold so that they don't clutter a quick glance. If times are indeed recorded with sub-second accuracy, the fractional part of the seconds is shown in a smaller font to further reduce the at-a-glance clutter.

(12-hour time notation is used in English and Spanish installs of Lightroom; 24-hour time notation is used otherwise.)

A lot goes on behind the scenes to make sure the duration is presented accurately. A duration of 367 days might be 1 year 1 day or 1 year 2 days depending on whether a leap day fell in between, for example.

There's one other wrinkle to mention, illustrated here with an example showing both the earliest and the most-recent photos of my son to appear on my blog:

This example highlights a problem with photo dates: the photo-data standard doesn't allow the timezone to be encoded along with the time, a moronic decision that creates all kinds of problems in dealing with dates.

In the example above, the final bit of the difference between the two photos would indeed be 2 hours 18 minutes if the two photo times (3:45pm and 6:05pm) were in the same timezone, but one is US Pacific Standard and the other is Japan Standard, so without understanding timezones the span between the two is off by the difference in timezones (in this case, by 17 hours).

So, to handle this properly, the plugin can take timezones into account if they're set for each photo with my Geoencoding-Support plugin. Here's the same example photos with timezone support enabled:

Notice that the duration is now shorter (by the 17 hours difference between the two timezones) and so is now correct. Also, the timezone is indicated lightly next to each time, as the offset from UTC (the modern version of GMT).

If a photo doesn't have a timezone associated with it with my Geoencoding-Support plugin, the timezone currently set for the computer is used.

Compare Two Collections/Folders

This feature shows what photos are shared between two collections (or a collection and a folder), and which are unique to one or the other.

If two collections (or a collection and a folder) are selected when invoked, they'll be compared. Otherwise, you'll be prompted for which to compare.

You'll then be shown a scrolling list of thumbnails indicating items shared between the two collections, or unique to one or the other. This is headed by a summery, which includes the ability to create a collection of just the shared/unique sets.

Mark Selected Publish Collections As Up To Date

This simple tool inspects all published photos in whatever Publish Collections are active at the time, and offers to moves any in Modified Photos to Republish back to Published Photos.

All selected collections must be within the same Publish Service.

The need for this kind of tool arises out of longstanding bugs in how Lightroom keeps track of what photos need to be republished. It's really frustrating for such basic bugs to remain year after year, but until Adobe fixes it, this tool might bring some relief to folks particularly hard it by the bug.

Publish All in Selected Service

If invoked while any publish collection is selected, all collections in the publish service are published, one by one. Progress is indicated in the status area in the upper left of the Library Module.

Delete Cached Previews for Selected Photos

This command allows you to clear out the various-sized preview images that Lightroom has squirreled away to make Lightroom interactive use feel snappier.

The two arrows show that the main command can be invoked in two ways, one to actually clear out the cached previews, and another to just report what would be done.

(Note: this is all completely unrelated to Lightroom's “Smart Previews”, which is an entirely different concept.)

By the way, if you just want to see the amount of space taken by previews, my Data Explorer plugin will tell you, as will my System Info plugin.

Write Data Field...

This tool lets you fill in certain metadata fields (Title, Caption, etc.) with other data from the photo, using the template tokens that my plugins understand. The token {###} can be used to fill in a sequence number to a field; use as many '#' as digits you want in the number.

In its most simple use, you can copy metadata from one field to another, but in more complex uses, you can craft complex captions (or other fields) by combining a variety of data on the fly.

The list of fields you can write to:

  • Headline
  • Title
  • Caption
  • Copy Name
  • Color Label
  • City
  • State / Province
  • Country
  • ISO Country Code
  • IPTC Extension Rights
  • Other Categories
  • IPTC Subject Code
  • Description Writer
  • Intellectual Genre
  • IPTC Scene Code
  • Job Identifier
  • Instructions
  • Credit Line
  • Source
  • Copyright Owner
  • Copyright Status
  • Rights Usage Terms
  • Copyright Info URL
  • Sublocation
  • Event
  • Person Shown in the Image
  • Name of Organization Featured in the Image
  • Code of Organization Featured in the Image
  • Additional Information
  • Age
  • Minor Model Age Disclosure
  • Release Status
  • Release Id
  • Supplier Image ID
  • Max Avail Width
  • Max Avail Height
  • Digital Source Type
  • Property Release Id
  • Property Release Status
  • Creator
  • Creator Job Title
  • Creator Address
  • Creator City
  • Creator State / Province
  • Creator Postal Code
  • Creator Country
  • Creator Phone
  • Creator E-Mail
  • Creator Website

Publish At...

This tool lets you schedule collections to be published later in the evening or the next day. It's a simple thing.... merely pick a time at the top or bottom of an hour any time in the next day, and pick the collection or collections to be published. This might be useful to shift export bandwidth to the middle of the night, for example.

(There's certainly room for a more complex scheduling system, but this bag-o-goodies feature is simple.)

Lightroom must be running when the time comes around for the publish to happen. When that happens, a dialog is displayed for a short time to give you a chance (if you're in front of the computer) to abort it. Otherwise, each collection is published in turn.

When it's done, a dialog is shown (and remains until you dismiss it) saying that it's done, letting you know what time it finished and how long it took.

As part of the registration nagging, after the plugin's six-week trial period has passed, you can still use it if unregistered, but you can pick only one collection to publish, and the selection of target times becomes somewhat limited.

Publish Continuously...

This feature continuously publishes selected Publish Services and/or Publish Collections in the background, automatically.

You can specify the frequency that the publish attempts are made.

As part of the registration nagging, after the plugin's six-week trial period has passed, you can still use it if unregistered, but you can pick only one collection to publish, and the "every X seconds" granularity in the frequency disappears.

Personalized Auto Tone

(This feature is supported from Lightroom 7.3)

2018 saw the introduction of a vastly-improved Auto Tone that many photographers now find useful as a generic starting point for their own edits. (See this goodie's announcement post for a bit more on why the new version of Auto Tone is so much better.)

However, as nice as the results generally are, you may find that you want to limit some of the effects. For example, I personally find that Auto Tone is a bit heavy handed with color, so I use this plugin to zero out any added vibrance or saturation.

This part of the plugin provides two File > Plugin Extra items:

Configure Personalized Auto Tone and Apply
Apply Personalized Auto Tone

The former brings up a configuration dialog prior to applying your personalized Auto Tone, while the latter applies it directly, without an intermediate dialog, using your most recent configuration.

The configuration dialog may seem fairly complex at first sight:

The visual complexity comes from being able to configure all eight develop settings that the new Auto Tone updates.

To illustrate the configurations, here's a close up of just the row to configure Saturation:

As presented above, nothing is actually personalized about how Personalized Auto Tone affects saturation, so with respect to saturation, it'll end up with exactly the value that the standard Auto Tone computes.

If we disable the whole row by unchecking enable at left, then saturation will be left untouched by Personalized Auto Tone, with whatever value it had prior to invoking the command.

However, by enabling the row, we can let the normal Auto Tone do its thing, then potentially reduce or enhance the amount of saturation it computed. The controls marked with and configure what the plugin should do when Auto Tone chooses negative saturation, while those marked with and configure what it should do with positive saturation.

In each case, you can set what percent of Auto Tone's choice gets applied, anywhere between 0% and 120%, and also a hard limit to the value that can be applied.

In this example, Auto Tone is disallowed from setting any positive vibrance or saturation:

The example is somewhat contrived because they each use a different way to totally constrain any positive value from being applied, but I show it to illustrate those two ways. In the case of vibrance, it's done by using 0% (none) of any positive Auto Tone value. In the second, the hard limit of zero for saturation overrides any positive value that Auto Tone would have given.

In both cases, any negative value from Auto Tone is applied as is, as the configuration controls for negative values have been left at their don't touch defaults.

As another example, I find Auto Tone to be a bit too free with negative contrast, so here I have it apply just 50% of what Auto Tone chooses:

Clicking on the keep ...% of Auto Tone's setting label under each slider returns the slider to 100%.

Copy To Clipboard...

This tool lets you copy info about the most-selected image to your system clipboard. You can configure up to three Copy to Clipboard commands, via File > Plugin Extras > Copy to Clipboard: Configuration:

In the specifications, you can use standard template tokens that my plugins support.

As a suggestion of a possibly-useful specification, the first item defaults to:

    {CameraName}, {LensInfo=LENS at FL}, {Exposure=SS at AP}, {ISO=ISO #}

which ends up being text along the lines of:

Nikon D4, Voigtländer 125mm f/2.5, ¹⁄₅₀₀ sec at f/8.0, ISO 1250
©Jeffrey Friedl

Once the configurations have been saved, they can be invoked via File > Plugin Extras > Copy to Clipboard 1 and friends.

Keyboard shortcuts make them much more convenient: how to add keyboard shortcuts for plugin-extra items. On Windows, the hot keys for the three invoke commands are 1, 2, and 3.

Compare Photo Edits...

This feature lets you compare the edits between two photos, reporting develop-setting differences and differences in editable metadata. It also reports whether there is a difference in collection membership between the two photos.

Some details:

  • An image's virtual-copy name is never considered or reported on.

  • Only develop settings that impact the final pixels are considered. For example, if a photo has many local corrections but then has its local corrections disabled, it's treated the same as if it has no local corrections.

  • When collection membership is compared, smart collections are neither considered nor reported, due to limitations in Lightroom. (However, any differences in smart-collection membership should stem from metadata differences.)

  • Differences in plugin metadata are reported, though because this plugin doesn't understand the details about other plugins' metadata (what is and isn't visible to the user, much less what is editable by the user), all plugin-data differences are blindly reported.

  • One warning for those who use virtual copies in the Book Module: the Book Module is not considered when making comparisons, due to limitations in Lightroom. Therefore, a virtual copy that otherwise seems to be identical to its master may well be used in a book while its master is not.

Find Superfluous Virtual Copies

This feature looks for virtual copies that are an exact duplicate of their master, or of a sibling virtual copy. These virtual copies can often be safely deleted as being superfluous (with the caveat about the Book Module noted in Compare Photo Edits above).

Comparison is done as described above in Compare Photo Edits, except that the photo pick/rejected flag is ignored when using the Use the Rejected Flag method.

This feature looks at all virtual copies of all selected photos, even if they are invisible because they are hidden within a collapsed stack, are invisible because they are hidden by the Library Grid Filter, or are invisible because they are not part of the currently-selected source.

As a convenient shortcut, if this feature notices that it would work with exactly two photos — two masters that have no virtual copies, or a master and its single virtual copy — rather than reporting on superfluous virtual copies it instead reports on editable differences between the two, as per Compare Photo Edits above.


This plugin is distributed as “donationware”. I have chosen to make it available for free — everyone can use it forever, without cost of any kind — but unless registered, its functionality is somewhat reduced after six weeks.

Registration is done via PayPal, and if you choose to register, it costs the minimum 1-cent PayPal fee; any amount you'd like to add beyond PayPal's sliding fees as a gift to me is completely optional, and completely appreciated.

Note: a Lightroom major upgrade, such as from Lr10 to Lr11 de-registers the plugin in the upgraded version, so if you want to maintain registration, a new ($0.01 if you like) registration code is needed in the upgraded version. It makes for a hassle every couple of years, I know. Sorry. See this note for details.

For details on plugin registration and on how I came into this hobby of Lightroom plugin development, see my Plugin Registration page.

Version History
( Update Log via RSS )

20240611.71 Can now handle Lightroom's new preview system
20240521.70 Don't crash if "Copy to Clipboard" is invoked before it's been configured
20231015.69 Updates to support the new Process Version 6.

Upgraded to the embedded copy of ExifTool to version 12.67.


CachedImagePreviewsFile token.


Updated the "Write Data Field" function to allow {###} to fill in a sequence number to a data field.


Fixed an issue on Windows accessing custom metadata fields within master images.


Upgraded to the embedded copy of ExifTool to version 12.42.


Fixed an error when updating certain blank fields.


Enhanced "Compare Photo Edits" to display a detailed comparison of masks.


Removed a bunch of debug logging that was slowing down the LUA token.Newline


Added an explicit way to stop the Publish Continually operation.


Added the WEEKNUM token, along with DAYNUM, weeknum, and daynum.

Whack-a-mole with PayPal's random changes.


Warn when PayPal seems to have given a bogus code in the web-confirmation page.

Fixed that the Province template token did not respect the plugin-specific geo-privacy settings.

Upgraded to the embedded copy of ExifTool to version 12.25.

Fixed an issue with the {Newline} token, and added {Comma}, {Hyphen}, and {Space} for good measure.

Fixed a problem with filters on the {Keyword} token.

Added a pause to the Delete Cached Previews for Selected Photos item, when run in the background, to allow one to move away from the selected photos (lest Lightroom immediately start to rebuild the previews).

Make sure all menu entries have keyboard shortcuts on Windows


Reworked the Keywords token to better accept filters.

Added 'separated by' to the People token.


With "Compare Photo Edits", report how some of the items differ.

Added the ImageViewDirection and ImageViewBearing tokens.

Working around 'constant table overflow' error.


Added the PF filter to turn typographic fractions into plain-ASCII fractions.


Updates for Lr10.

Added the SpeedKnots token.

20200903.53 Oops, the previous update broke "Write Metadata Field".
20200901.52 Fixed some bugs with "Compare Photo Edits".
20200901.51 Added the "Find Superfluous Virtual Copies..." and "Compare Photo Edits" features.

Worked around an "unknown key captureTime" error.


Added the {PlusCode} and {GeoHash} tokens.

Some of the filename-related tokens could be incorrect in rare situations.


Added the ability to import/export presets for the write-data-field feature.


Added the "Publish Continually" feature.

In the photo-grouping feature, include HDR DNGs in the same group as the source images.

Work around a Windows bug related to canceling out of the registration dialog.

Added some extra debug logging to note whether the plugin is enabled.


Added the {RelativeFolder} token.

Upgraded to the embedded copy of ExifTool to version 11.70.

New "Copy to Clipboard" functionality.

Added the LensInfo template token.

Updated the Exposure token to allow customization.

More token work: added {Urls}, and updated {ISO} and {Copyright} to allow customization.


Fixed the SST1 and SST2 tokens.


Updated the PublishCollectionName token (and CollectionNames and CollectionFullNames) to remove the MIRROR: prefix from the name that mirrored collections within my Collection Publisher plugin automatically get.


Added functions uc(), ucFirst(), lc(), and lcFirst() to the LUA token.


Fixed a problem related to template tokens and photos without capture times.

Upgraded to the embedded copy of ExifTool to version 11.50.


Updated Personalized Auto Tone: you can now have it completely lay off (don't change) a control.


Updated the keyword-related tokens to accept standard filters.

Work around a bug that sometimes causes plugins to be disabled when starting Lightroom via clicking on a catalog file.

Fix an "Unknown key: captureTime" crash.

Added the GPSCoords token.

Lots of updates to the "Find Next Photo Group" feature:

  • "Max seconds between shots" can now be as low as 0.1 seconds.
  • You can now exclude already-stacked shots.
  • You can have it find groups that seem to be different versions of the same image (e.g. virtual copies, after editing a copy in Photoshop, etc)
  • Added more-immediate visual feedback when invoking the command.

Upgraded to the embedded copy of ExifTool to version 11.30.

Add a hook for keyboard shortcuts on Windows.


Added a bunch more fields to the "Write Data Field" feature.

Added TempC and TempF to the template tokens that my plugins understand.


Fix an issue with the delete-previews feature.

Added the PEOPLE variable to the LUA token.

Fixed a problem with the SpeedKPH token.


Updates for Lr8 (Lightroom Classic CC Version 8).

Added the special PP() function to the {LUA} token.

Added hierarchical options to the Keywords token.

Try to work around a Lightroom bug related to photo timezones and how Lightroom handles accessing plugin data.


Upgraded to the embedded copy of ExifTool to version 11.01.

Added the 'nicknames' modifier to the {People} token.


Personalized Auto Tone: Handle B&W images.

Allow "Delete Cached Previews for Selected Photos" to be applied to vidoes.

Added the SST1, SST2, and SS3 tokens to the template tokens that the plugin understands.


Upgraded to the embedded copy of ExifTool to version 11.01.


Maybe fixed the saturation-minus-100 issue with Personalized Auto Tone.

Upgraded to the embedded copy of ExifTool to version 11.00.


In "Personalized Aut Tone", allow Lightroom's settings to be applied up to 200% (was 120%).


Removed 'Clarity' from the "Personalized Auto Tone" stuff. Auto Tone doesn't touch Clarity... I'm not sure why I ever thought it did.

Fixed a bug when 'Token Examples' invoked in certain situations.

Clicking on the version number in the Plugin Manager now copies version info to the clipboard

Updated the PublishCollectionName token to allow numeric arguments along the lines of the CollectionName token.

Added the folowing template tokens: {home}, {desktop}, {temp}, {pictures}, {documents}, IptcDateTaken

Added the 'PCH' variable to the {LUA} tag.


Spiffed up the UI to Personalized Auto Tone a bit.


Added a new goody for Lr7.3 (and later): Personalized Auto Tone.

Added a bunch of token filters: F2D F2S F2X B2D B2S B2X S2X A2D A2S A2X

Upgraded to the embedded copy of ExifTool to version 10.82.


Updates to the data templates that my plugins understand: updated the Keywords token, added CollectionNames and CollectionFullNames tokens, and added a bunch of stuff (KWf, CN, CFN, CNf, CFNf) to the {LUA} token.

Better handling when the plugin is reloaded in the middle of a session.


Oops, more Lr7 stuff.


Updates for Lightroom 7


Allow the "If Exists" feature of Templat Tokens to work with the PluginProperty token.

Better handle some character-encoding issues related to template tokens.

Update registration support to handle a stupid bug at PayPal that PayPal refuses to fix )-:


Added the {Exiftool=....} token, so now you can copy Exiftool fields from the master image file to a Lightroom data field.


Fixed a bug introuded the other day in template tokens, related to Windows filenames.


Added the "only if it has a value" feature to template tokens.

Updated the {FolderName} token to allow {FolderName=1} (rather than requiring the plus as in {FolderName=+1})


Consolidated the "Clear Standard Previews for Selected Photos" item and the "Delete Cached Previews for Selected Photos" item into one. They essentially did the same thing... I apparently added one without having remembered that I'd added the other a few months prior. How scatterbrained can one be!? Anyway, it's now much better, offering the option to leave previews for offline photos, and to report on what would happen rather than actually doing it.


Added the IPTC "Event" field to the "Write Data Field" feature.

Upgraded to the embedded copy of ExifTool to version 10.55.


Added the Newline template token.

Enhanced the FolderName token.

Added "Sublocation" to the "Write Data Field" feature.

Upgraded to the embedded copy of ExifTool to version 10.50.


The "Find Next Group" now knows that a change in certain metadata means that photos can't be grouped: camera make/model, image dimensions, image format.


Better plugin-name reporting for the Publish At service.


Fix to the Russian-language support for the People Support plugin.


Upgraded to the embedded copy of ExifTool to version 10.40.

Added the following tokens to the template tokens that my plugins understand: Artworks, ArtworkTitle, ArtworkCopyright, ArtworkSource, ArtworkCreator, ArtworkDateCreated, ArtworkInventoryNum


Added "ISO8601Date" to the template tokens that my plugins understand.

Switch the log-sending mechanism to https.


Added a preset function to the write-data-field goodie.

Upgraded to the embedded copy of ExifTool to version 10.36.


Added "Publish At...

(Today is the 9-year anniversairy of my plugin stuff.)


Added "Clear Standard Previews for Selected Photos".

Upgraded to the embedded copy of ExifTool to version 10.26.


Cleaned up "Compare Photo Times" dialog on Windows. Not sure how it got dorked so badly.


Added "Write Data Field..." goodie.

Upgraded to the embedded copy of ExifTool to version 10.20.


Added hooks for Windows keyboard shortcuts.


Added "Compare Two Collections/Folders" goodie.

Added "Publish All in Selected Service" goodie.


Added the "Delete Cached Previews for Selected Photos" goodie.

20160328.2 Fix a display issue with in the mark-as-up-to-date dialog
20160201.1 Initial public release

All 29 comments so far, oldest first...


I use your Folder Publisher and Metadata Presets plugins already and I downloaded Bag of Goodies to try to solve a problem I created for myself. I used the IPTC Headline field to store each photo’s filename as of a date in 2016 before I renamed everything. I decided to move it from a standard field to a custom metadata field instead. I already have created a plugin of my own where I add 20+ custom metadata fields and a metadata panel to enter & edit those along with the standard metadata fields I care about.

Would there be an easy way to extend the tags/tokens you support in the Write Data Field part of Bag of Goodies to support custom fields? Since I created the fields I know their IDs so just allowing your plugin to support {com.xxtwnz.todo.PWWCamera} or {PWWCamera} another plugin’s IDs would then let me move data between the standard fields you already have a token for and my own custom fields.

I haven’t found any plugins that let me copy data from a standard metadata field to a custom field or the reverse. I did find one plug of John Ellis’ that allows one to make his plugin aware of another plugins custom fields so one could then search on those. Doing something like that would be great.

Please let me know if what I’m proposing is feasible with little effort or a big job.

Thanks so much or what you do to make LR do what it already should do.

You can refer to your custom fields via th PluginProperty token when writing a standard metadata field, but unfortunately, Lightroom doesn’t let one plugin update the data for another, so there’s no way to use my plugin to update your custom fields. )-: —Jeffrey

— comment by Philip on May 23rd, 2017 at 3:19am JST (7 years, 2 months ago) comment permalink

Is there any way to add the Event field (IPTC:Extension) into the Write Data Field drop down? Will you also be able to add it to the available tokens?

(Houston, TX, US)

Sure, I’ve just added it to the list of writable fields. It has long existed as a template token for reading. —Jeffrey

— comment by Joe on June 8th, 2017 at 2:35pm JST (7 years, 1 month ago) comment permalink

I was using this plugin till about a year ago. I had taken a personal time-off. I want to use the plug-ins to publish to Facebook and Google Photos. I was doing this easily from Aperture and later from Lightroom. I had subscribed to this Plug-in then, now I have tried to update all the available options. It doesnt seem to work. “Facebok Export Plugin Infor” – unable to Export, The section says upgrade to .402, while I have downloaded, the same does not install on its own. The zip files seems to be for Windows. I am operating a iMac, with the latest OS. Not sure how to proceed.

The automatic upgrade stuff in my plugins doesn’t always work smoothly, depending on your system, so in this case it’d be better to just delete all the old copies of the plugin from your machine (you won’t lose any data… none is kept in the plugin files), download and unzip a fresh copy. If you decided that you want the plugin to live on your system in a different place than it lived before, then re-point the Plugin Manager at the new location. There is only one download, and it’s used for both Win and Mac. —Jeffrey

— comment by Arvind Venkatraman on June 21st, 2017 at 2:06am JST (7 years ago) comment permalink

I use the Write to Data field a lot. I write the Headline to Title and set to overwrite always. This is a great utility!

I use PhotoSupreme v3 as my DAM and when I go to PhotoSupreme and read metatadata data such as ISO, camera, f/stop, focal length are erased and don’t display in the program. I need to convert metadata to XMP in PhotoSupreme and then save to file (two steps).

Any reason your Write to Data field would cause this? No other change I make in LR has this same effect.

While not your issue, I also have to go through the same steps when processing RAW to jpg in CaptureOne.

The write-data-to-field feature never touches the image files (nor sidecar files like XMP)…. it’s just an update in Lightroom’s database. If you have Lightroom’s “auto-write XMP” feature turned on (which I generally recommend against), then of course most data changes in Lightroom result in data being written back to the file/sidecar, but that’s all Lightroom and so it should all be standard. Sounds like an issue with PhotoSupreme. —Jeffrey

— comment by Larry on October 19th, 2017 at 11:22am JST (6 years, 9 months ago) comment permalink


I name and organize images chronologically, and I also shoot a lot of bursts and bracketed images. Unfortunately LR’s image renaming templates only include Hours, Minutes and Seconds, but nothing for fractions of a second. I am pretty sure LR has the sub-second info because a) they can correctly chronologically sort multiple images taken in the same second, and b) you access sub-second data in at least two of your plugins – “Metadata Viewer” and “Bag of Goodies”.

I know there are work-arounds to create filenames that will properly sort chronologically, but being able to tap the sub-second data would be preferable. This issue has popped up in LR forums for years but Adobe has not addressed it. Any chance that functionality could find it way into one of your plugins?

Since you asked, I am writing from Music City USA, aka Nashville TN.

Sadly, Lightroom doesn’t allow a plugin to change a master-image filename directly, but what you can do is use the “Write Data Field” feature of this plugin to fill into a field that Lightroom’s renaming subsystems can use. For example, “Headline”. To access the sub-second time, use the SST1 token (or SST2 or SST3) tokens, which are available as of the new version of this plugin that I just pushed out. —Jeffrey

— comment by Tim on April 7th, 2018 at 11:13am JST (6 years, 3 months ago) comment permalink

Would love to be able to hide the options I do not plan to use so they do not clutter up the File>Plug-In Extras menu. I downloaded this plug-in just for the Personalized Auto-Tone feature. I always tell people about your plug-ins they’re amazing!

Yeah, I hear what you’re saying, but Lightroom makes it very difficult because the Plugin Extras stuff has to be hard-coded into a program file. I did build one of my plugins to allow its Plugin Extras list to be edited by having it build a new program file and overwrit the original in place, but that’s an extremely kludgy and fragile operation. I could, of course, put each of these items into its own plugin, but worry that folks would find a bunch of little plugins to be more hassle than one collection of random little things like this….. —Jeffrey

— comment by Ben W. on April 20th, 2018 at 10:19pm JST (6 years, 3 months ago) comment permalink

Hi Jeffrey,

Thank you for your very usefull “Personalized Auto Tone” plugin, I came across now. It would be a great help for me, because I use LR Auto tone as a starting point in the same way as you described: I reset Vibrance, Saturation, Contrast and often Shadows, because otherwise the images get unnatural for my sense.

But unfortunately I can’t apply your plugin to a selection of images. If I select some in filmstrip with “Autosync On”, the Auto of LR is applied, but the reset to your personalised settings are only applied to the highlighted one, I see in the loupe view.

What do I wrong? Thank you so much for your help!

I guess that the problem is Autosync. I never use it, but if I imagine how it works, yeah, you don’t want to use it with Personalized Auto Tone. Unfortunately, there’s no way for the plugin to detect whether you have Autosync on, so it can’t help you with that. —Jeffrey

— comment by Smarflow on June 3rd, 2018 at 3:12pm JST (6 years, 1 month ago) comment permalink

Hi Jeffery, I am trying to find a way to rebuild standard previews for iPhone videos now that Adobe has fixed the orientation bug in the 7.4 Classic CC release. While all the affected videos now play correctly in Loop the thumbnails are still upside down or sideways. I tried to use “Rebuild Standard Previews” in Lightroom but it simply states that all the previews are up to date.

So I was happy to see the “Delete Cached Previews for Selected Photos:” option for this plug-in. But this option is greyed out when I select a video. Is it possible to make this work for videos as well as images?

tks, louie

Good catch. I’ve just pushed out a new version of the plugin that allows this. —Jeffrey

— comment by Louie Sherwin on June 22nd, 2018 at 11:58pm JST (6 years ago) comment permalink

Hi Jeffrey,
I have the following problem:
I get from the family a lot of whatsApp photos.
The only information on those images are in its name as in “WhatsApp Image 2018-04-19 at 15.32.55.jpeg”
My question is how to extract the date and time information from the file name, and place those in LR in the proper field ” Date Time Original”.
Can this be done with any of your plugins? Can this be done at all?
Since whatsApp if wildly used this will be a nice feature to add even knowing that those photos are a very low resolution, but I have a catalog just for that kind of family photos used to keep organized those images sent from the family and friends.
Let me know if you could help me on that.

For whatever reason, Adobe doesn’t allow a plugin to update a photo’s date, so you’d have to stuff the date into the image prior to importing into Lightroom. One way to do that would be with the exiftool command-line tool, applying this command:

exiftool '-datetimeoriginal<${filename;s/\D+//}' WhatsApp*.jpeg

That should stuff the date found in the filename into a metadata field that Lightroom will recognize. —Jeffrey

— comment by Thales on August 5th, 2018 at 5:18am JST (5 years, 11 months ago) comment permalink

I find that auto exposure in the recent versions of Lr are to dark, to much on the left side. So to counter this (and keeping my workflow as light as possible) I use the native auto tone and then add 2/3 stops on exposure. The results are generally good. Since each photo as a different exposure, this methode does not work with presets. Could your tool be enhanced with a feature that does the same thing?

It’s a two-step process, but after Auto-Tone, you could use my Bulk Develop plugin to add the exposure. —Jeffrey

— comment by Tore Sætre on September 13th, 2018 at 3:29am JST (5 years, 10 months ago) comment permalink

Hi Jeffrey,

I’m using the “Write Data Field” option – the problem is that the field I want to write into is a custom metadata field that I have defined. I am in the process of changing my file naming convention but need to keep the old reference as searchable. Solution: Add my own field to store it – but now I need to copy {filename} to it. I know you support custom fields in the ‘from’ field via {PluginProperty= } is there any chance of extending this functionality to the ‘destination’ field.


No, because Lightroom doesn’t allow one plugin to write the data of another. )-: —Jeffrey

— comment by Ian M Butterfield on November 5th, 2018 at 8:36pm JST (5 years, 8 months ago) comment permalink


I’ve just come across your Auto-Tune plug-in which is excellent and very useful. For years I’ve been asking Adobe to allow selective autotune in Lightroom – but to no avail. As a key part of my wedding workflow I import images with a specific preset. For my style this gets me 90% to where I want to be. I often have to lift exposure a little – and sometimes I use the shift-double click auto feature for highlights, shadows, blacks and whites.

Would it please be possible to tweak your plug so that it will leave certain parts of the autotune components alone. At the moment I believe it will set these to zero – rather than ignore them. That would help me immensely.

Thanks very much

Best wishes


Seems like a good idea…. done. —Jeffrey

— comment by Julian Roberts on May 3rd, 2019 at 9:51pm JST (5 years, 2 months ago) comment permalink

Reid here. I came up with “I think Lightroom will be to photographers what Photoshop is to photographs.”  which you attributed to me almost 12 years ago to the day. And Lightroom is still going strong if Adobe doesn’t kill it off with 2xing the subscription price…

I just tried to install Timothy’s Keyboard Tamer but it’s malfunctioning. Do you have a keyboard re-mapping/assigning plug in that would allow me to run Personalized Auto Tone with a keyboard shortcut?



12 years… wow. Still a good quote. About the shortcuts, I’ve got it set so that ‘A’ is hot for “Personalized Auto Tone” on Windows. Do you have some other plugin interfering, perhaps? —Jeffrey

— comment by Reid on May 11th, 2019 at 2:44am JST (5 years, 2 months ago) comment permalink

Hi Jeffrey
I got the error message “WriteMetadataField:318: attemt to index a nil value”, when I use Write Data Field to write into “Person Shown in the Image” (Person im Bild).
I have no idea how to fix it.

You may have a hint for me.

Please send a plugin log the next time you encounter this. Thanks. —Jeffrey

— comment by Daniel on June 19th, 2019 at 6:15am JST (5 years ago) comment permalink

Hi Jeffrey,

I believe I encountered a legitimate issue with your Bag O Goodies plugin.

ISSUE: Personalized Auto Tone is missing

DESCRIPTION: I installed Bag O Goodies. When I access the Plugin Extras menu I don’t see Personalize Auto Tone. I can see all the other Tools in the Plugin Extras menu -all except Personalized Auto Tone. Tested your latest 20190504.40 version on a Windows 7 laptop and and Windows 10 tablet with identical results.

Any help would be appreciated, I look forward to utilizing this tool.

Love your stuff! JF Folder Watch is killer!

Kind Regards,
Justin Valle

I’d guess that your version of Lightroom is too old. You need at least 7.3. The CC upgrade should be free, though if you indeed update from Lr7 to Lr8, note that plugin registrations will be lost, sorry. As mentioned at that link, a new code can be created with a 1-cent transaction. Sorry for the hassles. —Jeffrey

— comment by Justin Valle on July 7th, 2019 at 7:14am JST (5 years ago) comment permalink

Hi Jeffrey, I’m excited to use some of your plugins. So far, though, I get “An error occurred when attempting to load this plugin” message when trying to add them using the Plugin Manager. Are there some versions that they don’t work with? I’m using Lightroom 6… (new to this but learning fast)
Please see this FAQ —Jeffrey

— comment by Gita on August 24th, 2019 at 10:59am JST (4 years, 11 months ago) comment permalink

Your Publish All in Selected Service feature is very convenient! I have a question, though. If I click on the highest level folder of a Publish Service (and all collections are contained in that folder), I can click Publish on this highest level folder and LR will then update all the collections.

Does Publish All in Selected Service differ in any material respect? (Obviously, if I didn’t have all my collections inside a highest level folder, the LR method wouldn’t work).

As an unrelated question, if I have left a comment on a given plugin’s page and entered my email, if I comment again, do I need to reenter the email, or “once subscribed, always subscribed” to a given plugin’s comments?

I believe it’s “once subscribed, subscribed until you cancel”. Superficially, “Publish All…” ends up being the same as manually selecting collections and/or sets of collections and then clicking [Publish], though it’s possible that Lightroom does things in a different order than the plugin would, or maybe does more in parallel than the plugin would. One benefit to the plugin is that a keyboard shortcut can be ascribed to the action, which I think was the goal that drove the request for the feature in the first place. —Jeffrey

— comment by Robert Camner on January 25th, 2020 at 3:45am JST (4 years, 6 months ago) comment permalink

I use Personalized Auto Tone on a regular basis (thank you!), and I would like to create a keyboard shortcut for it (I’m on a Mac). I’ve noticed that to make a shortcut via System Preferences requires typing the command (including the hierarchy) precisely.

I tried to assign Shift-Control-T (which I don’t think is assigned to anything else in LR because when I type that combination, I get the system beep) to “Library->Plug-in Extras->Apply Personalized Auto Tone”, but that didn’t seem to work.

Am I missing something about how to do this?

When creating the shortcut, you need to enter only “⎵⎵⎵Apply Personalized Auto Tone”, where the “⎵” in my presentation here is replaced by a space when you actually type it. That is, you need three spaces and then the final menu command. —Jeffrey

— comment by Robert Camner on January 25th, 2020 at 3:59am JST (4 years, 6 months ago) comment permalink

Thanks! The “⎵⎵⎵Apply Personalized Auto Tone” worked perfectly.

I was following the example given in the Help for the Keyboard Shortcuts in System Preferences. There it says:
In the Menu Title field, type the menu command for which you want to create a shortcut, exactly as the command appears in the app, including the > character (type ->), ellipses (type three periods without spaces or press Option-;), or other punctuation. For example, to set a shortcut for the default ligature command in TextEdit, you would type Format->Font->Ligatures->Use Default. To set a shortcut for the Export as PDF command, you would type File->Export as PDF… in the field.

These directions obviously didn’t work…

Is there something magic about the 3 spaces? Is it because Apply Personalized Auto Tone is at the 3rd level (Library->Plug-in Extras->Apply Personalized Auto Tone) or do the spaces mean something else entirely?

Adobe engineers choose to present plugin menu choices with three leading spaces, likely so that the plugin name itself can appear outdented in the menu (which makes things much clearer when one has more than a few plugins installed). MacOS just sees the three leading spaces as part of the command name, and so that’s what you have to enter when creating the shortcut. —Jeffrey

— comment by Robert Camner on January 25th, 2020 at 8:39am JST (4 years, 6 months ago) comment permalink

When I first started using Personalized Auto Tone, in the Develop History it reported it as “Multiple Settings.” Now it says “Camera Raw Settings.” Is this just a change in nomenclature?

Nothing about the plugin has changed. It could be that Adobe made a change in nomenclature, or it could be that “Multiple Settings” happens when the plugin does multiple things quickly, and those multiple things get coalesced into one step (and so where you see “Camera Raw Settings”, it in a case where the plugin had to do only one update). —Jeffrey

— comment by Robert Camner on January 25th, 2020 at 8:46am JST (4 years, 6 months ago) comment permalink

Do you have a product or a method that helps when publishing a large number (e.g. > 2000) new or updated photos? When publishing, I’ve had experiences where LR seems to hangup, either because it works away for an extended period of time in preparation for the actual export but I don’t get any visual clues or it really does hangup after I’ve waited patiently for a day for it to do it’s thing. I’ve tried to temporarily modify my smart collection (e,g, use a flag or keyword to trim down the number of photos to be updated). But all the photos now excluded in the set of published photos become candidates for deletion from the published set. I placed this question in the bag-o-goodies hoping this would be an appropraite place. Thanks

2,000 shouldn’t really be a large number, unless you’ve got some big videos. (With videos, “1” can be a large number.) In any case, if you select some subset then hold down the option/alt key, [Publish] becomes [Publish Selected], which sounds like what you’re looking for. —Jeffrey

— comment by Brian Pearson on December 19th, 2020 at 3:39am JST (3 years, 7 months ago) comment permalink

Hi Jeffrey, I have been using various plugins from you for a long time.
The new “Compare Photo Edits” feature in the “Bag-o-Goodies” plugin is also very useful.
Would it be possible not only to show in which settings there are differences, but also to show the corresponding value with it!

Z. B.
Exposure: Image 1 +1/3 EV Image 2 -2 EV

Thanks a lot for your great work!
Best regards, Ulrich

That seems like a reasonable thing. I’ve pushed out an update with it. —Jeffrey

— comment by Ulrich Pohl on February 14th, 2021 at 8:22pm JST (3 years, 5 months ago) comment permalink

Hi Jeffrey, thank you very much for your fast resposne. The Update works fine and shows what I asked for!


— comment by Ulrich Pohl on February 17th, 2021 at 8:05pm JST (3 years, 5 months ago) comment permalink

The “Write Data Field” Plug-in is great! Thank you!

Is there any way to make a single preset modify multiple Fields? For example, I currently use it to fill “Person Shown” with {People}. But I really would love to also be able to change “Title” to be the Picture Filename ({LibraryFilename}).

Right now, It means I have to apply two presets. If I want to do other stuff like set Location as Location Shown, it means a third preset etc. If a single Preset could apply multiple rules, that’s would be really great! (and maybe a dedicated Hotkey :-)).

Thank you!

That sounds like a great idea, but it’s too big of one for me to work on at the moment, sorry. Perhaps in the future! —Jeffrey

— comment by Roger on April 13th, 2021 at 5:02am JST (3 years, 3 months ago) comment permalink

Fair enough 🙂
Perhaps I can just do something in Python (saw there’s an IPTC library), or maybe it’s time to learn some lua 🙂

Thank you Jeffrey!

— comment by Roger on April 14th, 2021 at 7:35pm JST (3 years, 3 months ago) comment permalink


“Publish Continuously…” is a great to tool to use in combinaton with WP/LR-Sync from MEOW.
Is there a trick to start the plug in automatically when LRC starts. This would make it even better.



— comment by Christian Schillab on May 26th, 2021 at 6:25am JST (3 years, 2 months ago) comment permalink

We use Lr 6.14 that last stand-alone version to edit sports photos. typically 1000 photos per game.
We have an import preset that use “Auto Tone” and while it does an ok job we manually Tweek each and every photo before we export to our website… typical we edit a match photos in an hour. ( you need a bit of practice to get this speed, and we have lots and lots of practice. ) We typically have to hit Highlights and Shadows on every photo but the rest is fine. How can we utilise the “Customised Auto Tone” for cc version referred to here? Suggestions Gerry

The plugin could be useful if your manual tweaks always tend to be describable as “take the values that auto-tone came up with, and make them a bit more (or less).” If your highlights/shadows tweaks tend to be scattered… sometimes adding to what auto-tone did, and sometimes backing off, then the plugin might be no better than not. In any case, it’s free to use, so give it a try. —Jeffrey

— comment by Gerry O'Sullivan on October 28th, 2021 at 7:37pm JST (2 years, 9 months ago) comment permalink

I downloaded this excellent plugin and it had worked fine for 3 months, used it to update metadate, but this week it displays “inspecting catalog” and freezes when I try to use LUA to update metadata.

Tried on other machine, reinstalled Lightroom, reinstalled the plugin, but get the same error.

Example: {Caption} works, but {lua: return Caption}, or any other rlua command just freezes lightroom.

Any advice?

Best Regards
Joe William

After it seems to get stuck, could you send a plugin log, then try again with the new version of the plugin that I just released, and send another log to let me know whether that had any impact? —Jeffrey

— comment by john on March 1st, 2022 at 10:17am JST (2 years, 4 months ago) comment permalink

Ever since the last update, Write Data Field to the Title field takes forever. A dialog appears saying Inspecting Catalog and it takes at least 1-2 minutes to write the data even if I’m only updating a single title. It never used to do this. I tried to send the log to you but it says its over 36MB. Any suggestions on how to fix this?

That definitely doesn’t sound correct. Maybe restart Lightroom (to clear out the log), then invoke Write Data Field. Then send the log…. —Jeffrey

— comment by Jacques Giraud on March 1st, 2022 at 6:00pm JST (2 years, 4 months ago) comment permalink
Leave a comment...

All comments are invisible to others until Jeffrey approves them.

Please mention what part of the world you're writing from, if you don't mind. It's always interesting to see where people are visiting from.

IMPORTANT:I'm mostly retired, so I don't check comments often anymore, sorry.

You can use basic HTML; be sure to close tags properly.

Subscribe without commenting