Piglets are for Lightroom 1.x plugins only, and are not needed in Lightroom 2 or later.
The four export plugins for Adobe Lightroom that I've written – for uploading to Zenfolio, SmugMug, Flickr, and Picasa Web – are useful, I hope, and offer lots of options and ways for the user to configure how their images are processed. If I had more time and more skill, though, the plugins could do more. So much more.
For example, Tim Armes' LR/Mogrify Lightroom Export Plugin offers a lot of nice features that I wish my plugins offered, including:
- the ability to add watermark overlays (both text and images)
- the ability to add borders around images
- the ability to apply output sharpening of various types
- the ability to and convert the image to any color space you happen to have on hand.
- the ability to do anything that ImageMagick's “mogrify” command allows, which is a lot
The Problem
Many of these are features that Lightroom should really be providing itself, and I have no doubt some far-off version of Lightroom will provide them, but just as Photoshop Version 1.3 did not have all the features offered in the current version of Photoshop (Version 10 or something like that), I can understand Lightroom's current situation.
So, anyway, Tim made a plugin that does all these nice things, but these features are not really destination-specific features: one should be able to invoke them with any export, including exports via my plugins.
The Solution
With Tim's permission, I could have hacked out the juicy parts of his plugin and grafted them to mine, which would have taken only a few minutes because he's already done the hard work of developing it. But that would have been too easy, so instead, I created the infrastructure for normal plugins like mine to use fourth-party “plugin plugins” developed by others.
Put another way, I built the mechanics for Tim or anyone else to offer their own image-processing components as a sub-plugin to any of my plugins. Furthermore, this “sub-plugin infrastructure” is reusable by other full-fledged plugins – not just my own – so other plugin developers can easily expose their plugins to the benefits of the universe of “sub plugins” that will hopefully emerge.
“Piglets”
The previous two paragraphs don't flow very well because the phrases “plugin plugins” and “sub plugins” are just too awkward. I came up with a new name to label this new technology, by following this stream of thought:
Okay, so I think it's cute, but you'll be forgiven if you think it's corny. Nevertheless, that's the name, and so a piglet is a plugin for one of my Lightroom export plugins, or for any plugin that uses my piglet infrastructure.
I developed this infrastructure in consultation with Tim, and he worked in tandem to provide his LR/Mogrify plugin as a piglet as well.
Just to give you an idea of what this can mean, here's a look the export dialog from my Flickr plugin, with Tim's piglet installed and enabled. In it, notice all the new sections with “PIGLET:” titles....
Now, to give a further feel for the power here, here's the same dialog (with just the one piglet enabled, mind you) with all the sections opened up. The new sections that come from the LR/Mogrify piglet are outlined in green:
Wow, that is, by far, the largest image I've ever used in a post! For comparison, see the relatively-tiny dialog on the announcement for Version 1 of my Flickr plugin.
The piglet (or piglets) insert their own sections into the dialog between the main plugin sections, and the final plugin-info section.
Notice at the very bottom of the full dialog, in the middle of the “Flickr Export Plugin Info” section, there's a “Manage plugin additions (“piglets”)” button. Clicking on that brings up the Piglet Manager:
Each piglet available to the plugin is listed – just one in this example – and each can be enabled or disabled by checking or clearing the checkbox.
Piglets that are not enabled do not show up at all in the plugin export dialog, as if they did not exist. To enable a piglet, check its box, then restart Lightroom.
By the way, and wholly unrelated to this enabling/disabling of piglets at the main plugin level, note that a piglet can contain a “disable me” feature, such as LR/Mogrify does (as seen in the first checkbox in the green-highlighted section of the full dialog screenshot shown above). This is simply a convenient way for a piglet to let you turn its features on and off for a specific export.
The Down Side: Piglet Maintenance
It's been a daunting task to get all this to work with the limited features provided by the initial beta release of the API found in Lightroom 1.3, and one result is that installing piglets is not as smooth as I'd like.
A piglet can be as simple as a single *.piglet file, or more complex. Tim's LR/Mogrify piglet is delivered as three files (one *.piglet file, and two images used in the UI). In any case, installing a piglet is as simple as copying the file or files to the plugin folder, but there are caveats:
If you use multiple plugins (say, both my Flickr and Zenfolio plugins), you need to copy a piglet's files to both if you want to use a piglet in both.
If you're not sure where to find a plugin's folder, revisit the plugin install instructions for a list of likely locations to find the per-plugin *.lrplugin or *.lrdevplugin folders.
On a Mac, if the plugin is named with *.lrplugin, before you can copy files into it with Finder, you must Ctrl-Click on it and choose “Show package contents”. (This is not required to copy files from within Terminal.)
After installing a piglet by copying files, you can then invoke the piglet manager to enable the piglet. You'll have to restart Lightroom for it to take effect. Sorry.
If you upgrade the plugin, replacing it with a new version, you must remember to re-copy your piglet file(s) to the new plugin folder.
Each. Time. You. Upgrade.
Ugh. At least, you don't have to revisit the piglet manager to enable the plugin; that's required only the first time, or if you want to re-enable a piglet after having disabled it.
BE SURE TO KEEP A COPY OF YOUR PIGLETS SO THAT YOU CAN REPOPULATE YOUR PLUGINS WHEN YOU UPGRADE THEM. This is perhaps not so vital for a free piglet that you can always go and re-download, but it's vital for any piglet that you've paid for.
This may be starting to sound like a hassle, because it is. Luckily, this hassle comes into play only when upgrading.
My Tech-Related Photography Posts
- My Lightroom-to-iPad Workflow
- Lightroom Goodies (lots of plugins)
- Digital Image Color Spaces
- Online Exif (Image Data) Viewer
- Jeffrey's Autofocus Test Chart
- Photoshop Calendar-Template-Building Script
- How to Prepare Photos for an iPad
- A Qualitative Analysis of NEF Compression
- Tripod Stability Tests
more...
Getting Piglets
See my Piglets Page for a list of piglets that I know about, and how to get them.
Thanks
Building all this was a fairly lengthy process, made longer by the new-year's break and my having caught a cold (that I still have... ugh). Throughout, Tim Armes and Gilles Theophile worked patiently and tirelessly with me to get everything working and all the pieces into place.
I should also thank Gilles for his work in providing the French translations for all my plugins (and for Tim's plugins and piglets as well). Even if you don't read French, users of Lightroom will appreciate the design of Gilles' Lightroom site.
I'd also like to thank Andrei Zmievski and Brien Wankel for debugging assistance.
Wow, thanks so much Jeffrey, for this great addition! I had no problem installing and running the LR/Modify Plugin and now I can add a watermark using a color and size of my choosing. This is a real timesaver, considering that I had to use Photoshop previously. Now I can skip that step entirely. Hooray!!
And I love the name “piglet” too.
please contact me. am getting LR crash on plugin. have screenshots and would like to debug with your help. just started with xx.29 release. thankyou
I’m having the same issue as polina above. Copying the LR/Mogrify piglet into either the Zenfolio or Flickr plugin packages does not cause them to be available in the lightroom export dialog. I’ve tried maintaining the piglet folder layout as well as copying all of the files directly into the .lrplugin package. Clicking the Manage Piglets button says no piglets are available. Using both the latest (downloaded today, 2008-01-20) versions of all plugins.
I’m looking forward to having the features of both plugins available during a single export.
Thanks!
Hi from France,
Thanks for this nice Picasa export plugin. It saves so much time :-).
Will you be creating this for the Mac by any chance? If not, do you know of someone that has a similar plugin?
All my Lightroom stuff, including my plugins, work fine on a Mac. —Jeffrey
Thanks. Works great.
I dont understand this at all. Isn’t there supposed to be a piglet file to install?
The Piglet file is on the Piglet page, you install it separately for each plugin… yes this sucks, but it works.
Hi,
It seems that I’m again running into problems with a user account that has “ä” letter in it… the Piglet manager seems to be unable to run “dir /b etc.” command as lightroom SDK can not hande (windows XP) file paths that have scandinavian characters in them 🙁
Does anyone have any workaround in that? (renaming users is not an option, unfortunately).
Regards,
/KPa
I’m also having problems with spanish characters like óá… (Spanish XP system folders use them)
“Local configuration” is “Configuración Local” in Spanish, so the plugin cannot execute the piglet with this folder as a parameter.
David
How does the module know if something has been uploaded to flickr or not for the “refresh” settings? I have several pics that are on flickr that I want to refresh but I can’t seem to get it to match up. Do I have to make the file names match? Delete them from flickr and reupload (gulp) or …..
Thanks!
At this point, “delete and reupload” because the plugin currently knows only about images that it has uploaded.
If there’s a way to match things up otherwise (e.g. via filename) I could try to build something, but I worry that it’s not very clearcut for most people’s photos… —Jeffrey
I think we need a better manual. This is giving me a headache!
I suggest you demand a full refund. :-/ —Jeffrey
Hi,
I have a problem.
I use the piglet for: Mogrify -> upload to picasa, but it’s not working (but it worked once).
I see this 3 error messages.
———-
Warning
Failed to run Mogrify, aborting export
Faild to raun Mogrify wih following command line:
“my_path_to_\mogrify.exe” -virtual-pixel mirror -format jpg -quality 85 “E:\Dokumente und Einstellungen\sebas\Lokale Einstellungen\Temp\20071021-IMG_0554bsharp021.tif”
—–
Warning
Runtime error in “Timothy Armes’ LR/Mogrify Piglet” piglet in startOfOneRender().
Piglet Disabled
LRMogrify.piglet:1915: canceled
——-
Warning
Upload Failure
One image failed to upload
——–
I tested the mogrify command with the command line and it works.
Can anyone help me with this?
Thank you.
Sebastian
You should probably contact the author of the Mogrify piglet for this. —Jeffrey
I have been happily using the AnyCommand, Export to Flickr and LR/Mogrify piglets for a couple of weeks now. I love them, and have come to rely on them in my workflow.
Unfortunately, it appears the recently released Lightroom v1.4 breaks something in the piglet framework. All my presets that use piglets now result in “This plugin is not installed on your computer or is not functioning properly.” appearing in the export dialog. Trying to create a new preset gives the same result.
…Mike
You need new versions of the plugins, or, downgrade to 1.3.1 until the bugs with 1.4 are sorted out. See this post for more info on both fronts. —Jeffrey
Dude. Your Grandma comments on your blog?
That’s awesome.
For the record, she’s my son’s grandma (that is, my mom), but until last year knew less about computers/internet than most people’s long-passed great-great-great grandparents. Now, she even does IM! —Jeffrey
Thanks so much for making the Mogrify piglet. I’m having a bit of a problem though with enabling it and wonder if you or anyone here could offer some ideas for a fix?
For some reason in the piglet-Mogrify configuration box there is no enable LR /Mogrify Piglet check box as is shown in the image included in your post. The path is mapped correctly to the Mogrify application. Result of this being none of the Mogrify options show up in their respective drop down sections. The boxes are completely empty.
The contents of the Mogrify piglet are copied to the flickr-jfriedl plugin folder. The Mogrify piglet is enabled in the piglet manager.
Though I think it’s of little relevance the run any command piglet is enabled. I’ve tried switching the order of priority of the two piglets but that makes no difference. I’ve also tried the Mogrify piglet with the run any command piglet disabled but again no difference.
I have the Mogrify stand alone plug in as well which works fine. I’ve tried the Mogrify piglet after removing the stand alone plug in from modules though no big surprise that made no difference either. I’ve also deleted all modules and replaced them with newly downloaded versions. Again makes no difference.
I’m using LR 1.4.1. I’d really like to use the integrated functionality of the Mogrify piglet with the LR plug in and hope very much that a solution is out there to the problem I’ve described.
Thanks to you or anyone else that can offer some help.
Just after I posted the message above I realised you never made the piglet in question – oops!
I’ve got in touch with Timothy. Maybe though you are anyone else here might be able to help anyway. Whatever, thanks your Flickr LR plug in which has always worked on it’s own with no problem (other than the FormatMessageW failed error). Cheers.
Howdy
Using a Mac 10.5.3, LR 1.4.1, I can only select either your plugin or Mr. Armes, when I select the “manage plugins” on your plug-in I do not see his, just your advanced one. Is this a windoz thing ( integration ), I have a screen shot from column view,MODULES| *.lrplugin ( 2, his & yours ) Piglet folder| All the parts of Mr. Armes “morgify” ( 2 png, extras folder, “.piglet” document.
Help ( clarification, or duh windoz thing )
Terence
Those who need to add watermark to their images when exporting with a plugin of Jeffrey’s may use ImageMagick’s
morgify
command directly instead of LR/Morgify.Download and install ImageMagick suite, then use Jeffrey’s ‘Run Any Command’ piglet with this command:
"c:\path\to\morgify.exe" -draw 'image Overlay 0,0 0,0 "d:\path\to\watermark.png"' -gravity SouthWest "{FILE}"
The command draws ‘watermark.png’ over the exported image in ‘overlay’ blending mode and in its lower left part. For details on positioning and blending mode check
- gravity
and- draw
options in ImageMagick’s Command-line Options.Hi Jeffrey,
A million thanks to you for providing all of these fantastic plugins.
I just tried installing the LR Mogrify plugin and I’m having some trouble making it play nice with your FlickrExport plugin.
I get this error message:
Failed to run Mogrify with the following command line:
“/Volumes/Local/Users/switters/Library/Application Support/Adobe/Lightroom/Modules/flickr-jfriedl.lrplugin/LRMogrify.extras/mogrify” -virtual-pixel mirror -resize “1000x” -sharpen 0x1.00 -bordercolor “rgb(100%,100%,100%)” -border 3×3 -bordercolor “rgb(0%,0%,0%)” -border 20×20 -format jpg -quality 95 “/var/folders/IX/IXzlijykG0uGmMaBKnukHk+++TM/-Tmp-/7EB8B875-0FFF-4E03-AEED-D582E2E317DF/_IGP0701.tif”
Followed by:
Runtime error in “Timothy Armes’ LR/Mogrify Piglet” piglet in startOfOneRender().
Piglet Disabled.
LRMogrify.piglet:1926: canceled
I am able to export to disk using LRMogrify without a problem.
Here’s how I installed LRMogrify for FlickrExport. I located the FlickrExport plugin, clicked “show package contents” (I’m on a Mac) and then dragged the piglet file and the two PNGs into the package. Is that right?
Thanks again for your help.
Jeffrey,
The above error message was with 1.4.1.
In LR 2.0 when I click “enable plugin extensions” in your FlickrExport plugin, I get the following error message:
Access to undefined global: titleColor
Once again, as far as I can tell the piglet files are installed in the correct place.
Is anyone else experiencing the problem I mentioned in the above two posts?
I’d love to be able to use LRMogrify with FlickrExport, but right now it is impossible on my machine at least. I’m fairly certain I’ve followed the installation instructions.
???
Hi,
I have solution for KPa and David with their user name with scandinavian resp. spanish characters.
You can use folder “Modules” in root folder of Lightroom (for example “C:\Program Files\Adobe\Adobe Photoshop Lightroom 1.4\Modules”) instead of “\Documents and Settings\username\Application Data\Adobe\Lightroom\Modules\”
It works fine with Lightroom 1.4 (Windows XP) with Czech characters.
Vladimír
Chris Kresser: I was having the same problem that you had with “Access to undefined global: titleColor”
I fixed it by changing something in piglet_manager.lua
Find the following line:
text_color = titleColor
Replace it with this line:
text_color = nil
Reload the module and you should be able to update to the site.
Enjoy,
ArazPhoto.com
Hi, my name is Pablo Gonzalez and I’m writing from Santiago, Chile.
How can I put on a watermark on my photos?
I’m using Lightroom Export Plugin for Flickr, and I was trying LR/Mogrify, but I can do it…
I just want to use LR and export my photos to a disk or/and to Flicrk but with a watermark, it’s possible???
I hope that you can help me.
Thanks a lot
Check the “Add Copyright Watermark” box in the “Image Settings” section of the Export dialog. Be sure to have the Copyright watermark set, of course. —Jeffrey
I have the same problem than Chris Kresser
”
I get this error message:
Failed to run Mogrify with the following command line:
“/Volumes/Local/Users/switters/Library/Application Support/Adobe/Lightroom/Modules/flickr-jfriedl.lrplugin/LRMogrify.extras/mogrify” -virtual-pixel mirror -resize “1000x” -sharpen 0×1.00 -bordercolor “rgb(100%,100%,100%)” -border 3×3 -bordercolor “rgb(0%,0%,0%)” -border 20×20 -format jpg -quality 95 “/var/folders/IX/IXzlijykG0uGmMaBKnukHk+++TM/-Tmp-/7EB8B875-0FFF-4E03-AEED-D582E2E317DF/_IGP0701.tif”
Followed by:
Runtime error in “Timothy Armes’ LR/Mogrify Piglet” piglet in startOfOneRender().
Piglet Disabled.
LRMogrify.piglet:1926: canceled
I am able to export to disk using LRMogrify without a problem.
”
Since I’ve VISTA, it was perfect on my old XP computer …
mogrify plugin work separetly
Same with LR 1.3.1 and LR 1.4
Jeffrey,
I saw on another blog a comment made by you that you were developing a plugin for Photoshop Express. Can you give an estimate on when that might be complete and if it will be available for LR 1.4?
I have installed the Mogrify piglet per the instructions, and done all the steps, but can not seem to get the ‘Enable Piglet’ button in the export menu. It doesn’t show the Piglet in the menu, nor does it give me the option to enable it. The piglet is in the folder for the Flickr plugin, as the instructions stated. I’m not sure how to get the Piglet Manager to launch to activate the piglet. I’m running Lightroom 2.1. I have Tim’s Mogrify export working, and I have ImageMagick running, so I have all of the needed pieces, it’s just not working together as it should. Any suggestions/input on what to do? I’d love to get this running!
Piglets are something for Lightroom 1.x only, and are not needed inLightroom 2.x (and hence aren’t supported). Use the Lightroom 2 versions of the plugins (and the Lightroom 2 versions of the instructions) and things willwork much more smoothly than they ever could have in Lightroom 1. —Jeffrey
So then there is no Morgrify option for LR2 with the Flickr export? Thanks, that clears things up….
There is, from the same author who wrote the LR1 Mogrify piglet, but now it’s called
LR2/Mogrify. —Jeffrey
thanks Vladimír Richter, I had the same problem that David and KPa