XCF->PNG build
In the end it would have been easier just to use Imagemagick for this. What a mess. Another example where a GUI seemed simple at first but then turned out to be a poor tool for the job.master
parent
fad5b41407
commit
2bc167f8ee
10
Makefile
10
Makefile
|
@ -18,12 +18,16 @@
|
|||
|
||||
default: slides.pdf
|
||||
|
||||
xcfs = $(wildcard images/*.xcf)
|
||||
pngs = $(xcfs:.xcf=.png)
|
||||
|
||||
.PRECIOUS: $(pngs)
|
||||
|
||||
# TODO: No local init.el! Isolate required options so that this is actually
|
||||
# portable!
|
||||
%.pdf: %.org %-preamble.tex
|
||||
%.pdf: %.org %-preamble.tex $(pngs)
|
||||
emacs --batch -l ~/.emacs.d/init.el $< -f org-beamer-export-to-pdf
|
||||
|
||||
# TODO: Either script with GIMP or just use ImageMagick and get rid of xcfs
|
||||
%.png: %.xcf
|
||||
@echo 'Not yet implemented!' >&2
|
||||
@false
|
||||
GIMP_INPUT="$<" GIMP_OUTPUT="$@" gimp -ni -b - < build-aux/xcf2png.scm
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
;;; Convert XCF files to PNG
|
||||
;;;
|
||||
;;; Copyright (C) 2019 Mike Gerwitz
|
||||
;;;
|
||||
;;; This program is free software: you can redistribute it and/or modify
|
||||
;;; it under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation, either version 3 of the License, or
|
||||
;;; (at your option) any later version.
|
||||
;;;
|
||||
;;; This program is distributed in the hope that it will be useful,
|
||||
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(let* ((input-filename (getenv "GIMP_INPUT"))
|
||||
(output-filename (getenv "GIMP_OUTPUT"))
|
||||
(image (car (gimp-file-load RUN-NONINTERACTIVE
|
||||
input-filename
|
||||
input-filename)))
|
||||
(layer (car (gimp-image-merge-visible-layers
|
||||
image
|
||||
CLIP-TO-IMAGE))))
|
||||
|
||||
(gimp-file-save RUN-NONINTERACTIVE
|
||||
image
|
||||
layer
|
||||
output-filename
|
||||
output-filename)
|
||||
|
||||
(gimp-image-delete image)
|
||||
(gimp-quit 0))
|
||||
|
Loading…
Reference in New Issue