4 ## @brief Extract embedded jpegs from a raw file
6 ## - Display a list of the embedded files
7 ## - Extract the selected image to a tmp folder
8 ## - If jpgicc is installed, correct for currently selected rendering intent
9 ## and store in a new file
10 ## - Set Geeqie focus to the newly generated image
13 if ! [ -x "$(command -v exiv2)" ]
15 zenity --info --width=300 --height=100 --text="Export jpeg from raw file\n\nexiv2 is not installed" --title="Geeqie export jpeg" 2>/dev/null
19 if ! [ -x "$(command -v jpgicc)" ]
21 zenity --info --width=300 --height=100 --text="Export jpeg from raw file\n\njpgicc is not installed\ncolor corrections will not be made\nYou may install via liblcms2-utils" --title="Geeqie export jpeg" 2>/dev/null
24 count=$(exiv2 -pp "$1" | wc -l)
27 zenity --info --width=300 --height=100 --text="Export jpeg from raw file\n\nFile contains no embedded images" --title="Geeqie export jpeg" 2>/dev/null
34 list=$(exiv2 -pp "$1")
40 if [ "$n" -eq "$count" ]
42 image_list="${image_list:+${image_list}}TRUE\n$image\n$n"
44 image_list="${image_list:+${image_list}}FALSE\n$image\n$n\n"
49 image_selected=$(echo "$image_list" | zenity --width=500 --height=250 --title="Geeqie export jpeg" --list --text "Select embedded image" --radiolist --column "Select" --column "Image" --column "n" --hide-column=3 --print-column=3 2>/dev/null)
51 if [ -n "$image_selected" ]
53 tmpdir=$(mktemp -d "${TMPDIR:-/tmp}/geeqie.XXXXXXXXXX")
55 exiv2 --location "$tmpdir" -ep"$image_selected" "$1"
57 render_str=$(geeqie --remote --get-render-intent)
62 "Relative Colorimetric" )
66 "Absolute Colorimetric" )
70 filename=$(basename "$tmpdir/"* ".jpg")
71 if [ -x "$(command -v jpgicc)" ]
73 filename_ri="$tmpdir/""$filename""-ri.jpg"
74 jpgicc -t $render_key "$tmpdir/""$filename"".jpg" "$filename_ri"
76 rm "$tmpdir/""$filename"".jpg"
78 geeqie --remote view:"$filename_ri"
80 geeqie --remote view:"$tmpdir/""$filename"".jpg"