J'ai un peu profité de cette journée pour essayer de coder le script en question. Le voici ci-dessous.
Il est codé en Bash, donc destiné à un environnement Unix/Linux. Il permet de traiter un nombre arbitraire de raw en produisant plusieurs tailles de jpg. Pour faciliter son utilisation, j'ai prédéfini 4 tailles que j'ai appelées S, M, L et F.
Il faut aussi ajuster deux variables correspondant à l'emplacement du binaire darktable-cli, ainsi qu'à l'emplacement du dossier de configuration de darktable.
On pourrait sophistiquer un peu plus en spécifiant la définition dans le nom du fichier exporté par exemple (ce sera pour la version 2 ;-)
Un retour serait le bienvenu, merci !
Il est codé en Bash, donc destiné à un environnement Unix/Linux. Il permet de traiter un nombre arbitraire de raw en produisant plusieurs tailles de jpg. Pour faciliter son utilisation, j'ai prédéfini 4 tailles que j'ai appelées S, M, L et F.
- S correspond à une définition de 1000x1000 pixels et un taux de compression de 85.
- M correspond à 1500x1500 et 85,
- L correspond à 3000x3000 et 90,
- F (pour full) correspond à 0x0 (soit la définition originale) et un taux de 93.
Il faut aussi ajuster deux variables correspondant à l'emplacement du binaire darktable-cli, ainsi qu'à l'emplacement du dossier de configuration de darktable.
On pourrait sophistiquer un peu plus en spécifiant la définition dans le nom du fichier exporté par exemple (ce sera pour la version 2 ;-)
Un retour serait le bienvenu, merci !
Code :
#! /bin/bash
DarktableCli='/opt/darktable-prod/bin/darktable-cli'
DTconfigDir='/home/jpv/.config/darktable-prod'
OutputFolder='.'
declare -A Tsize=(['S']=1000 ['M']=1500 ['L']=3000 ['F']=0)
declare -A Tcomp=(['S']=85 ['M']=85 ['L']=90 ['F']=93)
while getopts "hvs:" Option
do
case ${Option} in
h ) printf "Usage : %s [-h] -s <ListeClés> Fichiers...\n" $0
printf "ListeClés parmi S, M, L et F séparées par des virgules\n"
exit 0 ;;
s ) KeyList=${OPTARG} ;;
v ) Verbose="--verbose" ;;
* ) exit 1
esac
done
shift $(($OPTIND - 1))
if [ -z ${KeyList} ] ; then
printf "Option -s non pésente ou vide\n"
exit 1
fi
IFS=,
for Key in ${KeyList}
do
${DarktableCli} \
$* \
${OutputFolder} \
${Verbose} \
--width ${Tsize["${Key}"]} \
--height ${Tsize["${Key}"]} \
--core \
--configdir ${DTconfigDir} \
--conf plugins/imageio/format/jpg/quality= ${Tcomp["${Key}"]}
done
Mes photos : jpverrue.fr