Finally, the beginnings of an Adobe Lightroom SDK
Adobe released the beginnings of the Lightroom SDK today in conjunction with Lightroom 1.3. I eagerly downloaded the 1.3 meg SDK as I’ve been waiting for this for awhile. The manual is 96 pages. There’s an API document (html based), and three sample plug-ins, including the programmer favorite, Hello World. For now, the SDK only supports extending the Export module, but at least it’s a start.
Now, Lightroom can play nice with other programs and workflows. It won’t be long until someone has a PicasaWeb uploader and I won’t need to use Picasa anymore to manage this.
I’m hoping in the future the SDK will grow so we can create other types of modules allowing companies to create plug-ins that modify image data. Maybe in future versions, they’ll open up and expose some Actionscript/FLEX APIs for modifying/adding to the UI! That would be sweet.
To prepare for Lightroom SDK development, though, it looks like the developer is going to need to learn the LUA programming language. According to the LUA website, it’s a dynamic scripting language. Those of you familiar with Python, Ruby, Perl, etc. will easily be able to learn this. I wonder what kind of code libraries exist in LUA to aid in creating these plugins? Time for me to dig in.
Quickly looking at the API, it looks like Adobe does a good job of including a lot of useful functionality, from LRFtp, LRHttp, Localization, Logging, etc. So while we can only build Export plugins for now, it looks like there’s a good base to expand upon for future development.
Start creating those Lightroom Export plugins!
Comments
Comment from AlexD
Date: November 19, 2007, 6:54 am
> Maybe in future versions, they’ll open up and expose some Actionscript/FLEX APIs for modifying/adding to the UI!
No chance. Lightroom is written in Lua (at least UI and a lot of other bits of it) with some critical code in C/C++. It doesn’t make sense to add extra wrappers for Flex in there and there is none of this Actionscript/Flex stuff in Lightroom.
Comment from admin
Date: November 19, 2007, 8:31 am
AlexD: Ok, that’s interesting. For some reason, I thought that some of the UI portion was written in Flash/Actionscript/Flex. It definitely feels like it. And I swear I read someone that Adobe embedded the Flash player into the UI. OK here it is, this guy who works at Adobe says this ” Lightroom has the Flash Player embedded, so I can imagine someone developing UI bits for Lightroom using Flash/Flex (maybe not the most direct way to go, but seemingly possible).”
Found that little quote at John Nack’s Blog: http://blogs.adobe.com/jnack/2007/05/lightroom_as_re.html
Are there UI toolkits for LUA, then?
Comment from lito enolpe
Date: December 28, 2007, 5:11 am
pls… send me picture………..
Comment from AlexD
Date: March 7, 2008, 9:56 am
If it is embedded then it is in a native code and is very well hidden. But I can assure you that the UI itself (including animation) is done in Lua. If you look at the any of the Lightroom module files (say Develop.module) in any resource editor (I’m talking about Windows version of it), you will see a that practically the whole module consists of the .LUA resources and PNG images. Each .LUA resource is a compiled LUA module and from looking at their VM code they deal with UI functions (using PNG images in UI elements).
I’m trying to experiment building a module of my own using that approach but am currently stuck with writing Lua decompiler to understand how the UI calls are structured (looking at lua diassembly window is ok but very tiring and slow).
Btw, if somebody will manage to build a module file like that and put it into Lightroom bin directory, the LR will try to read and initialise it at a start.


Write a comment