Copyright: © 2013 Joey Hess <id@joeyh.name>
License: GPL-3+
+Files: doc/special_remotes/compute/git-annex-compute-imageconvert
+Copyright: © 2025 Joey Hess <id@joeyh.name>
+License: GPL-3+
+
Files: doc/design/external_backend_protocol/git-annex-backend-XFOO
Copyright: © 2020 Joey Hess <id@joeyh.name>
License: GPL-3+
[[design/compute_special_remote_interface]].
Have you written a generally useful (and secure) compute program?
-List it here!
+List it here with an example!
-* ...
+* [[compute/git-annex-compute-imageconvert]] --
+ Uses imagemagick to convert between image formats
+
+ `git-annex addcomputed --to=imageconvert foo.jpeg foo.gif`
--- /dev/null
+#!/bin/sh
+# git-annex compute special remote program that uses imagemagic's convert
+# to convert one type of image format into another. Eg, jpeg to gif.
+#
+# Copyright 2025 Joey Hess; licenced under the GNU GPL version 3 or higher.
+set -e
+
+if [ -z "$1" ] || [ -z "$2" ]; then
+ echo "Specify the input image file, followed by the output image file." >&2
+ echo "Example: foo.jpg foo.gif" >&2
+ exit 1
+fi
+
+echo "INPUT $1"
+read input
+echo "OUTPUT $2"
+
+if [ -n "$input" ]; then
+ # Prefixing the filenames with "./" makes sure that they are processed
+ # as files, even if they look like dashed options.
+ mkdir -p "$(dirname "./$2")"
+ ln -s "$input" "./$1"
+ convert "./$1" "./$2"
+fi