Copy link to clipboard
Copied
I hope I'm in the right place.
I've been working on a plugin for Lightroom, developed on LR 5.6, using SDK 5
I'm at the stage I'd like to compile the plugin for distribution, and would like to ask the voice of experience :
a) Which version of the LUA compiler to use. 5.1.4 I've seen mentioned in various places, but not sure if it's "new enough"
b) Any switches/configurations I need for maximum compatibility between OSX and Win versions. Providing just one compiled file (for all) seems best to me, if possible.
c) Any ways to maximise compatibility with older LR versions. Obviously best to concentrate on current versions, but if it's fairly simple to include older versions then why not.
d) Any other experiences to avoid !
From what I understand it's best to compile 32 bit LUA, as this will run on both 32 bit and 64 bit OS's
ALSO, It may just be a link, but I'm having trouble finding out where to add the plugin to the official Adobe site. Google seaches for things like "adobe lightroom plugin" don't seem to end up where I need to be. I'm sure there's a signup page, just I couldn't find it ... probably being dumb, wouldn't be the first time ...
Thanks very much for anybody taking the time to answer, and I'm grateful for you sharing your experiences, as I know they are often the result of many hours of trial and error !
Cheers
Don Charisma
I've used 32-bit "luac" 5.1.4 for LR 3 - 6, first on Windows 7 than on OS X, without issue. I can't remember where I got it from.
b) Any switches/configurations I need for maximum compatibility between OSX and Win versions. Providing just one compiled file (for all) seems best to me, if possible.
No switches; a typical invocation looks like:
luac -o anyfilter.lrplugin/AnyFilter.lua AnyFilter.lua
...
c) Any ways to maximise compatibility with older LR versions. Obviously best to concentrate on current v
Copy link to clipboard
Copied
I've used 32-bit "luac" 5.1.4 for LR 3 - 6, first on Windows 7 than on OS X, without issue. I can't remember where I got it from.
b) Any switches/configurations I need for maximum compatibility between OSX and Win versions. Providing just one compiled file (for all) seems best to me, if possible.
No switches; a typical invocation looks like:
luac -o anyfilter.lrplugin/AnyFilter.lua AnyFilter.lua
c) Any ways to maximise compatibility with older LR versions. Obviously best to concentrate on current versions, but if it's fairly simple to include older versions then why not.
With respect to compiling, I don't know of any issues to worry about for LR 3 - 6.
From what I understand it's best to compile 32 bit LUA, as this will run on both 32 bit and 64 bit OS's
Right.
ALSO, It may just be a link, but I'm having trouble finding out where to add the plugin to the official Adobe site. Google seaches for things like "adobe lightroom plugin" don't seem to end up where I need to be. I'm sure there's a signup page, just I couldn't find it ... probably being dumb, wouldn't be the first time ...
The Creative Cloud add-ons site is here: https://creative.adobe.com/addons.(Marketers keep changing these names over the years: extensions, plug-ins, snap-ins, add-ons, whatever.)
However, since Adobe replaced their "classic" Exchange with the add-ons site, I don't know of anyone here who has successfully published a true LR plugin (as opposed to bundles of presets) and made it easy for users to download and install. You can find the experiences of others in threads in this forum. Nearly all of the widely used plugins I'm aware of avoid the add-ons site. But if you try it and it works, please post your experience and recipe here.
Copy link to clipboard
Copied
Thanks John, nice to hear from you - you've answered everything I asked, I marked as "correct answer"
As regards distribution, I'd noticed several sites selling LR plugins direct, so this may well be because of what you've indicated. So I'll look into what's involved. If I have any success with the Adobe add-ons site, then I'll be sure and pass on my experiences. However, quite possibly it's simpler/better/cheaper to follow the others and distribute direct.
For anyone reading this later on - From my travels I think it's lua.org that have the downloads for the compilers.
Forums I find a bit hit and miss, so I really appreciate you making this one a "hit" for me ...
Cheers
Don
Copy link to clipboard
Copied
It's a very old thread, but since there's not much better information out there, I'm relying on this. Seems to still be "up to date".
So I created a plugin on my own. I wonder how to compile it since any compilation attempt fails since I introduced localization with:
~/.asdf/installs/lua/5.1.5/bin/lua: ./Info.lua:6: attempt to call global 'LOC' (a nil value)
stack traceback:
./Info.lua:6: in main chunk
[C]: in function 'require'
(command line):1: in main chunk
[C]: ?
So how can I either add the SDK to the compilation process or tell lua to just pretend that there will be a global LOC (if that's possible at all)? I must be missing something here.
Would be great to get an answer for it.
Thanks
Karsten
Copy link to clipboard
Copied
~/.asdf/installs/lua/5.1.5/bin/lua
You need to use "luac" to compile .lua files, not "lua" -- the latter is the Lua command-line interpreter, and it won't have any of LR's predefined global names like LOC in its default global namespace.
Copy link to clipboard
Copied
Yes, I know that. The error however was on a different step and I got confused.
In my Makefile I use lua to extract the current version from Info.lua, before I compile (luac) it and zip it into a package (incl. version number).
It was not the compilation step, but the version extraction. Simply defining LOC with a empty function made this work.
VERSION := $(shell lua -e 'function LOC() end;info=require "Info"; print(string.format("%d.%d.%d", info.VERSION.major, info.VERSION.minor, info.VERSION.revision))')
Thanks for your feedback.