3 # Update generated stuff in graphics/ from the source files.
5 # It would be nice to do this with waf but:
6 # a) getting the wscript right is a complete pain in the arse
7 # b) running Inkscape from the command line on OS X is a complete pain in the arse
10 if [ `basename $pwd` != "graphics" ]; then
11 echo "$0: run within graphics/"
15 if [ `uname -s` == "Darwin" ]; then
16 # Convert OS X icons using OS X-only iconutil
17 for p in dcpomatic2 dcpomatic2_kdm dcpomatic2_server dcpomatic2_batch dcpomatic2_player dcpomatic2_playlist; do
18 iconutil --convert icns --output osx/$p.icns osx/$p.iconset
22 for c in icotool convert inkscape; do
23 if [ ! -x "$(command -v $c)" ]; then
29 INKSCAPE="inkscape -z -C -e"
31 # OS X application icons
33 for r in 16 32 128 256 512; do
34 for p in dcpomatic2; do
35 mkdir -p osx/$p.iconset
36 convert src/dcpomatic.png -resize $rx$r osx/$p.iconset/icon_${r}x${r}.png
37 convert src/dcpomatic.png -resize $rx$r osx/$p.iconset/icon_${r}x${r}@2x.png
39 for p in dcpomatic2_kdm dcpomatic2_server dcpomatic2_batch dcpomatic2_player dcpomatic2_playlist; do
40 mkdir -p osx/$p.iconset
41 $INKSCAPE osx/$p.iconset/icon_${r}x${r}.png -w $r -h $r src/$p.svg
42 $INKSCAPE osx/$p.iconset/icon_${r}x${r}@2x.png -w $r -h $r src/$p.svg
46 # Linux application icons
48 for r in 16 22 32 48 64 128 256 512; do
50 convert src/dcpomatic.png -resize $rx$r linux/$r/dcpomatic2.png
51 for p in dcpomatic2_kdm dcpomatic2_server dcpomatic2_batch dcpomatic2_player dcpomatic2_playlist; do
52 $INKSCAPE linux/$r/$p.png src/$p.svg -w $r -h $r
56 # Windows application icons
58 for p in dcpomatic2 dcpomatic2_kdm dcpomatic2_server dcpomatic2_batch dcpomatic2_player dcpomatic2_playlist; do
59 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
61 convert src/dcpomatic.png -resize 400x400 windows/dcpomatic.bmp
63 # OS X preferences icons
64 # servers.png does not have an SVG version
65 mkdir -p osx/preferences
66 for i in colour_conversions defaults email kdm_email cover_sheet keys tms notifications accounts locations; do
67 $INKSCAPE osx/preferences/$i.png src/$i.svg -w 32 -h 32
70 # OS X menu bar icon for the server
71 $INKSCAPE osx/dcpomatic_small.png -w 64 -h 64 src/dcpomatic_small.svg
73 # Splash screen (all platforms)
74 $INKSCAPE splash.png src/splash.svg -w 400 -h 300
76 # Timeline toolbar icons (all platforms)
77 for i in select zoom zoom_all snap sequence; do
78 $INKSCAPE $i.png src/$i.svg -w 32 -h 32
81 # Playlist editor tick/no-tick
82 $INKSCAPE tick.png src/tick.svg -w 16 -h 16
83 $INKSCAPE no_tick.png src/no_tick.svg -w 16 -h 16
87 convert src/web.png -resize 256x256 -transparent white web/favicon-256x256.png
88 for r in 16 32 64 128; do
89 convert web/favicon-256x256.png -resize $rx$r web/favicon-${r}x${r}.png
91 convert web/favicon-16x16.png web/favicon-32x32.png web/favicon-64x64.png web/favicon-128x128.png web/favicon-256x256.png web/favicon.ico
92 convert src/web.png -resize 123x123 -transparent white web/logo.png