Forum darktable FR

Version complète : Aide sur Lua
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Pages : 1 2
Bonjour,

Je me permets d'ouvrir un nouveau post sur Lua car je crois que mon problème n'a pas été traité auparavant.

Lorsque je shoot en RAW+JPG je souhaite, dans Darktable, associer les notes en étoiles aux 2 fichiers du groupe (le RAW et le JPG donc).

J'ai trouvé pour cela le script suivant https://github.com/ribmo/lua-scripts/blo..._group.lua ou la discussion https://redmine.darktable.org/issues/8968

Grâce à ce fil https://darktable-fr.tuxfamily.org/forum...darktable/ j'ai copié (sans trop comprendre ce que je faisais) ce code dans un Terminal :
<pre>
Code :
<pre><code>cd $HOME/.config/darktable/lua
git clone https://github.com/itarozzi/darktable-lua-scripts.git
git clone https://github.com/johnnyrun/darktable_lua_gimp.git
</pre>




</code></pre>
J'ai copié le fichier luarc, créer le dossier lua et rajouter le script puis rajouter la ligne <span class="blob-code-inner"><span class="pl-c">require "rate_group" dans le fichier luarc.
</span></span>

Lorsque j'ouvre Darktable, pas de message d’erreur, tout fonctionne comme avant sauf que la nouvelle fonctionnalité n'y est pas. Pas de champ "lua" dans le paramétrage des raccourcis non plus.

Est-ce que quelqu'un a déjà été confronté au problème ?

 

Je suis sous Ubuntu 16.04 et Darktable 2.0.3 (bientôt la 2.2 ?)
À part les artefacts lié au copier/coller, ce que tu as fait me semble correct. As-tu essayé de lancer DT dans une console avec l'option
Code :
-d lua
?
J'ai ouvert le Terminal et j'ai tapé

Code :
darktable -d lua
Darktable s'est ouvert normalement, sans améliorations.

Mon fichier luarc ressemble à ça :
Citation :-- default  lua require can't handle yielding across "require" calls
-- This version is implemented in pure-lua and avoids the problem
-- override the require function for everybody

require = require "darktable/external/pygy_require/require".require

require = "reject_group"

-- vim: shiftwidth=2 expandtab tabstop=2 cindent syntax=lua
Ca peut être un problème ?
Personne n'a une idée sur ce qu'il faut faire pour faire fonctionner un script lua ? C'est peut être quelque chose d'évident mais étant débutant...

Dans le pire des cas j'ai trouvé un moyen de gérer mon workflow sans. Mais bon ça m'énerve de ne pas y arriver...
Pour chaque script que tu veux utiliser, tu dois :
  • avoir mis le fichier dans .config/darktable/lua, Wink
  • avoir ajouté une ligne "require" dans le fichier .config/darktable/luarc
Par exemple, j'ai plusieurs fichiers .lua dans mon répertoire .config/darktable/ : essai.lua, fnav.lua, copy_paste_metadata.lua
Je veux utiliser les deux derniers. J'ai donc mis les deux lignes "require" dans .config/darktable/lua


Code :
-- Scripts LUA à inclure

require "fnav"
require "copy_paste_metadata"
Merci pour ton aide.
Pour moi j'ai bien effectué toutes les étapes citées. Mais ça ne fonctionne toujours pas. Visiblement je dois louper quelque chose... Ou alors le fichier que j'ai récupéré a un souci.
Je crois que je vais abandonner.
Faut pas baisser les bras...

Peux-tu essayer ceci ? :
Citation :Please try running darktable like this from a terminal:
darktable --luacmd 'print("Lua seems to work")'
Does it print "Lua seems to work"?
(extrait d'un mail de Tobias Ellinghaus <me@houz.org> sur la liste darktable-user@lists.darktable.org)

As-tu vu l'autre fil de discussion à propos de lua ? (https://darktable-fr.tuxfamily.org/forum...p?tid=1567)
D'autre part, peux tu poster ici le résultat de la commande ls -l .config/darktable/lua ainsi que le contenu de ton fichier .config/darktable/luarc ?
Dans un terminal, j'ai tapé :

Code :
darktable --luacmd 'print("Lua seems to work")'

Darktable s'est ouvert et dans le terminal j'ai eu la ligne suivante :

Code :
Lua seems to work

J'imagine donc que Lua fonctionne.

En tapant

Code :
ls -l .config/darktable/lua


J'obtiens :
Code :
ls -l .config/darktable/lua
total 12
drwxrwxr-x 5 julien julien 4096 déc.  29 20:37 darktable_lua_gimp
drwxrwxr-x 5 julien julien 4096 déc.  29 20:36 darktable-lua-scripts
-rw-rw-r-- 1 julien julien 3101 janv. 14 12:03 rate_group.lua

Et enfin, le contenu de mon fichier luarc :

Code :
-- default  lua require can't handle yielding across "require" calls
-- This version is implemented in pure-lua and avoids the problem
-- override the require function for everybody

require = require "darktable/external/pygy_require/require".require

-- vim: shiftwidth=2 expandtab tabstop=2 cindent syntax=lua

require = "rate_group"

Est-ce que le problème viendrait de mon fichier rate_group.lua ?

Dernier point : pour moi, en ouvrant Darktable, je devrais voir dans mes réglages de raccourcis claviers de nouvelles lignes qui permettraient d'appliquer une note à l'ensemble d'un groupe. Est-ce que je fais fausse route et les scripts lua ne se gèrent pas par là ?
Et maintenant si tu lances "darktable -d lua" en console as-tu des messages d'erreurs?

Tu peux aussi tester:

$ cd .config/darktable
$ cat luarc
require "hello"
$ cat lua/hello.lua
print("hello lua")

Et maintenant:

$ darktable -d lua
Citation :Et maintenant si tu lances "darktable -d lua" en console as-tu des messages d'erreurs?
Non, pas de messages d'erreurs, DT s'ouvre normalement.

Citation :Tu peux aussi tester:

$ cd .config/darktable
$ cat luarc
require "hello"
$ cat lua/hello.lua
print("hello lua")

Désolé, je n'ai pas compris. J'ai essayé de taper ça dans un terminal sans les $. J'ai en réponse que la commande require est introuvable et que hello.lua n'existe pas.
J'ai donc créé un fichier hello.lua qui contient le texte print("hello lua") et enregistré sous .config/darktable/lua. J'ai ajouté require = "hello" dans le fichier luarc puis j'ai relancé dans un terminal avec :

Code :
darktable -d lua

DT s'ouvre mais pas de messages d'erreurs, ni de "hello lua".
Pages : 1 2