Lua for darktable on Windows

Hi all,

I’m feeling a bit lost trying to get Lua working on windows.
I first went through this procedure:

I didn’t have much success with that though.

I then downloaded the latest 5.3.4 win_64 file from here:
http://joedf.ahkscript.org/LuaBuilds/

Unzipping and double-clicking “lua.exe” pulls up a terminal displaying “Lua 5.3.4 Copyright 1994-2017 Lua.org, PUC-Rio” followed by “>”. So no errors, seems good to me.

Do I need to locate this .exe in a specific location for darktable to know where to find it when trying to call lua scripts? Or do I need to try installing lua in a different manner?

I have a few scripts installed per the instructions:

Any advice would be much appreciated.

You don’t need to install Lua separately, it is integrated into darktable.

Hi Kevin,

which of the lua scripts was tested and didn’t work?

Jürgen

Here are is what my luarc file looks like:
require “official/yield”
require “examples/hello_world”
require “contrib/enfuse_pro”
require “contrib/pano_pro”
require “contrib/hugin”

I have put all the scripts in the location:
C:\Users\Kevin\AppData\Local\darktable\lua
inside various folders as seen above, such as “contrib”, “examples”, “official”. Essentially I copied the entire contents of the lua-scripts-master into the lua folder, then additionally added enfuse-pro and pano-pro to “contrib”, both of which are really awesome and not included in the git package. I had these running when I was using Ubuntu as my OS, but I have since switched back to Windows because I’m not ready to give up PS for GIMP quite yet.

In the enfuse-pro and pano-pro there are some notes about making sure the lua script language is properly installed, which is why I was assuming I needed to install it. I didn’t realize it was bundled with dt. I was expecting I might need to do some torubleshooting to get those two scripts working, but nothing seems to be working, even “hello world”.

Am I putting them in the wrong location for Windows?

The pano-pro and enfuse-pro scripts can be found here for those curious:
https://www.multimedia4linux.de/index.php/bildbearbeitung/darktable/darktable-plugin-enfuse-professional

After posting that reply I realized my slashes may have been in the wrong direction on windows. changed my luarc file to read as follows:

require “official\yield”
require “examples\hello_world”
require “contrib\enfuse_pro”
require “contrib\pano_pro”
require “contrib\hugin”

Still cannot see any effect.

Those scripts will fail, because they rely on external programs and do a check if those are avaliable. Windows is different and I don’t know if Holger will support Windows. I like the pano_pro as well, but it is up to the author if and where scripts are published.

Maybe

fails on Windows? This will stop loading other scripts in the chain.

Start with a single script, which do not need any external executeables like examples/hello_world or official/image_path_in_ui for testing. @wpferguson is currently working on windows support for the scripts hosted at github.

Modified my luarc to be just:
require “examples\hello_world”
Still no effect.

I also tried it with just:
require “contrib\hugin”
or just
require “official\image_path_in_ui”

No luck with those either.

I do have the latest Hugin 2018.0 installed. However, there may be more to it than that for enfuse_pro and pano_pro to work. I can live without pano_pro because i don’t mind going in to Hugin when doing a rare pano. But I use enfuse all the time, hopefully windows support for it will follow eventually.

In my luarc file my calls to the lua file are noted like this.
I’m under win 10 and it works fine

require “contrib / gimp”
require “contrib / geoToolbox”
require “official / delete_unused_tags”

That is odd. I set my luarc to just contain:
require “contrib / geoToolbox”
I don’t see it working. (Looking for a new geoToolbox panel in lightable mode)

Running darktable from the commandline as such:
dartable.exe -d lua
resutls in darktable opening and starting like normal. No additional information is printed in the terminal.

Is there a way I can test darktable’s lua implementation to see if that got broke somehow? Is it advisable to uninstall and reinstall at this point?

I am on a fresh install of windows 10. Previously when I was running on Ubuntu I remember there was a “Lua” tab inside the settings dialog box. I do not know if this was due to the scripts I had installed though. However, I do not see that now in windows.

Output is written to a log file on Windows:

Yes, as soon as the scripts sucessfully load and preferences are set by the script this LUA tab appears. It depends on the script of course, if preferences are used.

I actually just saw that mentioned in another post and was going to check.

However, that directory doesn’t exist for me. I have no “INetCache” under
C:\Users\Kevin\AppData\Local\Microsoft\Windows\

