Browsing Posts published by Vlad

Hawaii pictures

No comments
Finally I found some time to build and upload a photo gallery of my Hawaii pictures. I visited Oahu in the beginning of April of 2009, we stayed at Turtle Bay Resort on Oahu's North Shore. The trip was fantastic, the sights were absolutely stunning! I came back with almost 2000 pictures, of course I discarded many of them.  Other pictures were personal, and I keep them in my family album. The remaining pictures made it to my public gallery, which I have just published in the new "Photo Galleries" section: http://alloyphoto.com/photo-galleries/ Check it out, I hope you like what you see!
Today I'm going to give you a few tips on customizing the output format of the Export List plug-in. Of course it would be  impossible to come up with a single format that fits every single user's needs. There's always going to be either too much information or too little, or the data items would be listed not in an ideal order. On the other hand, implementing a UI to customize the output within the plug-in would be a challenging and a time consuming task (just due to certain limitations of the SDK). Nevertheless, the output of the Export List plug-in can be easily customized to display only the data items you need and in the order you need, if you have a basic understanding of HTML, CSV, or any other output format you need. And here is how... In the plug-in folder where you installed the plug-in you'll find a file called ExportList.ini. At the top of the ini file there's a FORMATS section where the available output formats are listed. For example:
[FORMATS]
Plain Text=txt
HTML (Tabular)=tabular.html
HTML (Itemized)=itemized.html
CSV (MS Excel)=csv
The text before the equal sign is what you see in the Output Format dropdown list. What follows after the equal sign is the name of the template file used to generate the output. Those template files are located in the templates folder. The template name format allows to define multiple variations of the same output format (for example, different HTML templates).  Note the two different HTML templates, named "tabular" and "itemized" respectively. Let's review the contents of the txt.template file as the easiest one to understand. The meat of the template is represented by the "foreach" block:
${foreach photos Photo No:       ${index}
Export Path:    ${exportPath}
Catalog Path:   ${catalogPath}
Exposure:       ${exposure}
Aperture:       ${aperture}
Date Taken:     ${dateTime}
Library Folder: ${folderName}
Keywords        ${keywordTags}
--------------------------------------------------------------------------------
}

