X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scripts%2Flilypond-book.py;h=1f925c13bde7094a954d579f3e64c35cc4bc0c08;hb=f69778d8e09a9b6e83ce7a38197e9aeb1b7503ff;hp=92618ec52e992339587d2acad49b57790f1cbb76;hpb=bec6d0f547819d4003c5ce987f8fe589818e4712;p=lilypond.git diff --git a/scripts/lilypond-book.py b/scripts/lilypond-book.py index 92618ec52e..1f925c13bd 100644 --- a/scripts/lilypond-book.py +++ b/scripts/lilypond-book.py @@ -58,9 +58,9 @@ _ ("Process LilyPond snippets in hybrid HTML, LaTeX, texinfo or DocBook document + '\n\n' + _ ("Examples:") + ''' - lilypond-book --filter="tr '[a-z]' '[A-Z]'" %(BOOK)s - lilypond-book --filter="convert-ly --no-version --from=2.0.0 -" %(BOOK)s - lilypond-book --process='lilypond -I include' %(BOOK)s + $ lilypond-book --filter="tr '[a-z]' '[A-Z]'" %(BOOK)s + $ lilypond-book -F "convert-ly --no-version --from=2.0.0 -" %(BOOK)s + $ lilypond-book --process='lilypond -I include' %(BOOK)s ''' % {'BOOK': _ ("BOOK")}) authors = ('Jan Nieuwenhuizen ', @@ -113,11 +113,12 @@ def get_option_parser (): p.add_option ('-F', '--filter', metavar=_ ("FILTER"), action="store", dest="filter_cmd", - help=_ ("pipe snippets through FILTER [convert-ly -n -]"), + help=_ ("pipe snippets through FILTER [default: `convert-ly -n -']"), default=None) p.add_option ('-f', '--format', help=_ ("use output format FORMAT (texi [default], texi-html, latex, html, docbook)"), + metavar=_ ("FORMAT"), action='store') p.add_option("-h", "--help", @@ -155,7 +156,7 @@ def get_option_parser (): default='') p.add_option ('--skip-lily-check', - help=_ ("do not fail if no lilypond output is found."), + help=_ ("do not fail if no lilypond output is found"), metavar=_ ("DIR"), action='store_true', dest='skip_lilypond_run', default=False) @@ -167,7 +168,7 @@ def get_option_parser (): default=False) p.add_option ('--lily-output-dir', - help=_ ("write lily-XXX files to DIR, link into --output dir."), + help=_ ("write lily-XXX files to DIR, link into --output dir"), metavar=_ ("DIR"), action='store', dest='lily_output_dir', default=None) @@ -196,7 +197,7 @@ def get_option_parser (): p.add_option ('-w', '--warranty', help=_ ("show warranty and copyright"), action='store_true') - p.add_option_group (ly.display_encode (_ ('Bugs')), + p.add_option_group ('', description=( _ ("Report bugs via") + ' http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n')) @@ -235,6 +236,7 @@ LILYQUOTE = 'lilyquote' NOFRAGMENT = 'nofragment' NOINDENT = 'noindent' NOQUOTE = 'noquote' +NORAGGED_RIGHT = 'noragged-right' NOTES = 'body' NOTIME = 'notime' OUTPUT = 'output' @@ -562,6 +564,8 @@ ly_options = { RAGGED_RIGHT: r'''ragged-right = ##t''', + NORAGGED_RIGHT: r'''ragged-right = ##f''', + PACKED: r'''packed = ##t''', }, @@ -569,12 +573,12 @@ ly_options = { LAYOUT: { NOTIME: r''' \context { - \Score - timing = ##f + \Score + timing = ##f } \context { - \Staff - \remove Time_signature_engraver + \Staff + \remove "Time_signature_engraver" }''', }, @@ -1205,6 +1209,11 @@ class LilypondSnippet (Snippet): if not skip_lily: require_file (base + '-systems.count') + if 'ddump-profile' in global_options.process_cmd: + require_file (base + '.profile') + if 'dseparate-log-file' in global_options.process_cmd: + require_file (base + '.log') + map (consider_file, [base + '.tex', base + '.eps', base + '.texidoc', @@ -1230,11 +1239,18 @@ class LilypondSnippet (Snippet): system_count = 0 if not skip_lily and not missing: system_count = int(file (full + '-systems.count').read()) + for number in range(1, system_count + 1): systemfile = '%s-%d' % (base, number) require_file (systemfile + '.eps') consider_file (systemfile + '.pdf') - + + # We can't require signatures, since books and toplevel + # markups do not output a signature. + if 'ddump-signature' in global_options.process_cmd: + consider_file (systemfile + '.signature') + + return (result, missing) def is_outdated (self, output_dir, current_files): @@ -1930,8 +1946,13 @@ def main (): + ' --formats=%s -dbackend=eps ' % formats) if global_options.process_cmd: - global_options.process_cmd += ' '.join ([(' -I %s' % ly.mkarg (p)) - for p in global_options.include_path]) + includes = global_options.include_path + if global_options.lily_output_dir: + # This must be first, so lilypond prefers to read .ly + # files in the other lybookdb dir. + includes = [os.path.abspath(global_options.lily_output_dir)] + includes + global_options.process_cmd += ' '.join ([' -I %s' % ly.mkarg (p) + for p in includes]) if global_options.format in (TEXINFO, LATEX): ## prevent PDF from being switched on by default.