It is a hidden folder. You need to check if hidden and system folders are visible. It is some setting in the explorer …

Yea, Appdata is a hidden folder as well. I’ve got windows set to display hidden folders.

When I first installed dt I did copy some files over to this location in an effort to transfer my database over from my old OS. I recognize now this was the wrong location.
C:\Program Files\darktable\share\darktable
However, there is a luarc (which there IS supposed to be according to the manual). Maybe I overwrote that file with one from my linux setup when I copied over the files. Not sure. I think I will try to uninstall and re-install dt to see if anything gets resolved.

I have now gone through, uninstalled dt, and deleted the darktable folders from:
C:\Users\Kevin\AppData\Local
and
C:\Program Files

So this install should have been totally clean. After the install, I ran dt and adjusted the core settings then closed it. I copied the master scripts from GIT to a “lua” folder created in
C:\Users\Kevin\AppData\Local\darktable
In the same location I created a luarc file and added to it:
require “examples / hello_world”
I did this using notepad++ run as administrator

I then ran dt from the command line via
darktable.exe -d lua

I then checked for a log file but still do not have any “INetCache” folder within:
C:\Users\Kevin\AppData\Local\Microsoft\Windows

If anyone has any advice of what I should do, or anything I can do to help provide debug info please let me know.

Again, I am on Windows 10 Home

I’ve been working on getting the lua scripts to run on windows.

Here’s the setup I’ve been using

I installed git from https://gitforwindows.org. As part of the installation a git bash shell is installed. You can start that shell, then type “\program files\darktable\bin\darktable” -d lua on the command line and darktable will execute and the debugging information will print right in the console. The only problem I had with this was when I crashed some of the scripts, darktable would hang the next time I tried to start it, so I would have to reboot.

As far as installing the scripts, the method I used is as follows:
Start the git bash shell
type in cd /c/users//appdata/local/darktable
mkdir lua
cd lua
git clone https://github.com/darktable-org/lua-scripts.git .
cd …
echo require “examples/hello_world” > luarc

Next do the
“\program files\darktable\bin\darktable” -d lua
and you should see

hello, world in a black popup in the lower middle of the darktable window.

Right now contrib/gimp and contrib/hugin work on windows. Other scripts that don’t call external executables should work, but I haven’t gone through and verified them.

If you need to update the lua scripts and you’ve installed them as I described, then you can go into the lua directory and type git pull and they will update to the current version.

Bill

Hi Kevin,

try to replace the slash in luarc against a double-backslash and omit the spaces.

e.g.:

require “official\\yield”
require “contrib\\copy_attach_detach_tags”
require “contrib\\hugin”
require “contrib\\gimp”

You should find your darktable logfile here:

C:\Users\Kevin\AppData\Local\Microsoft\Windows\Temporary Internet Files\darktable

Greets
Jürgen

Kevin, the log file is there:

Type in in the Explorer bar at the top the path.

This resolved my issue. hello_world and hugin are both working now. Thanks!

I don’t have GIMP installed, but as mentioned above the hugin script does appear to be working now.

As you mention here, and others have mentioned above, enfuse_pro does not work, which is a shame, I absolutely love that plug-in. I will reach out to Holger and see if he has any interest in modifying the script. I also may take a stab at seeing if I can get it to work using your modified hugin script as an example. However, I’m not too optimistic, as you all can tell I’m no software developer.

I didn’t go through your exact install process since things started working when I used double backslash. However, I might do so because this would be a handy feature. I also see you created a plugin-manager script a while ago. Is that functioning on windows?

This worked. It is odd that even with “show hidden files and folders” activated in windows the INetCache folder is still hidden.

Thanks to everyone who chimed in here to help me out! You all are awesome!

Perhaps I spoke too soon. hello_world is indeed working, and hugin gives me the option of “Hugin Panorama” in the export options, but after the 3 ldr images are created nothing happens. The log file shows:
LUA ERROR hugin not found

I thought maybe I had old scripts, so I deleted all files from my “lua” folder and used git clone as wpferguson suggested above, so everything is now certainly the latest and greatest. The problem persists.

I do have hugin 2018.0 installed. It is located here:
C:\Program Files\Hugin\bin
hugin.exe, hugin_executor.exe, and pto_gen.exe all exist within this location.