Gwenview : ouvrir automatiquement dans Gimp le RAW associé à une image JPEG
Photographie
Par djib le mardi 26 septembre 2006, 13:48 - Lien permanent
Cet article n'est pas uniquement destiné à ceux qui veulent ouvrir des images RAW depuis Gwenview dans Gimp, mais à tous les utilisateurs de Gwenview. Il traite des External Tools et donne un exemple de leur puissance.
Mon problème
Pour visionner les images prises avec mon appareil photo, j'utilise le format JPEG qui s'affiche bien plus rapidement que du RAW (format de données brutes de l'appareil photo). Seulement voilà, plutôt que d'avoir a noter le numéro de la photo qui m'intéresse, trouver le fichier RAW correspondant, et l'ouvrir dans GIMP, je me suis dit qu'il fallait profiter de la puissance des External Tools de Gwenview et des outils GNU pour écrire un script.
Une solution
Il est possible dand Gwenview de configurer les External Tools et d'en créer des nouveaux. J'en ai créé un avec la commande suivante :
echo %u > /tmp/gwenview.djib &&
sed -i 's/.jpg/.nef/' /tmp/gwenview.djib &&
sed -i 's/.*\/\(.*\)/\1/' /tmp/gwenview.djib &&
gimp-remote -n /home/djib/medias/images/photos/nef/`cat /tmp/gwenview.djib` &&
rm /tmp/gwenview.djib
Alors à quoi ça sert tout ça...[1]
echo %u > /tmp/gwenview.djibécris le nom du fichier à ouvrir (%u) dans un fichier temporaire que j'ai nommégwenview.djibpour être sûr de pas écraser un truc existant.sed -i 's/.jpg/.nef/' /tmp/gwenview.djibremplace l'extension.jpgdu fichier par une extension.nef(qui est le format RAW des appareils Nikon).sed -i 's/.*\/\(.*\)/\1/' /tmp/gwenview.djibse débarasse du chemin d'accès au fichier pour garder que le nom du fichier (par exemple/home/djib/maphoto.jpgdevientmaphoto.jpg).gimp-remote -n /home/djib/medias/images/photos/nef/`cat /tmp/gwenview.djib`ouvre le fichierRAW(qui sont tous stockés dans le même répertoire sur mon ordinateur) dans l'instance courante de Gimp (si elle existe).rm /tmp/gwenview.djibsupprime le fichier temporaire.
Voilà... Que l'on ne vienne pas me dire que les expressions rationelles (les trucs comme s/.*\/\(.*\)/\1/) et les outils GNU ne sont pas puissants
D'un simple clic sur une image JPEG j'ouvre l'image RAW correspondante dans Gimp.
Cette astuce ne vous sera sûrement pas utile telle quelle, mais j'espère que vous saurez l'adapter à vos besoins. Bon courage !
Notes
[1] Il y a peut-être plus simple, je ne suis pas un pro des scripts... Quoi qu'il en soit je part du principe que tant que ça marche, c'est ce qu'il me faut 



Commentaires
Pourquoi écrire dans un fichier? Les variables sont faites pour ça et on peux combiner plusieurs sed :
TMPPHOTO=%u &&
TMPPHOTO=`echo $TMPPHOTO | sed 's/.jpg/.nef/' | sed 's/.*\/\(.*\)/\1/'` &&
gimp-remote -n /home/djib/medias/images/photos/nef/ $TMPPHOTO
A priori il doit être possible de remplacer de supprimer la première ligne et de faire "TMPPHOTO= `%u | sed ..."
mais j'ai pas trouver dans quel repertoire on mettait les "External Tools"
Salut Smarter,
Je n'avais pas pensé à une variable. Merci.
Pour les "external tools" ils se trouvent en cliquant avec le bouton droit sur une image et en choisant "external tools>configurer".
J'ai mieux, j'ai mieux
echo `expr match %u '\(.*\).jpg'`
Je pense qu'on est à fond là...
Au plaisir
Pardon, erreur de recopiage sur ma console : j'ai oublié basename qui enlève le dossier :
echo `expr match $(basename "%u") '\(.*\).jpg'`
D'ailleurs, on peut faire aussi, et c'est presque plus simple :
echo `expr match "%u" '.*\/\(.*\).jpg'`
En fait si la commande n'est pas lancée avec sh ou bash, il faut le faire soi-même par
sh -c "echo `expr match \"$test\" '.*\/\(.*\).jpg'`".
À plus
Merci, je viens d'apprendre l'existence des commandes expr et basename. Merci, c'est beau et j'aime.