X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=graphics%2Fupdate;h=464a3a068b0b6a2cc819b7c1a5b0bf4c92d018fb;hp=b16becc96741ac4faa02456f145a8c02b2482e0a;hb=95e6551c7e77f03455d14b41a9bc0430c9dc086d;hpb=fafcda9bddf57be0c6cecdcb758c4c56df3c8b16 diff --git a/graphics/update b/graphics/update index b16becc96..464a3a068 100755 --- a/graphics/update +++ b/graphics/update @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e # # Update generated stuff in graphics/ from the source files. # @@ -6,51 +6,108 @@ # a) getting the wscript right is a complete pain in the arse # b) running Inkscape from the command line on OS X is a complete pain in the arse +set -e + pwd=`pwd` if [ `basename $pwd` != "graphics" ]; then - echo "$0: run within graphics/" - exit 1 + echo "$0: run within graphics/" + exit 1 fi +function required_font() +{ + set +e + check=$(fc-list | grep "$1") + set -e + if [ "$check" == "" ]; then + echo "Missing font $1" + exit 1 + fi +} + +svg_apps="dcpomatic2_kdm dcpomatic2_server dcpomatic2_batch dcpomatic2_player dcpomatic2_playlist dcpomatic2_disk dcpomatic2_combiner" + + if [ `uname -s` == "Darwin" ]; then # Convert OS X icons using OS X-only iconutil - for p in dcpomatic2 dcpomatic2_kdm dcpomatic2_server dcpomatic2_batch; do - iconutil --convert icns --output $p.icns $p.iconset + for p in dcpomatic2 $svg_apps; do + iconutil --convert icns --output osx/$p.icns osx/$p.iconset done else - INKSCAPE="inkscape -z -C -e" + required_font "Libre Baskerville" + + INKSCAPE="$HOME/Applications/inkscape" + for c in icotool convert inkbatch $INKSCAPE; do + if [ ! -x "$(command -v $c)" ]; then + echo "$c is required" + exit 1 + fi + done + # OS X application icons + mkdir -p osx for r in 16 32 128 256 512; do - for p in dcpomatic2 dcpomatic2_kdm dcpomatic2_server dcpomatic2_batch; do - mkdir -p $p.iconset - $INKSCAPE $p.iconset/icon_$rx$r.png -w $r -h $r $p.svg - $INKSCAPE $p.iconset/icon_$rx$r@2x.png -w $r -h $r $p.svg + for p in dcpomatic2; do + mkdir -p osx/$p.iconset + convert src/dcpomatic.png -resize $rx$r osx/$p.iconset/icon_${r}x${r}.png + convert src/dcpomatic.png -resize $rx$r osx/$p.iconset/icon_${r}x${r}@2x.png + done + for p in $svg_apps; do + mkdir -p osx/$p.iconset + $INKSCAPE --export-filename=osx/$p.iconset/icon_${r}x${r}.png -w $r -h $r src/$p.svg + $INKSCAPE --export-filename=osx/$p.iconset/icon_${r}x${r}@2x.png -w $r -h $r src/$p.svg done done # Linux application icons + mkdir -p linux for r in 16 22 32 48 64 128 256 512; do - mkdir -p $r - for p in dcpomatic2 dcpomatic2_kdm dcpomatic2_server dcpomatic2_batch; do - $INKSCAPE $r/$p.png $p.svg -w $r -h $r + mkdir -p linux/$r + convert src/dcpomatic.png -resize $rx$r linux/$r/dcpomatic2.png + for p in $svg_apps; do + $INKSCAPE --export-filename=linux/$r/$p.png src/$p.svg -w $r -h $r done done # Windows application icons - for p in dcpomatic2 dcpomatic2_kdm dcpomatic2_server dcpomatic2_batch; do - icotool -c -o $p.ico 48/$p.png + mkdir -p windows + for p in dcpomatic2 $svg_apps; do + icotool -c -o windows/$p.ico linux/16/$p.png linux/32/$p.png linux/48/$p.png linux/64/$p.png linux/128/$p.png done - icotool -c -o dcpomatic2_server_small.ico dcpomatic2_server_small.png - $INKSCAPE dcpomatic.png dcpomatic2.svg -w 400 -h 286 - convert dcpomatic.png dcpomatic.bmp + convert src/dcpomatic.png -resize 400x400 windows/dcpomatic.bmp - # Preferences icons (all platforms) - # servers.png does not have an SVG version - for i in colour_conversions defaults kdm_email keys tms; do - $INKSCAPE $i.png $i.svg -w 32 -h 32 + # OS X preferences icons + mkdir -p osx/preferences + for i in defaults email kdm_email cover_sheet keys tms notifications locations sound identifiers servers general advanced; do + inkbatch -i bounds-$i -o osx/preferences/$i.png --width 32 --height 32 src/preferences.svg + inkbatch -i bounds-$i -o osx/preferences/$i@2x.png --width 64 --height 64 src/preferences.svg done + # OS X menu bar icon for the server + $INKSCAPE --export-filename=osx/dcpomatic_small.png -w 64 -h 64 src/dcpomatic_small.svg + # Splash screen (all platforms) - $INKSCAPE splash.png splash.svg -w 400 -h 300 + $INKSCAPE --export-filename=splash.png src/splash.svg -w 400 -h 300 + + # Timeline toolbar icons (all platforms) + for i in select zoom zoom_all snap sequence; do + $INKSCAPE --export-filename=$i.png src/$i.svg -w 32 -h 32 + done + + # Playlist editor tick/no-tick + $INKSCAPE --export-filename=tick.png src/tick.svg -w 16 -h 16 + $INKSCAPE --export-filename=no_tick.png src/no_tick.svg -w 16 -h 16 + + # Link icon + $INKSCAPE --export-filename=link.png src/link.svg -w 9 -h 16 + + # favicon + mkdir -p web + convert src/web.png -resize 256x256 -transparent white web/favicon-256x256.png + for r in 16 32 64 128; do + convert web/favicon-256x256.png -resize $rx$r web/favicon-${r}x${r}.png + done + convert web/favicon-16x16.png web/favicon-32x32.png web/favicon-64x64.png web/favicon-128x128.png web/favicon-256x256.png web/favicon.ico + convert src/web.png -resize 123x123 -transparent white web/logo.png fi