2

I'm shooting with a manual Rokinon 8mm Fisheye lens. Photos do not contain data from it, such as aperture and lens maker.

Now i'm using the plugin LensTagger to mass batch edit files to add the metadata info for the lens. But there are some disadvantages:

  1. Doesn't work on many files (more than 100, depends on the length of file paths)
  2. Doesn't work on non-latin unicode filenames/folders
  3. Slow (can live with that)
  4. Needs to read Metadate from file manually after each

(So this is not a duplicate of this question for those reasons, and for the fact that i am on PC)

any way to do it for a 100-200 photos with ease?

Edit: I'm on Windows 8.1. It is worth mentioning that while LensTagger is running, it blocks the UI so Lightroom cannot be used in the process

2

Doesn't work on many files (more than 100, depends on the length of file paths)

That's due to a hard limit in Windows on the length of a command line. The plugin is trying to name all of the photos you've selected in a single ExifTool instantiation.1

The only thing you can do about this is upgrade to Windows 7+, if you haven't already. The limit in XP and Vista is considerably shorter.2

You should also write to the plugin's author, asking him to work around this limit. For instance, it could detect when it is getting close to the limit and start a new ExifTool command. Repeat until all photos are fixed. You'd pay some overhead in the repeated ExifTool calls, but simply gathering several dozen per call will still get you most of the benefits of the launch time amortization.

Meanwhile, you can use Lightroom itself to keep track of where you are in the project, as you bite off ~100 photos at a time. I'd do it this way:

  1. In the Library, open the Metadata filter, then select "Unknown Lens" in the "Lens" column.

  2. In the grid below the filters, select several rows of pictures, and run them through LensTagger.

  3. When the plugin finishes, close it and say Metadata > Read Metadata from Files. As each photo's new lens metadata loads in, it will disappear from the grid, since its lens is now "known."

  4. Repeat until done. :)

Doesn't work on non-latin unicode filenames/folders

I'm not sure what's going on with that. LensTagger uses ExifTool for this, which is written in Perl, which is arguably the most Unicode-capable programming language available. Windows itself is also Unicode-aware, going back to Windows NT 3.1, in the early 1990s. LR itself is also not likely the problem, since plugins are written in Lua, which is also Unicode-aware, though not to the same extent as Perl or the Windows SDK.

If I had to guess, I'd say it's probably in the ExifTool command line parsing code, since Perl doesn't do the right thing with Unicode text by default in I/O. It has all the tools you need to do Unicode right, but you have to write your code to make explicit use of those tools; you don't get it for free.

I'd file it with the plugin author as a bug report.

Needs to read Metadate from file manually after each

That's due to a hard limit in the Lightroom SDK.

If the SDK were to allow this, it would do so via the photo:setRawMetadata() API call. The v5 SDK simply doesn't include an option for setting lens data.

This is unfortunately the common case. There are only about 60 metadata fields you can set via this LR SDK API call, whereas ExifTool knows about twice that many metadata formats, each of which defines many fields. I'd estimate that ExifTool lets you set a few orders of magnitude more fields than the LR SDK does.

Want it fixed? Complain to Adobe. Not that I hold out much hope for this option. The LR 5.0 SDK didn't add any new fields relative to 4.0.


Footnotes:

  1. This is a good idea since it amortizes ExifTool's startup time over the photo set. Running it once per photo would take a significant amount of time.

  2. That, or switch to OS X, which doesn't have this limit. :)

    I've got LensTagger running in the background on 638 photos right now on my OS X box. LensTagger had to create a ~158 kiB command line to pull this off.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.