Richard Bucker

Adobe LR4 (LightRoom4) and Lua

Posted at — Jul 1, 2012

I have been hacking on Lua and Lightroom4 for the last week or so and I have to admit that while I was skeptical of Lua and it’s potential I’m actually starting to like it in this space. It appears to be fast and efficient while some of the syntax sugar seems to be less than modern and is probably suffering from the not invented here syndrome as the developers were inventing the language with a sense of strong national pride.For example many languages, Python for example, 0(zero), ’’ (empty string), None (same as nil or null) are treated as false. In Lua you have to explicitly test the values then perform the logical operations.I have one good thing to say about LR4 and Lua. The sandbox seems to work really well during the development cycle. There is a flag that can be set where LR4 will reload your code if it has changed. It makes development a lot easier. (but there may actually be a memory leak).And that’s about where the good news ends. The GUI controls are amazingly limited. Given today’s toolbox you’d think Adobe would give me access to more controls. Like a date-picker or a proper list control. But more importantly if you’re going to provide documentation for a feature like auto_completion then it needs to work exactly like the documentation says it should, and it should work exactly the same on all platforms.auto_completion/completion does not work the same on Windows and OSX.And while the particular bug I’ve been chasing was reported 4 years ago(2008) the response was that it was documentation that was leaked into the public and that it was going to be fixed ASAP. In the meantime the feature is now available on OSX but has not been ported to Windows.Finally, I wish I knew what the LR4/Lua community or ecosystem looked like. After spending $100 on Lua [LR4] I can see that since Lua plays such a minimal role that there is no real need for consulting or freelancing etc in this space. It’s strictly a support role.