darktable-org / lua-scripts

155 stars 110 forks source link

Rate group script not run by darktable #291

Closed techexo closed 3 years ago

techexo commented 4 years ago

Hello, Trying to run the rate_group.lua script with darktable 3.2.1 leads to... nothing. Configuration of shortcuts is unavailable through the settings and running darktable -d lua doesn't output anything. It is run on Windows 10 x64. The script was working perfectly fine on darktable 3.0.

How can I help to fix the script? (debug mode that I didn't found, error messages hidden somewhere?) I really like this script to help sort my shootings.

Thanks Eloi

techexo commented 4 years ago

Hi again, After looking how to actually have the debug information, here are the errors:

2,639528 LUA ERROR : C:\Users\Eloi\AppData\Local\darktable/lua/rate_group.lua:27: module 'lib/dtutils' not found: no field package.preload['lib/dtutils'] no file 'C:\Program Files\darktable\bin..\share\lua\5.3\lib/dtutils.lua' no file 'C:\Program Files\darktable\bin..\share\lua\5.3\lib/dtutils\init.lua' no file 'C:\Program Files\darktable\bin..\lib\lua\5.3\lib/dtutils.lua' no file 'C:\Program Files\darktable\bin..\lib\lua\5.3\lib/dtutils\init.lua' no file 'C:\Program Files\darktable\bin..\share\lua\5.3\lib/dtutils.lua' no file 'C:\Program Files\darktable\bin..\share\lua\5.3\lib/dtutils\init.lua' no file '.\lib/dtutils.lua' no file '.\lib/dtutils\init.lua' no file 'C:\Program Files\darktable\share\darktable/lua/lib/dtutils.lua' no file 'C:\Users\Eloi\AppData\Local\darktable/lua/lib/dtutils.lua' no file 'C:\Program Files\darktable\bin..\lib\lua\5.3\lib/dtutils.dll' no file 'C:\Program Files\darktable\bin..\lib\lua\5.3..\lib\lua\5.3\lib/dtutils.dll' no file 'C:\Program Files\darktable\bin..\lib\lua\5.3\loadall.dll' no file '.\lib/dtutils.dll'

If I comment the line local du = require "lib/dtutils", I then have

2,610932 LUA ERROR : C:\Users\Eloi\AppData\Local\darktable/lua/rate_group.lua:30: attempt to index a nil value (global 'du')

So I guess I cannot just comment things out of the blue ;)

I will try to continue to look for solution, please help if you can :)

techexo commented 4 years ago

It seems that "lib/dtutils" doesn't exist anymore, but it is used only for version check. Commenting the following lines allow the script to run

local du = require "lib/dtutils"

-- added version check
du.check_min_api_version("3.0.0", "rate_group")

Was there a recent change in the way version of darktable API should be checked?

supertobi commented 4 years ago

Was there a recent change in the way version of darktable API should be checked?

No, not that I know.

The best solution is to get the libs back, we use them in a lot of scripts: https://github.com/darktable-org/lua-scripts/tree/master/lib

wpferguson commented 4 years ago

Was there a recent change in the way version of darktable API should be checked?

It changed a year and a half ago so that we didn't have to update all the scripts every time the lua API version changed.

wpferguson commented 4 years ago

It seems that "lib/dtutils" doesn't exist anymore, but it is used only for version check.

lib/dtutils.lua is still part of the lua scripts. It contains several utility functions besides the API check. It sounds like your installation of the lua scripts may be corrupt or incomplete. You might want to just re-install the lua scripts to make sure you have the latest version.

wpferguson commented 3 years ago

@techexo is this still a problem or can we close it?

techexo commented 3 years ago

Hello, I didn't get that lib/dtutils.lua was part of the scripts to be installed, I just used the script I wanted "standalone". I was not able yet to check if the issue came from here, but I can pretty much tell that I didn't do a proper installation! We can close this issue, I'll reopen if needed :) Thanks for your help!