-1.3.87.hwn1
+1.3.89
+======
+
+* Some fixes to Coriolan.
+
+* Fixed some stupid core dumps processing Coriolan.
+
+* Fixed several problems with part-combiner's part-switching.
+
+* Fixes for ASCII output.
+
+* Added feature to part combiner that should allow part-switching only
+ for entire measures. Currently, it is controlled by a new
+ property changeMoments (A . B):
+ - only switch when !(A mod now),
+ - decide whether to switch based on music during time period B.
+
+* Made bugfix: Sequential_iterator::get_music (M): mustn't return music
+ later than M.
+
+* Added skip (M) to some iterators.
+
+* maintain minimum-length by shifting for hyphens at start of
+line. (patch courtesy Christophe Rhodes)
+
+* mudela-book fixes (courtesy Tom Cato Amundsen): documentation
+update, LaTeX example, landscape support.
+
+1.3.88.hwn2
===========
+* Added elt properties for Tie:
+ - details
+ - x-gap
+ - staffline-clearance
+
+* Added elt properties for Slur
+ - y-free
+ - details
+
+* Removed C++ support for barNumberScriptPadding, now in
+generic-property.scm (but they're deprecated anyway)
+
+* Changed threshold in Align_interface to be in staffspace
+
+* changed minVerticalAlign and maxVerticalAlign to be in staffspace.
+A better way: do \push #'threshold = #(cons A B ). (WARNING:
+INCOMPATIBLE CHANGE)
+
+* moved translator definitions out of \paper { }, only instantiate in
+\paper.
+
+1.3.88
+======
+
* Sequential_iterator::get_music (), part combiner now works.
* Changed paper variables into elt properties:
- beam-flag-width-function to Beam.
Grace_align_item:
- - horizontal-space: spacing of is configurable
+ - horizontal-space: spacing of grace notes is configurable
Volta_spanner:
- height
* added input/test/bagpipe.ly
+
+
1.3.87
======
#!@PYTHON@
# vim: set noexpandtab:
-# TODO: Figure out clean set of options.
-# add support for .lilyrc
+# TODO:
+# * Figure out clean set of options.
+# * add support for .lilyrc
+# * %\def\preMudelaExample should be ignored by mudela-book because
+# it is commented out
+# * if you run mudela-book once with --no-pictures, and then again
+# without the option, then the pngs will not be created. You have
+# to delete the generated .ly files and rerun mudela-book.
import os
import stat
program_version = '@TOPLEVEL_VERSION@'
if program_version == '@' + 'TOPLEVEL_VERSION' + '@':
- program_version = '1.3.69-very-unstable'
+ program_version = '1.3.85'
include_path = [os.getcwd()]
# indices are no. of columns, papersize, fontsize
# Why can't this be calculated?
latex_linewidths = {
- 1: {'a4':{10: 345, 11: 360, 12: 390},
- 'a5':{10: 276, 11: 276, 12: 276},
- 'b5':{10: 345, 11: 356, 12: 356},
- 'letter':{10: 345, 11: 360, 12: 390},
- 'legal': {10: 345, 11: 360, 12: 390},
- 'executive':{10: 345, 11: 360, 12: 379}},
- 2: {'a4':{10: 167, 11: 175, 12: 190},
- 'a5':{10: 133, 11: 133, 12: 133},
- 'b5':{10: 167, 11: 173, 12: 173},
- 'letter':{10: 167, 11: 175, 12: 190},
- 'legal':{10: 167, 11: 175, 12: 190},
- 'executive':{10: 167, 11: 175, 12: 184}}}
+ 1: { 'a4':{10: 345, 11: 360, 12: 390},
+ 'a4-landscape': {10: 598, 11: 596, 12:592},
+ 'a5':{10: 276, 11: 276, 12: 276},
+ 'b5':{10: 345, 11: 356, 12: 356},
+ 'letter':{10: 345, 11: 360, 12: 390},
+ 'letter-landscape':{10: 598, 11: 596, 12:596},
+ 'legal': {10: 345, 11: 360, 12: 390},
+ 'executive':{10: 345, 11: 360, 12: 379}},
+ 2: { 'a4':{10: 167, 11: 175, 12: 190},
+ 'a4-landscape': {10: 291, 11: 291, 12: 291},
+ 'a5':{10: 133, 11: 133, 12: 133},
+ 'b5':{10: 167, 11: 173, 12: 173},
+ 'letter':{10: 167, 11: 175, 12: 190},
+ 'letter-landscape':{10: 270, 11: 267, 12: 269},
+ 'legal':{10: 167, 11: 175, 12: 190},
+ 'executive':{10: 167, 11: 175, 12: 184}}}
texi_linewidths = {
'a4': {12: 455},
'option-sep' : ', *',
'header': r"""\\documentclass(\[.*?\])?""",
+ # ^(?m)[^%]* is here so we can comment it out
+ 'landscape': r"^(?m)[^%]*\\usepackage{landscape}",
'preamble-end': '\\\\begin{document}',
'verbatim': r"""(?s)(?P<code>\\begin{verbatim}.*?\\end{verbatim})""",
'verb': r"""(?P<code>\\verb(?P<del>.).*?(?P=del))""",
'mudela-file': r'\\mudelafile(\[(?P<options>.*?)\])?\{(?P<filename>.+)}',
- 'mudela' : '(?m)\\\\mudela(\[(?P<options>.*?)\])?{(?P<code>.*?)}',
+ 'mudela' : '(?m)^[^%]*?\\\\mudela(\[(?P<options>.*?)\])?{(?P<code>.*?)}',
#'mudela-block': r"""(?m)^[^%]*?\\begin(\[(?P<options>.*?)\])?{mudela}(?P<code>.*?)\\end{mudela}""",
'mudela-block': r"""(?s)\\begin(\[(?P<options>.*?)\])?{mudela}(?P<code>.*?)\\end{mudela}""",
'def-post-re': r"""\\def\\postMudelaExample""",
'def-pre-re': r"""\\def\\preMudelaExample""",
'intertext': r',?\s*intertext=\".*?\"',
- 'ignore': r"(?m)(?P<code>%.*?^)",
+ #'ignore': r"(?m)(?P<code>%.*?^)",
+ 'ignore': r"(?m)(?P<code>^%.*)$",
'numcols': r"(?P<code>\\(?P<num>one|two)column)",
},
'texi': {
'include': '@mbinclude[ \n\t]+(?P<filename>[^\t \n]*)',
'input': no_match,
+ 'landscape': no_match,
'header': no_match,
'preamble-end': no_match,
'verbatim': r"""(?s)(?P<code>@example\s.*?@end example\s)""",
else:
paper = 'letter' # yes, latex use letter as default, at least
# my tetex distro
+ if 'landscape' in opts:
+ paper = paper + '-' + 'landscape'
music_size = default_music_fontsize
latex_size = default_text_fontsize
for o in opts:
m = re.search ('^(.*)paper$', o)
if m:
paper = m.group (1)
+ if 'landscape' in opts:
+ paper = paper + '-' + 'landscape'
if g_force_mudela_fontsize:
music_size = g_force_mudela_fontsize
options = ['a4widepaper']
elif string.find(str[:x], "@smallbook") != -1:
options = ['smallbookpaper']
+ m = get_re ('landscape').search(str)
+ if m:
+ options.append('landscape')
m = get_re ('header').search( str)
# should extract paper & fontsz.
if m and m.group (1):
TODO has format [basename, extension, extension, ... ]
"""
+ #print "-schedule_mudela_block", extra_opts
if len(chunk) == 3:
(type, body, opts) = chunk
complete_body = None
if e == 'eps':
eps.append (base)
elif e == 'tex':
- tex.append (base + '.ly')
+ #ugh
+ if base + '.ly' not in tex:
+ tex.append (base + '.ly')
elif e == 'png' and g_do_pictures:
png.append (base)
d = os.getcwd()
chunks = chop_chunks(chunks, 'mudela', make_mudela)
chunks = chop_chunks(chunks, 'mudela-file', make_mudela_file)
chunks = chop_chunks(chunks, 'mudela-block', make_mudela_block)
- #for c in chunks: print c, "\n"
chunks = chop_chunks(chunks, 'ignore', do_ignore)
+ #for c in chunks: print "c:", c
chunks = chop_chunks(chunks, 'numcols', do_columns)
global_options = scan_preamble(chunks[0][1])
chunks = process_mudela_blocks(my_outname, chunks, global_options)