import sys
import re
-# Users of python modules should include this snippet
-# and customize variables below.
-
-# We'll suffer this path initialization stuff as long as we don't install
-# our python packages in <prefix>/lib/pythonX.Y
-
-# If set, LILYPONDPREFIX must take prevalence.
-# if datadir is not set, we're doing a build and LILYPONDPREFIX.
-
################
# RELOCATION
################
-datadir = '@local_lilypond_datadir@'
-if not os.path.isdir (datadir):
- datadir = '@lilypond_datadir@'
-
-sys.path.insert (0, os.path.join (datadir, 'python'))
-if os.environ.has_key ('LILYPONDPREFIX'):
- datadir = os.environ['LILYPONDPREFIX']
- while datadir[-1] == os.sep:
- datadir = datadir[:-1]
-
- if not os.path.exists (os.path.join (datadir, 'python/lilylib.py')):
- datadir = os.path.join (datadir, 'share/lilypond/current/')
-sys.path.insert (0, os.path.join (datadir, 'python'))
+for d in ['@lilypond_datadir@',
+ '@lilypond_libdir@']:
+ sys.path.insert (0, os.path.join (d, 'python'))
# dynamic relocation, for GUB binaries.
-bindir = os.path.split (sys.argv[0])[0]
-
-
-for prefix_component in ['share', 'lib']:
- datadir = os.path.abspath (bindir + '/../%s/lilypond/current/python/' % prefix_component)
+bindir = os.path.abspath (os.path.split (sys.argv[0])[0])
+for p in ['share', 'lib']:
+ datadir = os.path.abspath (bindir + '/../%s/lilypond/current/python/' % p)
sys.path.insert (0, datadir)
help = _ ("process ly_files using COMMAND FILE..."),
action='store',
dest='process_cmd', default='lilypond -b eps')
+
+ p.add_option ('--pdf',
+ action="store_true",
+ dest="create_pdf",
+ help="Create PDF files for use with PDFTeX",
+ default=False)
p.add_option ('', '--psfonts', action="store_true", dest="psfonts",
help=_ ('''extract all PostScript fonts into INPUT.psfonts for LaTeX'''
PREAMBLE_LY = '''%%%% Generated by %(program_name)s
%%%% Options: [%(option_string)s]
-
-#(set! toplevel-score-handler print-score-with-defaults)
-#(set! toplevel-music-handler
- (lambda (p m)
- (if (not (eq? (ly:music-property m \'void) #t))
- (print-score-with-defaults
- p (scorify-music m p)))))
-
-#(ly:set-option (quote no-point-and-click))
-#(define inside-lilypond-book #t)
-#(define version-seen? #t)
+\\include "lilypond-book-preamble.ly"
%(preamble_string)s
%% ****************************************************************
\paper {
- #(define dump-extents #t)
- %(font_dump_setting)s
- %(paper_string)s
+ #(define dump-extents #t)
+ %(font_dump_setting)s
+ %(paper_string)s
}
\layout {
- %(layout_string)s
+ %(layout_string)s
}
'''
if VERBATIM in self.option_dict:
verb = self.substring ('code')
str += (output[LATEX][VERBATIM] % vars ())
-
+
str += (output[LATEX][OUTPUT] % vars ())
## todo: maintain breaks
snippets = []
index = 0
- found = dict ((t, None) for t in types)
+ found = dict ([(t, None) for t in types])
line_starts = find_linestarts (s)
line_start_idx = 0
def my_system (cmd):
status = ly.system (cmd,
be_verbose=global_options.verbose,
- progress_p= 1)
+ progress_p=1)
if global_options.format in (HTML, TEXINFO):
- cmd += ' --format png '
+ cmd += ' --formats=png '
# UGH
# the --process=CMD switch is a bad idea
def write_file_map (lys, name):
snippet_map = open ('snippet-map.ly', 'w')
snippet_map.write ("""
-#(define version-seen? #t)
+#(define version-seen #t)
#(ly:add-file-name-alist '(
""")
for ly in lys:
formats = 'ps'
if global_options.format in (TEXINFO, HTML):
formats += ',png'
+
+
if global_options.process_cmd == '':
- global_options.process_cmd = lilypond_binary \
- + ' --formats=%s --backend eps ' % formats
+ global_options.process_cmd = (lilypond_binary
+ + ' --formats=%s --backend eps ' % formats)
if global_options.process_cmd:
global_options.process_cmd += string.join ([(' -I %s' % commands.mkarg (p))
for p in global_options.include_path])
+ if (global_options.format in (TEXINFO, LATEX)
+ and global_options.create_pdf):
+ global_options.process_cmd += "--pdf -deps-font-include -dgs-font-load "
+
+ if global_options.verbose:
+ global_options.process_cmd += " --verbose "
identify ()
try:
exit (1)
if global_options.format in (TEXINFO, LATEX):
- if not global_options.psfonts:
- warning (_ ("option --psfonts not used"))
- warning (_ ("processing with dvips will have no fonts"))
-
psfonts_file = os.path.join (global_options.output_name, basename + '.psfonts')
output = os.path.join (global_options.output_name, basename + '.dvi' )
- progress ('\n')
- progress (_ ("DVIPS usage:"))
- progress ('\n')
- progress (" dvips -h %(psfonts_file)s %(output)s" % vars ())
- progress ('\n')
+ if not global_options.psfonts and not global_options.create_pdf:
+ warning (_ ("option --psfonts not used"))
+ warning (_ ("processing with dvips will have no fonts"))
+ else:
+ progress ('\n')
+ progress (_ ("DVIPS usage:"))
+ progress ('\n')
+ progress (" dvips -h %(psfonts_file)s %(output)s" % vars ())
+ progress ('\n')
inputs = note_input_file ('')
inputs.pop ()