What it does, essentially, it instructs the plug-in to repeat the text block for every photo in the export queue. The highlighted text must remain unchanged as it's a programming construction used by the plug-in to cycle the output. The remaining text is yours to modify - it contains arbitrary text (except that you can't use curly brackets) and data placeholders (or fields) that get substituted with actual values during the export. There are two categories of data fields: System Fields
${index} Contains the number of the current photo in the export queue, starting with 1
${exportPath} Contains the full path of the exported photo
${catalogPath} Contains the full path of the photo in Lightroom catalog
Metadata Fields These fields are populated directly from photos' metadata, as defined by Lightroom
${keywordTags} The list of keywords as shown in the Keyword Tags panel (with Enter Keywords selected)
${keywordTagsForExport} The list of keywords as shown in the Keyword Tags panel (with Will Export selected)
${fileName} The leaf name of the file (for example, "myFile.jpg")
${copyName} The name associated with this copy
${folderName} The name of the folder the file is in
${fileSize} The formatted size of the file (for example, "6.01 MB")
${rating} The user rating of the file (number of stars)
${label} The name of assigned color label
${title} The title of photo
${caption} The caption for photo
${croppedDimensions} The cropped dimensions of the photo
${dimensions} The original dimensions of file (for example, "3072 x 2304")
${exposure} The exposure summary (for example, "1/60 sec at f/2.8")
${shutterSpeed} The shutter speed (for example, "1/60 sec")
${aperture} The aperture (for example, "f/2.8")
${exposureBias} The exposure bias/compensation (for example, "-2/3 EV")
${flash} Whether the flash fired or not (for example, "Did fire")
${exposureProgram} The exposure program (for example, "Aperture priority")
${meteringMode} The metering mode (for example, "Pattern")
${isoSpeedRating} The ISO speed rating (for example, "ISO 200")
${exposureProgram} The exposure program (for example, "Aperture priority")
${focalLength} The focal length of lens as shot (for example, "132 mm")
${focalLength35mm} The focal length as 35mm equivalent (for example, "211 mm")
${lens} The lens (for example, "28.0-135.0 mm")
${subjectDistance} The subject distance (for example, "3.98 m")
${dateTimeOriginal} The date and time of capture (for example, "09/15/2005 17:32:50") Formatting can vary based on the user's localization settings
${dateTimeDigitized} The date and time of scanning (for example, "09/15/2005 17:32:50") Formatting can vary based on the user's localization settings
${dateTime} adjusted date and time (for example, "09/15/2005 17:32:50") Formatting can vary based on the user's localization settings
${cameraMake} The camera manufacturer
${cameraModel} The camera model
${cameraSerialNumber} The camera serial number
${artist} The artist's name
${software} The software used to process/create photo
${gps} The location of this photo (for example, "37°56'10" N 27°20'42" E")
${gpsAltitude} The GPS altitude for this photo (for example, "82.3 m")
Just look at the wealth of information that can be included! For example, if I wanted to modify my text template to remove keywords and library information, and include camera and lens information above exposure, I'd modify the txt.template file as follows:
--------------------------------------------------------------------------------
${foreach photos Photo No:       ${index}
Export Path:    ${exportPath}
Catalog Path:   ${catalogPath}
Camera:         ${cameraMake} ${cameraModel}
Lens:           ${lens}
Exposure:       ${exposure}
Aperture:       ${aperture}
Date Taken:     ${dateTime}
--------------------------------------------------------------------------------
}

${PLUGIN_INFO}
I hope the above gives you a starting point for modifying the default templates included with the plug-in, or even developing your own templates. If you come up with a cool layout or a handy format (PDF anybody?), please send me your template so I can package it with the plug-in and share it with the community.
Version 20091004.4 is available for download. This version features several important fixes and improvements. I'd like to thank everyone who reported issues and helped me troubleshooting them.

Export List

16 comments
This plugin was inspired by a post in Adobe Lightroom SDK forums. Somebody was asking for an ability to generate a list of exported photos, so it could be sent as an email to other parties to give them a detailed inventory of photos added to a shared folder. So I decided to throw the guy some rope and developed a plugin, which does just that and a bit more. The plugin can list photos in multiple formats: HTML, plain text, CSV. Other formats can be easily added via the configuration file and an output template. Each template can be individually customized to include any metadata fields along with the file name. The user can choose to open the output file in the default program (i.e. Notepad for text files, web browser for HTML files, or Microsoft Excel for CSV files), or in Mozilla Thunderbird in compose mode with the generated file automatically added as an attachment. Download and use this plugin free of charge, all I ask in return from you is to provide some feedback. Let me know if you liked or disliked the plugin, or suggest features to add. Visit the Export List plugin page to download the package.
Version 20090909.3 is available for download. Important: Instead of the FTP password, the plugin now relies on your web password for authentication. From now on use your regular AdoramaPix password to log in.
Version 20090907.3 is available for download. This version contains several nice additions and improvements.
One time I needed to use Costco Photo Center to print my photos I was surprised to find out they didn't offer a Lightroom plugin to upload files to their lab. Their web site uses a propitiatory API, which they don't disclose (at least as of today it hasn't been disclosed yet). But I was up for the challenge. After a few days of battling it out with the black box of Costco web site I was able to produce this little plugin. Download and use this plugin free of charge, all I ask in return from you is to provide some feedback. Visit the Export to Costco Photo Center page to download the plugin package.
Version 20090901.2 is available for download.
I use AdoramaPix to print my photos. So far my experience with them has been only positive in terms of both, quality of prints and customer service. Unfortunately they don't offer a Lightroom plugin to upload photos to their lab. This is where I felt my programming skills would come in handy, so I developed this little plugin. Download and use this plugin free of charge, all I ask in return from you is to provide some feedback. Visit the Export to AdormapaPix plugin page to download the package.
Bright full moon

Bright full moon. August 8, 2009 • 1:28 am

My name is Vladimir Vinogradsky and I am a professional programmer and a photography enthusiast based out of East Hanover, New Jersey. Over the last couple of years I've gained experience with Photoshop, Lightroom, and digital photography in general, so I felt the need to share, and hopefully learn new tricks from your feedback. I am launching this blog as a place for photographers to gather and exchange information, showcase my shots and share my ideas, techniques, and tools. I will do my best to keep this blog updated as my time allows. I’m currently still getting all my quirks worked out on this blog, so if something does not work or does not seem right please drop me an e-mail about the problem. Also, don't hesitate to provide your feedback and comment on the contents of this blog. Thanks.