#
# source file of the GNU LilyPond music typesetter
#
-# (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+# (c) 1998--2003 Han-Wen Nienhuys <hanwen@cs.uu.nl>
# Jan Nieuwenhuizen <janneke@gnu.org>
### subst:\(^\|[^._a-z]\)\(abspath\|identify\|warranty\|progress\|warning\|error\|exit\|getopt_args\|option_help_str\|options_help_str\|help\|setup_temp\|read_pipe\|system\|cleanup_temp\|strip_extension\|cp_to_dir\|mkdir_p\|init\) *(
sys.path.insert (0, os.path.join (datadir, 'python'))
+
+
# Customize these
if __name__ == '__main__':
import lilylib as ly
program_version = '@TOPLEVEL_VERSION@'
if program_version == '@' + 'TOPLEVEL_VERSION' + '@':
- program_version = '1.7.5'
+ program_version = '1.7.14'
def identify (port):
port.write ('%s (GNU LilyPond) %s\n' % (__main__.program_name, program_version))
def warranty ():
identify (sys.stdout)
sys.stdout.write ('\n')
- sys.stdout.write (_ ('Copyright (c) %s by' % ' 1998--2002'))
+ sys.stdout.write (_ ('Copyright (c) %s by' % ' 1998--2003'))
sys.stdout.write ('\n')
map (lambda x: sys.stdout.write (' %s\n' % x), __main__.copyright)
sys.stdout.write ('\n')
sys.stderr.write (s)
def warning (s):
- sys.stderr.write (__main__.program_name + ":" + _ ("warning: ") + s + '\n')
+ sys.stderr.write (__main__.program_name + ": " + _ ("warning: ") + s + '\n')
def error (s):
- sys.stderr.write (__main__.program_name + ":" + _ ("error: ") + s + '\n')
+ sys.stderr.write (__main__.program_name + ": " + _ ("error: ") + s + '\n')
def exit (i):
if __main__.verbose_p:
if not __main__.keep_temp_dir_p:
__main__.temp_dir = tempfile.mktemp (__main__.program_name)
try:
- os.mkdir (__main__.temp_dir, 0777)
+ os.mkdir (__main__.temp_dir, 0700)
except OSError:
pass
exit_status = status >> 8
if status:
- msg = _ ("`%s\' failed (%d)") % (name, exit_status)
+
+ exit_type = 'status %d' % exit_status
+ if signal:
+ exit_type = 'signal %d' % signal
+
+ msg = _ ("`%s\' failed (%s)") % (name, exit_type)
if ignore_error:
if __main__.verbose_p:
warning (msg + ' ' + _ ("(ignored)"))
sys.stderr.write ("%s=\"%s\"\n" % (k, v))
def get_bbox (filename):
- ####system ('gs -sDEVICE=bbox -q -sOutputFile=- -dNOPAUSE %s -c quit > %s.bbox 2>&1 ' % (filename, filename))
- #### FIXME: 2>&1 ? --jcn
bbox = filename + '.bbox'
## -sOutputFile does not work with bbox?
- ##cmd = 'gs -sDEVICE=bbox -q -sOutputFile=%s -dNOPAUSE %s -c quit' % \
- ## (bbox, filename)
cmd = 'gs -sDEVICE=bbox -q -dNOPAUSE %s -c quit 2>%s' % \
(filename, bbox)
- system (cmd)
+ system (cmd, progress_p = 1)
box = open (bbox).read ()
m = re.match ('^%%BoundingBox: ([0-9]+) ([0-9]+) ([0-9]+) ([0-9]+)',
box)
if not os.path.isfile (preview_ps):
preview_ps = name + '.eps'
bbox = get_bbox (preview_ps)
- print 'bbox:' + `bbox`
trans_ps = name + '.trans.ps'
png = name + '.png'
cmd = r'''gs -g%dx%d -sDEVICE=pnggray -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -q -sOutputFile=%s -r%d -dNOPAUSE %s %s -c quit ''' % \
(x, y, png, __main__.preview_resolution, trans_ps, preview_ps)
- system (cmd)
-
status = system (cmd)
signal = 0xf & status
exit_status = status >> 8
os.unlink (png)
error (_ ("Removing output file"))
exit (1)
+
+def make_page_images (name, resolution = 90):
+
+ """ Generate images for
+ all pages in the PS file NAME. NAME should be the basename
+ (not including the extension.).
+ """
+
+ cmd = 'gs -sDEVICE=pnggray -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sOutputFile="%s-page%%d.png" -r%d -dNOPAUSE %s -c quit'
+ cmd = cmd % (name, resolution, name + '.ps')
+ system (cmd)