One example of the plugin's 168 ways to group your images
This plugin for Adobe Lightroom allows you group photos and videos in your Lightroom catalog by more than 100 data criteria. For example, grouping a large folder tree by “Crop Amount” might result in the screenshot seen above.
By clicking “isolate” on each row, the relevant images are shown. The plugin also creates a row-specific collection, such as:
and populates it with the pertinent photos so that you can refer to them later.
The basic purpose is essentially the same as Lightroom's own Library Grid Filter, but Adobe's built-in functionality, though fast, has extremely limited scope. If it were able to handle more than the scant few fields it currently supports, there would be no need for this plugin, but it doesn't, so here we are.
As it is, this plugin lets you inspect and group photos via a bewildering number of criteria, from the mundane (“group by copyright name”) to the esoteric (“group by geoencoded hemispheres”) to the particular (“group by amount of Clarity applied in Develop”) to the advanced (“group by camera-calibration profile”). The entire list of 168 criteria is shown below.
Table of Contents
This plugin works in Lightroom 5 and Lightroom 4.
Lightroom 4.1 or later is required.
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.
Search. Filter. Group. Explore.
This plugin can be used to search or to browse. A search helps you locate photos that match specific criteria, such as “Where are my panoramas with a really wide aspect ratio?”, while browsing lets you see the range of values represented by some particular criteria in your library, answering questions like “What range of aspect ratios do I have in my library?” (The answer for my catalog at the moment: as tall as “1 : 2.58151” and as wide as “6.4 : 1”).
Browsing can be both fun and useful, especially for catalog cleanup, such as after grouping by “Copyright”, you may see various versions of the same person's name that you'd want to make identical.
Sometimes the results are surprising. While making the screenshot shown at the top of this page, the first thing I noticed was that four photos had an essentially-100% crop! I wondered what they were, and found the answer with one click of the “isolate” button: the four photos were presented and I recognized them as the extrem crops that appeared on this blog post 18 months ago, and an extreme crop of the first photo on this post that I used to use as my online avatar.
Anyway, I started writing this plugin the first time I tried to use the results of an X-Rite ColorChecker Passport in Lightroom, which allows you to make situation-specific camera-calibration profiles for Lightroom's render engine. After trying it with some photos in my library, I quickly lost track of which photos got which profile; it was very frustrating because the only way to know was to inspect each photo's develop settings, one by tedious one, and manually keep a running tally.
Now, I can invoke this plugin on a folder and quickly see:
It didn't take long to solve my immediate need (a crude plugin that merely listed the camera-calibration profiles and their photos), but it's taken three weeks of never-ending “just one more enhancement...” development to whip it into good enough shape to put my name on and release.
Even while writing up this web page after I thought the plugin was ready to release, I realized that Lightroom does not normally subject images hidden within collapsed stacks to catalog operations (such as the grouping operation done by this plugin), so writing this page got put on hold while I addressed that issue in the plugin:
It wasn't straightforward at all, especially to handle it as efficiently as possible, so I burned the better part of a day on just that. Such is the nature of Lightroom plugin development driven by a passion to make things useful.
While talking about searching and browsing, for times when you want only to search, this Data-Explorer plugin may well fill your needs, but you may also want to keep the following plugins in mind as well:
I've not used John's plugin, but it looks to be quite impressive.
The plugin is invoked via “File > Plugin Extras > Explore...”, but it's much faster and convenient to invoke via a Lightroom keyboard shortcut.
On Windows, the keyboard shortcut is “ALT-F S E”.
On a Mac, you can set the shortcut as you like. For my own workflow, I've chosen “Option Shift Command F”.
This pops up a dialog that allows you to select the criterion to explore by:
You can pick something from the dropdown box (currently showing “Aspect Ratio...” in the screenshot above), or just start typing search terms, and the dialog immediately transforms into an effective way to find the item you want among the 168 criteria the plugin supports:
Clicking on any criterion returns you to the initial dialog with that item selected, but if the search results in just one criterion, you can press ENTER to immediately launch Data Explorer with that criterion as the basis for grouping.
The “Include items hidden within collapsed stacks?” option is off by default because with large sets of photos it can cause quite a delay because when enabled, the plugin must fetch stack-related data from the catalog, then walk the list inspecting each stack for new photos not already included.
This doesn't take long for small sets of photos... on my laptop it takes about a second to do 1,000 photos, but even this is highly dependent on what else Lightroom is doing in the background. (When I select “All Photographs”, Lightroom turns my CPU into a space heater as it renders thumbnails in the background.)
But that time adds up, and it's a one-minute delay for 60,000 photos. Because the process must finish before the grouping process can be launched, I made the entire option default to unselected.
By the way, here's an interesting general little Lightroom workflow tidbit: Lightroom ignores stacks if you select both Folders and Collections, bringing anything that had been hidden within collapsed stacks into the target set. So, if you select “All Photographs” in the upper left of Library and see “X of Y photos” in the filmstrip instead of just “Y photos”, and if this can't be explained by you Library Filter, you have photos hidden within collapsed stacks.
If you then option-click (ALT-click) on any folder, you're not really adding anything new to the target set because any folder's photos are already included with “All Photographs”, but because you've now got a collection and a folder selected, Lightroom ignores stacking and voilà, you're at a straight-up “Y photos” that really is everything in your catalog.
You can apply the same idea while viewing a specific folder if you create an empty collection (perhaps named “Empty”) that you can add to the selection.
The following table lists the 168 criteria available as of version 20140706.73.
Due to the nature of Lightroom's plugin infrastructure, items marked with a “*” take longer to process.
Items marked with a “***” take even longer, requiring a full inspection of each master image file.
|In Lightroom Library|
|File Currently Available?*||File is available, or offline (e.g. on an external disk not currently connect)?|
Example responses include:
|Smart-Preview Status*||Does a smart preview exist for the image? (Lightroom 5.0 and later)|
Example responses include:
Also reports the amount of disk space actually taken by Smart Previews, and the space savings afforded by those Smart Previews (that is, for images with Smart Previews, their disk space relative to the disk space required for their master images).
|File Type||File type (DNG, JPEG, Raw, Video, ...)|
|File Write-Permission Status||Whether the file can be changed (written) and/or deleted|
|Folder Name||Name of the folder (without path) the file is in. Useful for isolating images in a parent folder when there are also images in a subfolder.|
|Path Name||Full path of the folder the file is in. Useful for isolating images in a parent folder when there are also images in a subfolder.|
|File Extension||Filename extension (JPG, NEF, AVI, MTS, CR2, ...) in a case-insensitive manner.|
|Filename extension (jpg, NEF, AVI, mts, CR2, ...) in a case-sensitive manner|
|Copy Name||Virtual-copy name for the photo/video.|
|Virtual-Copy Count||Number of virtual copies a master image or video has.|
|Snapshot Count*||The number of snapshots for the related master photo.|
|Stacking Status||Status with respect to stacking (within its parent folder).|
Example responses include:
|Stack-Membership Size||Number of photos/videos in its stack (within its parent folder).|
|Position in Stack||Place in stack (within its parent folder).|
Example responses include:
|Number of Updates||Rough count of changes (both metadata updates and develop edits). It's not an absolute counter, though, as Lightroom lumps multiple changes within a short time as a single update.|
|Most-Recent Update Date||Date of the most recent database change (metadata update or develop edit) to the image|
|Rating||Star rating (a number from 1 to 5).|
|Flag Status||Pick, Rejected, or Neither|
|Color Label||Color label name.|
|Keyword List (all)||List of all keywords associated with an image (warning: can be long!).|
|Keyword List (exportable only)||List of keywords marked “include on export” (warning: can be long!).|
|Keyword List (non-exportable only)||List of keywords not marked “include on export” (warning: can be long!).|
|Keyword Count (all)||Count of all keywords associated with an image.|
|Keyword Count (exportable only)||Count of keywords marked “include on export”.|
|Keyword Count (non-exportable only)||Count of keywords not marked “include on export”.|
|Plugin custom metadata?||Shows the number of plugins that have added custom metadata for the image. The list of plugin ids is included in TSV spreadsheet file.|
|Camera Make and Model||Camera manufacturer and model name.|
|Camera Make, Model,|
and Serial Number
|Camera name with its serial number.|
|Lens||The lens used to take the photo (e.g. “50 mm f/1.4”).|
(built from master-file data)
|A description of the lens cobbled together from the raw master-file metadata. This can be useful to identify certain kinds of manual lenses, or perhaps lens + teleconverter combinations.|
|Focal Length||Focal length of lens as shot (e.g. “85 mm”).|
|Focal Length 35mm Equiv||Focal length of the lens as shot, in full-frame 35mm terms (e.g. “135 mm”).|
|Software||Software used to process/create the photo prior to import into Lightroom.|
|Exposure*||Exposure summary (e.g. “1/60 sec at f/2.8”).|
|Total camera exposure (Ev), derived from the shutter speed, aperture, and the ISO speed rating (but without any adjustment for Exposure added or removed in Lightroom). Gives a sense for how much light was available. Lower numbers mean less light.|
|Total Effective Exposure*|
(effective camera Ev)
|Total effective camera exposure (effective Ev), derived from the shutter speed, aperture, and the ISO speed rating, then adjusted to reflect any Exposure added or removed in Lightroom. Gives a sense for how much light was available. Lower numbers mean less light.|
|Shutter Speed*||Shutter speed used to take the photo (e.g. “1/60 sec”).|
|Aperture*||Aperture used to take the photo (e.g, “f/2.8”).|
|In-Camera Exposure Bias*||In-camera exposure bias/compensation (e.g. “-2/3 EV”).|
|Flash||Whether the flash fired (“Did fire” or “Did not fire”).|
|Exposure Program||Exposure program (“Manual”, “Aperture priority”, “Landscape”, ...).|
|Metering Mode||Metering mode (“Center-weighted average”, “Spot”, ...).|
|ISO||ISO Sensor-sensitivity speed rating (e.g. “100”).|
|Subject Distance||Subject distance (e.g. “1.92 m”); often wildly incorrect.|
|Cropped?||Has a crop been applied in Develop? (“Cropped” or “Not cropped”)|
|Crop Rotation*||Amount of crop rotation applied in Develop, rounded to the nearest degree (e.g. “2° CCW”).|
|Crop Amount*||Relative area of the image cropped away from the original, in percent. Larger numbers indicate images left with increasingly smaller areas compared to their original.|
|Megapixels (post-crop)||Image size, after any Develop crop/rotation adjustments, in megapixels.|
|Megapixels (original)||Original image size, prior to any Develop crop/rotation adjustments, in megapixels.|
|Width x Height (post-crop)||Dimensions, after any Develop crop/rotation adjustments, in pixels and megapixels (e.g. “3208 x 4928 (16.0 MP)”)|
|Width x Height (original)||Original dimensions, prior to any Develop crop/rotation adjustments, in pixels and megapixels (e.g. “3208 x 4928 (16.0 MP)”). Note: “Original” does take into account any “Rotate Left (CCW)” or “Rotate Right (CW)” applied to the photo; just not subtle rotation applied in the Develop Module|
|Long Edge (post-crop)||Length of the long edge of the image, after any Develop crop/rotation adjustments, in pixels.|
|Long Edge (original)||Length of the long edge of the original image, prior to any Develop crop/rotation adjustments, in pixels.|
|Short Edge (post-crop)||Length of the short edge of the image, after any Develop crop/rotation adjustments, in pixels.|
|Short Edge (original)||Length of the short edge of the original image, prior to any Develop crop/rotation adjustments, in pixels.|
|Width (post-crop)||Width of the image, after any Develop crop/rotation adjustments, in pixels.|
|Width (original)||Width of the original image, prior to any Develop crop/rotation adjustments, in pixels. Note: “Original” does take into account any “Rotate Left (CCW)” or “Rotate Right (CW)” applied to the photo; just not subtle rotation applied in the Develop Module|
|Height (post-crop)||Height of the image, after any Develop crop/rotation adjustments, in pixels.|
|Height (original)||Height of the original image, prior to any Develop crop/rotation adjustments, in pixels. Note: “Original” does take into account any “Rotate Left (CCW)” or “Rotate Right (CW)” applied to the photo; just not subtle rotation applied in the Develop Module|
|Aspect ratio of the image, after any Develop crop/rotation adjustments, without regard to image orientation (e.g. “2 : 3”)|
|Aspect ratio of the original image, prior to any Develop crop/rotation adjustments, without regard to image orientation (e.g. “2 : 3”). Note: “Original” does take into account any “Rotate Left (CCW)” or “Rotate Right (CW)” applied to the photo; just not subtle rotation applied in the Develop Module|
|Aspect ratio of the image, after any Develop crop/rotation adjustments (e.g. “5 : 4”).|
|Aspect ratio of the original image, prior to any Develop crop/rotation adjustments (e.g. “5 : 4”). Note: “Original” does take into account any “Rotate Left (CCW)” or “Rotate Right (CW)” applied to the photo; just not subtle rotation applied in the Develop Module|
|Aspect Ratio compared to...||Post-crop aspect ratio compared to an aspect ratio you specify: “Same”, “Wider”, “Taller”. This can be useful if you need to do different processing/cropping/exporting based on how an image's aspect ratio best fits a specific display aspect ratio.|
With Respect to Image Sensor
|The image orientation with respect to a straight-from-the-sensor presentation, e.g. “rotated 90° clockwise” and “flipped vertically”. For many modern cameras with orientation sensors, Lightroom applies an orientation update automatically upon import; these automatic updates are not distinguishable from subsequent user-directed updates.|
|File size (bytes)||File size of the master image or video, in bytes. Also reports total disk usage for selected items.|
|Audio sidecar file*||The kind, if any, of the audio sidecar file associated with the image|
|XMP sidecar file*||Does the image have an associated XMP sidecar file?|
|JPEG sidecar file*||Does the image have an associated JPEG sidecar file?|
|Video Trim*||Whether the video has had its start and/or end trimmed (“Trimmed at start and end”, “Trimmed at end only”, “Untrimmed”, ...).|
Example responses include:
|Video Length (Trimmed)||Length of the video, after any trimming in Lightroom (e.g. “17 min”).|
|Video Length (original)||Length of the original video, without regard to trimming in Lightroom (e.g. “22 min”).|
|Video Frame Rate||Frame rate for the video (“15.000 fps”, “29.989 fps”, ...)|
|Audio Sample Rate|
(of a video)
|Sample rate for the audio track of a video (e.g. “48000 Hz”).|
(of a video)
|Number of audio tracks (“Mono”, “Stereo”, “5.1”, ...)|
|Video Pixel Aspect Ratio||Aspect ratio of pixels encoded in a video (e.g. “1”, “1.3333”, ...)|
|Develop (except crop)|
|Develop Sections Disabled*||List of disabled Develop-module sections (e.g. “Paint-Based Corrections and Lens Correction”).|
|Red-eye Corrections*||Count of red-eye corrections applied in Develop (e.g. “3 Eyes”).|
|Clone/Heal Corrections*||Count of clone/healing-healing corrections (spots and strokes) applied in Develop, e.g. “27 corrections (7 clone spots and 20 heal strokes)”.|
Also reports the total number of corrections across all inspected images, and the median number of corrections among images with at least one correction.
|White Balance*||White-balance setting applied in Develop (“Daylight”, “Custom”, ...)|
(in Lightroom, to the closest ⅓ stop)
|Amount of overall exposure compensation applied in Develop, to the closest ⅓ stop.|
|Contrast*||Amount of overall “Contrast” applied in Develop, rounded to the nearest +/- 5.|
|Highlights*||Amount of overall “Highlights” applied in Develop, rounded to the nearest +/- 5.|
|Shadows*||Amount of overall “Shadows” applied in Develop, rounded to the nearest +/- 5.|
|Whites*||Amount of overall “Whites” applied in Develop, rounded to the nearest +/- 5.|
|Blacks*||Amount of overall “Blacks” applied in Develop, rounded to the nearest +/- 5.|
|Clarity*||Amount of overall “Clarity” applied in Develop, rounded to the nearest +/- 5.|
|Vibrance*||Amount of overall “Vibrance” applied in Develop, rounded to the nearest +/- 5.|
|Saturation*||Amount of overall “Saturation” applied in Develop, rounded to the nearest +/- 5.|
|Color Treatment*||Black & White vs. Color vs. Desaturated Color|
Example responses include:
|Tone Curve Name*||Name of the tone curve applied in Develop (“Linear”, “Custom”, “Strong Contrast”, ...)|
|Lens Corrections*||List of Lens Corrections enabled in Develop (e.g. “Color defringe + Manual”).|
|Unconstrained Crop*||Identifies photos with lens corrections that might expose canvas, but without “Constrain Crop” enabled.|
|Upright Lens Corrections*||Status of the “Upright” Lens Correction in Develop (e.g. “Auto”, “Full”, “Off”, etc.)|
|Vignette*||Amount of post-crop Vignette effect applied in Develop (e.g. “Slight white vignette”, “15 black vignette”, ...)'|
|Grain Amount*||Amount of overall “Grain Amount” applied in Develop, rounded to the nearest +/- 5.|
|Process Version*||Name of the Lightroom render engine applied in Develop (e.g. “2012 (standard in Lightroom 4)”).|
|Basic Tone/Presence Edits?*||Reports whether an images has basic Tone changes (exposure, etc), Presence changes (saturation, etc.), both, or neither.|
|Camera-Calibration Profile*||Name of the camera-calibration profile applied in Develop (e.g. “Adobe Standard”).|
|Comparison with Most-Selected Image|
from most-selected image?
|Experimental comparison of develop settings the “most-selected” image to each other selected image.|
This is a very-experimental feature, and it may not be completely accurate; it may incorrectly cite a photo as having different develop settings when in fact those settings that differ play no part in the final rendition (for example, if the redeye data for the two photos differ, but redeye correction is also disabled for both photos, they may flag as “different”).
If no more than 50 images are found to be different, you can pop up a dialog that displays the raw differences. (More than about 50 taxes Lightroom's display infrastructure too much.) This entire feature is subject to radical change in future versions of the plugin.
|Artist / Copyright|
|Copyright State||Copyright state.|
|Artist / Creator||Artist's name.|
|Artist and Copyright Differ?||How do the “Artist/Creator” and “Copyright” fields differ? (“Artist contained within Copyright”, “Identical”, ...)|
Example responses include:
|Rights Usage Terms||Instructions on how image can legally be used.|
|Copyright Info Url||Copyright info URL.|
|Provider||Name of person who should be credited when image is published.|
|Source||Original owner of the copyright.|
|Creator Job||Job title of the person that created the image.|
|Creator Address||Address for the person that created the image.|
|Creator City||City for the person that created the image.|
|Creator State/Province||State or province for the person the created this image.|
|Creator Postal Code||Postal code for the person that created the image.|
|Creator Country||Country for the person that created the image.|
|Creator Phone||Phone number for the person that created the image.|
|Creator Email||Email address for the person that created the image.|
|Creator Url||Web URL for the person that created the image.|
|City||Name of the city where image was taken.|
|State||Name of the state where image was taken.|
|Country||Name of the country where image was taken.|
|Country Code||2 or 3 letter ISO 3166 Country Code of the country.|
|Location||Details about a location where image was taken.|
|Geoencoded Hemisphere||Geoencoded hemispheres (e.g. “North/East”). This can also be used to answer simple “Geoencoded?” queries, and to find mis-encoded “0°N 0°E” entries.|
|Is the geoencoded location marked a private? (“Private”, “Not Private”, or “Not Geoencoded”)|
|Geoencoded Altitude||Geoencoded altitude (e.g. “65 m”).|
|Other Text Fields|
|Title length||Reports whether “Title” is blank, starts or ends with spaces or had doubled spaces; otherwise reports the length.|
|Title line count||Reports the number of lines in “Title”.|
|Headline length||Reports whether “Headline” is blank, starts or ends with spaces or had doubled spaces; otherwise reports the length.|
|Headline line count||Reports the number of lines in “Headline”.|
|Caption length||Reports whether “Caption” is blank, starts or ends with spaces or had doubled spaces; otherwise reports the length.|
|Caption line count||Reports the number of lines in “Caption”.|
|Event||Names or describes the specific event at which the photo was taken.|
|IPTC Subject Code||IPTC Subject.|
|deprecated IPTC Category.|
|IPTC Other Categories|
|deprecated IPTC Other Categories.|
|Description Writer||Name of the person who wrote the description.|
|Intellectual Genre||Intellectual genre.|
|Job Identifier||A number or identifier needed for workflow control or tracking.|
|Instructions||Information about embargoes, or other restrictions not covered by the Rights Usage field.|
|Name of Org Shown||Name of the organization or company featured in this image.|
|Code of Org Shown||Code from a controlled vocabulary for identifying the organization or company featured in this image.|
in a Text Field
|Lists which text fields contain a leading and/or trailing space|
|Multiple Embedded Spaces|
in a Text Field
|Lists which text fields contain more than one embedded space in a row, “Like This”|
|Plus Version||The version number of the PLUS standards in place at the time of the transaction.|
|Model Age||Age of human model(s) at the time this image was taken in a model released image.|
|Minor Model Age||Age of the youngest model pictured in the image, at the time that the image was made.|
|Model Release Status||Summarizes the availability and scope of model releases authorizing usage of the likenesses of persons appearing in the photo.|
|Model Release ID||A PLUS-ID identifying each Model Release.|
|Additional Model Info||Information about the ethnicity and other facets of model(s) in a model-released image.|
|Source Type||The type of the source of this digital image, selected from a controlled vocabulary.|
|Property Release Status||Info on the availability of property releases.|
|Property Release ID||PLUS-ID identifying each Property Release.|
|Person Shown in Image||IPTC person-shown field.|
|Has “dateTimeOriginal” field||A simple yes/no on whether the “dateTimeOriginal” field is present.|
|Has “dateTimeDigitized” field||A simple yes/no on whether the “dateTimeDigitized” field is present.|
|Has “dateTime” field||A simple yes/no on whether the “dateTime” field is present.|
|Has “dateCreated” field||A simple yes/no on whether the “dateDreated” field is present.|
|Date fields agree?||Reports on whether the “dateTimeOriginal”, “dateTimeDigitized”, and “dateTime” fields are the same|
Example responses include:
|By Hour||Groups images by the hour of the day in which they were taken.|
|By Date||Groups photos by date they were taken on.|
|By Day of Week||Groups images by the day of the week that they were taken on.|
|By Month||Groups photos by the month they were taken in.|
|Date/Time Range||Isolate photos taken within a specific range of dates, times, and/or week days. Useful for finding all photos taken during a particular season, for example.|
|Master Image File|
|Bit Depth / Color Mode***|
of the master image file
|The bit depth (per channel) and color mode (e.g. RGB vs. CMYK) of the master image.|
of the master imgage file
|Color space (e.g. sRGB, AdobeRGB) of the master image. Note that the color space for a raw file is specific to the camera make and model; raw files appear here as "unknown".|
|Speical: List Data Fields***||Lists raw metadata field labels and values found in the most-selected master image file. This is useful to find appropriate field names for the “User-Specified Master-File Data Field” search item described immediately below.|
With this special item, only one photo/video is processed, regardless of how many are selected. This is sort of a “raw” version of my Metadata Viewer plugin; this item is useful to find the exact master-file field label for use in the “User-Specified Master-File Data Field” search item described immediately below, while the Metadata-Viewer plugin is far superior for general “what metadata is in this master file?” browsing.
of the master image file
|Explore the specific master-file metadata field entered by the user.|
You can enter any metadata field known to ExifTool; you can see the list of raw fields for a specific master file by selecting it and applying this plugin's “Special: List Master-File Data Fields” search item, described immediately above..
After the plugin does its work, it brings up a dialog to display the results, for example:
I've spent considerable energy on tailoring the presentation and default sort for each of the 168 criteria the plugin supports. In the “Lens” example seen here (which Adobe's Library Grid Filter does support, though not as well), I take care to sort the lenses by focal length, and to pretty up the presentation (e.g. “50 mm” instead of “50.0 mm”).
Some features of the results dialog:
Click on an “isolate” button to create a collection named for the criteria and result, populate it with the appropriate photos, and switch to it.
Click on the “Isolate All...” button to create all the individual collections and dismiss the dialog.
Click on two or more checkboxes to enable an “Isolate Combined Checked Items” button that creates one special collection with all the photos of the checked rows.
Click on a column header to toggle the display sort.
Click on a photo- or video- count number to display some percentage information. In the example above, clicking on the “8,306” of the “Voigtländer 125mm f/2.5” row reveals that 31.9% of the target photos were taken with that lens (because it's such an oh-so-sweet lens whose results I adore).
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 Lr4 to Lr5, 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.
( Update Log via RSS )
The “has ...” items for dates (for dateTimeOriginal, dateTimeDigitized, and dateTime) now actually work.
More Creative-Cloud support.
Fixed an issue with Creative-Cloud revalidation.
Lr5.5 and later Creative-Cloud installs can now revalidate themselves if needed.
|20140710.75||Sigh, had a bug in the Creative-Cloud support.|
Now supports Lr5.5+ Creative-Cloud Installs.
|20140706.73||Added some more keyword-related search items.|
|20140704.72||For some reason (bug in Lightroom?), Lightroom is not following the plugin's direction on how large to make the result dialog, so in an attempt to work around it, I've added a "debug options" link in the upper-right corner of the item-selection dialog.|
|20140701.71||Added some debug logging to track down a display-size issue.|
Added "By Month" data item.
Added "By Date Taken" data item. The Library Grid Filter is probably better for browsing by date, but this might be useful if you want to automatically create collections based on the date.
Updated some of the other date-related items to try harder to find a date associated with the photo.
Upgraded to the embedded copy of ExifTool to version 9.60.
|20140506.66||Added a new search criteria: file writeability (e.g. readonly or not)|
Fixed a bug in the "smoother revalidation" stuff recently added.
Make the revalidation process smoother, especially for folks using Lr5.4 and later.
Worked around a Lightroom bug that stopped the new "list master-file data fields" from displaying properly on Windows.
Added the “User-Specified Master-File Data Field” item, giving the plugin the ability to explore arbitrary master-file metadata.
Upgraded to the embedded copy of ExifTool to version 9.53.
|20140311.60||Wow, I'd really screwed up the calculations for the “Total Exposure (camera Ev)” and “Total Effective Exposure (effective camera Ev)” items. In both cases I had the sense of adjustment for ISO speed backwards, and in the latter case I had the sense of adjustment for the Lightroom develop setting backwards, and in some cases could use the wrong number to begin with. Doh!|
|20140302.59||added the following items to the list of explorable items: amount of Contrast applied in Develop, amount of Highlights applied in Develop, amount of Whites applied in Develop, amount of Blacks applied in Develop, amount of Vibrance applied in Develop, amount of Saturation applied in Develop, and the IPTC “Person Shown in Image” field.|
|20140212.58||Updated the file-size counting done for “File size (bytes)” and “Smart-Preview Status” to better indicate the file-size status for offline files.|
Added “Most-Recent Update Date” and “Number of Updates” items.
(Lr5.2+) Update the “Clone/Heal Corrections“ item to report the total number of corrections for the inspected photos, and to report the median number of corrections among photos with at least one correction.
Added more detail to the disk-usage summary presented for the “File size” and “Smart-Preview Status” items. Fixed a bug in how previews for vidoes are reported.
Cite in the result-dialog title the number of items inspected.
Result dialog for the “File Size” item could end up too big for the screen.
Upgraded to the embedded copy of ExifTool to version 9.46.
|20140104.53||Updated a bug with “Cropped Amount”, and renamed its "100%" result with "Almost Completely Cropped Away".|
|20131230.52||Updated the “File Currently Available” item to report whether a Smart Preview exists.|
|20131128.51||Updated how megapixels, video duration, and focal length are displayed, to avoid apparent duplicates (such dual "20.0" and "20" results).|
|20131125.50||Made the “Expousre Adjusment” results look nicer, and made it clear that results are displayed to the nearest ⅓ stop.|
|20131124.49||Added “Flag Status” item|
|20131122.48||Fixed error with “Expousre Adjusment” item.|
Fixed a bug in the "File Size" stuff added yesterday.
Discovered that at some point Lightroom developed a bug that makes reporting the byte size of offline images impossible. The plugin report now notices when this happens and points out that the data is not to be trusted.
Added an extra report to the "File Size" item to show the disk space used by all the selected items (the masters, smart previews, and normal previews). However, it currently doesn't work correctly for offline images due to the Lightroom bug cited above.
Update for OS X Mavricks.
Updated the Image::ExifTool library to version 9.39.
|20131014.44||Found that with certain settings some math errors would pop up.|
Update how the aspect-ratio criteron are computed. Should give more reasonable results.
Updated the Image::ExifTool library to version 9.38.
Added new criteria: "Leading/Trailing Spaces in Text Field" and "Multiple Embedded Spaces in Text Field".
You can now tell which results you've isolated... the "isolate" button becomes "view" once the associated collection has been created.
Added "Unconstrained Crop" criteria.
Fixed a bug with the "Lens Corrections" item, which always indicated that "Chromatic Aberration" and "Constrain Crop" were set for an image regardless of whether they were.
More attention to the default display order of some results.
Added new criteria: "By Weekday", "By Hour", and "Date/Time Range".
An update to track a change in Lightroom 5.2 in how develop clone/heal spots and strokes are encoded.
Made it much easier to see relative percentages in the results... just click on any total and all totals are replaced with percentages.
|20130925.39||Updated the camera crop factor database.|
|20130911.38||The "Total Effective Exposure (effective camera Ev)" criteria couldn't be selected.|
|20130910.37||Added a bunch of cameras to the crop-factor database.|
Added a new criteria, “Aspect Ratio: compared to...”.
Renamed “File Extension” and “File Extension (case-insensitive)” to “File Extension (case-sensitive)” and “File Extension” respectfully, and swapped their order in the list, because Lightroom generally runs on case-insensitive file systems, so case insensitive is the norm, and case sensitive the oddball.
Gave the spell-checker a much needed run.
|20130908.35||The “File Currently Available?” item relied on a component of Lightroom's internals that seems to be buggy, so I rewrote it to check the disk directly for the presence of the master image file.|
|20130830.34||Added a few more cameras to the crop-factor database.|
Added new exploring criteria “Has plugin custom metadata?”. If you generate the spreadsheet-data file, it'll include the list of IDs for the plugins involved.
Changed the label “Spot-Healing Corrections” to “Clone/Heal Corrections” and updated it to include clone/heal strokes as well as spots, producing results along the lines of "“11 corrections (2 clone spots, 2 heal spots, 3 clone strokes, and 4 heal strokes)”.
Updated the list of develop changes (as generated by th “Develop differs from most-selected image?” criteria) to include more detail about clone/healing strokes and spots. Also, removed “Orientation” from consideration as a develop change, to match that develop-settings copy/paste doesn't include the orientation. You can deal with orientation via the newly-added the “Orientation With Respect to Image Sensor” criteria.
Added the ability to compare develop settings against the most-selected image. It's a work in progress. See documentation for “Develop differs from most-selected image?” above.
|20130826.31||Some fixes to the previous changes for Windows.|
Added several new search criteria: “File Extension (case insensitive)”, “Lens Description (built from master-file data)”, “Bit Depth and Color Mode”, “Color Space”,
Made searching large numbers of images a bit more efficient, and allow the searches to be canceled midway.
In the criteria-picker dialog, added a direct link to the full criteria list.
Added the ability to save the raw data to a TSV (tab-separated values) file.
|20130721.28||Added Canon 650D to the camera sensor-crop database|
|20130629.27||In some rare cases photos with a Process Version of 2003 would show up as "Unknown".|
|20130626.26||Added a bunch of data to the crop-factor database|
|20130620.25||Updated the "Color Treatment" item to partition color photos based on their amount of saturation/desaturation.|
|20130613.24||Better support for plugin revalidation.|
|20130611.23||Yet another Lr5 update|
Updated the "Lens Corrections" item for Lr5, and added a new "Lens Corrections (Upright only)" item.
Added an item related to whether smart previews exist.
Added a bunch of new crop-factor data, and corrected the crop-factor data for the Canon Powershot G1 X.
(Note: Lr5 painted heal/clone brush strokes are not yet taken into account.)
|20130501.20||Update for Lr5|
Added "Folder Name" and "Path Name" to the list of search items.
Added the “Has Basic Tone/Presence Edits” search item.
Fixed the “dateCreated” search.
|20130412.17||Build system update.|
|20130330.16||Added some Ricoh cameras to the crop-factor database.|
|20130328.15||Fix for the registration system.|
Added "Total Exposure (Ev) and Total Effective Exposure (effective Ev).
Filled in some areas where the docs were not yet written.
|20130219.13||Added some notes to the aspect-ratio results to denote common aspect ratios (e.g. 16:10 is a wide-screen monitor)|
|20130218.12||Added some extra text fields (title, caption, etc.)|
Added the ability to identify images with sidecar files.
In the criteria-selection dialog, warning messages would sometimes get truncated.
|20130212.10||Added some date fields|
|20130209.9||More build-system maintenance|
|20130206.8||Tweak for my registration system|
|20130124.6||Added a bunch of Canon cameras to the crop-factor database.|
Computation for the megapixel notation for "Width x Height (post-crop)" was wrong.
Many of the pixel-size items crashed when used on videos.
Focal-Length 35mm crashed if a photo didn't have focal-length data.
Added a bit of buffer to the dialog-height calculations to help ensure that the dialog doesn't grow taller than the screen.
|20121113.3||Made "Dimensions" available for video.|
|20121020.2||Added "Lens Corrections"|
|20121019.1||Initial public release.|