]> git.donarmstrong.com Git - lilypond.git/blob - scripts/lilypond-ps2png.py
194af0b31d5fb4c016de7960c528df3e5ca6c2fb
[lilypond.git] / scripts / lilypond-ps2png.py
1 #!@PYTHON@
2
3 import getopt
4 import glob
5 import os
6 import string
7 import sys
8
9 datadir = '@local_lilypond_datadir@'
10 if not os.path.isdir (datadir):
11         datadir = '@lilypond_datadir@'
12 if os.environ.has_key ('LILYPONDPREFIX') :
13         datadir = os.environ['LILYPONDPREFIX']
14         while datadir[-1] == os.sep:
15                 datadir= datadir[:-1]
16
17 sys.path.insert (0, os.path.join (datadir, 'python'))
18
19 # Customize these
20 #if __name__ == '__main__':
21
22 import lilylib as ly
23 global _;_=ly._
24 global re;re = ly.re
25
26 preview_resolution = 90
27 # Use /etc/papersize?
28 preview_papersize = "a4"
29
30 # lilylib globals
31 program_name = os.path.basename (sys.argv[0])
32 verbose_p = 0
33 program_version = '@TOPLEVEL_VERSION@'
34 pseudo_filter_p = 0 # ugr.
35
36 help_summary = _ ("Convert PostScript to PNG image.")
37 copyright = ('Han-Wen Nienhuys <hanwen@cs.uu.nl',
38              'Jan Nieuwenhuizen <janneke@gnu.org')
39
40 option_definitions = [
41         ('', 'h', 'help', _ ("print this help")),
42         ('', 'V', 'verbose', _ ("be verbose")),
43         (_ ('PAPER'), 'P', 'papersize', _ ("use papersize PAPER")),
44         (_ ('RES'), 'R', 'resolution', _ ("set the resolution of the preview to RES")),
45         ]
46
47 (sh, long) = ly.getopt_args (option_definitions)
48 try:
49         (options, files) = getopt.getopt (sys.argv[1:], sh, long)
50 except getopt.error, s:
51         sys.stderr.write ('\n')
52         ly.error (_ ("getopt says: `%s\'" % s))
53         sys.stderr.write ('\n')
54         ly.help ()
55         ly.exit (2)
56         
57 for opt in options:
58         o = opt[0]
59         a = opt[1]
60
61         if o == '--help' or o == '-h':
62                 ly.identify (sys.stdout)
63                 ly.help ()
64                 sys.exit (0)
65         elif o == '--papersize' or o == '-P':
66                 preview_papersize = a
67         elif o == '--resolution' or o == '-R':
68                 preview_resolution = string.atoi (a)
69         elif o == '--verbose' or o == '-V':
70                 verbose_p = 1
71
72 ly.identify (sys.stderr)
73 for f in files:
74         outfiles = ly.make_ps_images (f, resolution = preview_resolution,
75                                       papersize = preview_papersize)
76         sys.stderr.write (_ ("Wrote `%s'" % string.join (outfiles, ', ')))
77         sys.stderr.write ('\n')