#
# source file of the GNU LilyPond music typesetter
#
-# (c) 1998--2003 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+# (c) 1998--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
# Jan Nieuwenhuizen <janneke@gnu.org>
return str
- conversions.append (((1,9,2), conv, """\newcontext -> \new"""))
+ conversions.append (((1,9,2), conv, """\\newcontext -> \\new"""))
if 1:
def conv (str):
return str
conversions.append (((1,9,3), conv,
- """\acciaccatura misspelling, fingerHorizontalDirection -> fingeringOrientations"""))
+ """\\acciaccatura misspelling, fingerHorizontalDirection -> fingeringOrientations"""))
def conv (str):
return str
conversions.append (((2,1,11), conv, """\\include "paper16.ly" -> #(set-staff-size 16)
-\note #3 #1 #1 -> \note #"8." #1
+\\note #3 #1 #1 -> \\note #"8." #1
"""))
def conv (str):
- str = re.sub (r'\\include "drumpitch-init.ly','', str)
+ str = re.sub (r'\\include "drumpitch-init.ly"','', str)
str = re.sub (r'\\pitchnames ','pitchnames = ', str)
str = re.sub (r'\\chordmodifiers ','chordmodifiers = ', str)
+ str = re.sub (r'\bdrums\b\s*=','drumContents = ', str)
+ str = re.sub (r'\\drums\b','\\drumContents ', str)
+
if re.search ('drums->paper', str):
sys.stderr.write ("\nDrum notation found. Check file manually!")
return str
-conversions.append (((2,1,19), conv, """Drum notation changes, Removing \chordmodifiers, \notenames.
+conversions.append (((2,1,19), conv, """Drum notation changes, Removing \\chordmodifiers, \\notenames.
Harmonic notes. Thread context removed. Lyrics context removed."""))
+def conv (str):
+ str = re.sub (r'nonevent-skip', 'skip-music', str)
+ return str
+
+conversions.append (((2,1,20), conv, """nonevent-skip -> skip-music""" ))
+
+def conv (str):
+ str = re.sub (r'molecule-callback', 'print-function', str)
+ str = re.sub (r'brew_molecule', 'print', str)
+ str = re.sub (r'brew-new-markup-molecule', 'Text_item::print', str)
+ str = re.sub (r'LyricsVoice', 'Lyrics', str)
+ str = re.sub (r'tupletInvisible',
+ r"TupletBracket \\set #'transparent", str)
+# str = re.sub (r'molecule', 'collage', str)
+#molecule -> collage
+ str = re.sub (r"\\property\s+[a-zA-Z]+\s*\.\s*[a-zA-Z]+\s*"
+ + r"\\set\s*#'X-extent-callback\s*=\s*#Grob::preset_extent",
+ "", str)
+
+ return str
+
+conversions.append (((2,1,21), conv, """molecule-callback -> print-function,
+brew_molecule -> print
+brew-new-markup-molecule -> Text_item::print
+LyricsVoice -> Lyrics
+tupletInvisible -> TupletBracket \set #'transparent
+Grob::preset_extent removed.
+""" ))
+
+
+def conv (str):
+ str = re.sub (r'\\property\s+([^. ]+)\s*\.\s*([^\\=]+)\s*\\(set|override)',
+ r"\\overrid@ \1.\2 ", str)
+ str = re.sub (r'\\property\s+([^. ]+)\s*\.\s*([^\\= ]+)\s*=\s*',
+ r'\\s@t \1.\2 = ', str)
+ str = re.sub (r'\\property\s+([^. ]+)\s*\.\s*([^\\= ]+)\s*\\unset',
+ r'\\uns@t \1.\2 ', str)
+ str = re.sub (r'\\property\s+([^. ]+)\s*\.\s*([^\\= ]+)\s*\\revert'
+ + r"\s*#'([-a-z0-9_]+)",
+ r"\\rev@rt \1.\2 #'\3", str)
+ str = re.sub (r'Voice\.', '', str)
+ str = re.sub (r'Lyrics\.', '', str)
+ str = re.sub (r'ChordNames\.', '', str)
+
+ str = re.sub ('rev@rt', 'revert',str)
+ str = re.sub ('s@t', 'set',str)
+ str = re.sub ('overrid@', 'override',str)
+
+ str = re.sub ('molecule', 'stencil', str)
+ str = re.sub ('Molecule', 'Stencil', str)
+ return str
+
+conversions.append (((2,1,22), conv, """new syntax for property settings:
+ \\set A.B = #C , \\unset A.B
+ \\override A.B #C = #D, \\revert A.B #C
+
+"""))
+
+def conv (str):
+ def subst_in_trans (match):
+ s = match.group (0)
+ s = re.sub (r'\s([a-zA-Z]+)\s*\\override',
+ r' \\override \1', s)
+ s = re.sub (r'\s([a-zA-Z]+)\s*\\set',
+ r' \\override \1', s)
+ s = re.sub (r'\s([a-zA-Z]+)\s*\\revert',
+ r' \\revert \1', s)
+ return s
+ str = re.sub (r'\\(translator|with)\s*{[^}]+}', subst_in_trans, str)
+ str = re.sub (r"""\\override\s*([a-zA-Z]+\s*\.\s*)?autoBeamSettings"""
+ +r"""\s*#([^=]+)\s*=\s*#\(ly:make-moment\s+(\d+)\s+(\d)\s*\)""",
+ r"""#(override-auto-beam-setting \2 \3 \4)""",
+ str)
+
+ return str
+
+conversions.append (((2,1,23), conv, """Property setting syntax in \\translator{ }"""))
+def conv (str):
+ str = re.sub (r'music-list\?', 'ly:music-list?', str)
+ str = re.sub (r'\|\s*~', '~ |', str)
+ return str
+
+conversions.append (((2,1,24), conv, """music-list? -> ly:music-list?"""))
+
+def conv (str):
+ str = re.sub (r'ly:get-spanner-bound', 'ly:spanner-get-bound', str)
+ str = re.sub (r'ly:get-extent', 'ly:grob-extent', str)
+ str = re.sub (r'ly:get-system', 'ly:grob-system', str)
+ str = re.sub (r'ly:get-original', 'ly:grob-original', str)
+ str = re.sub (r'ly:get-parent', 'ly:grob-parent', str)
+ str = re.sub (r'ly:get-broken-into', 'ly:spanner-broken-into', str)
+ str = re.sub (r'Melisma_engraver', 'Melisma_translator', str)
+ if re.search ("ly:get-paper-variable", str):
+ sys.stderr.write ('use (ly:paper-lookup (ly:grob-paper ))')
+ raise FatalConversionError()
+
+ str = re.sub (r'\\defaultAccidentals', "#(set-accidental-style 'default)", str)
+ str = re.sub (r'\\voiceAccidentals', "#(set-accidental-style 'voice)", str)
+ str = re.sub (r'\\modernAccidentals', "#(set-accidental-style 'modern)", str)
+ str = re.sub (r'\\modernCautionaries', "#(set-accidental-style 'modern-cautionary)", str)
+ str = re.sub (r'\\modernVoiceAccidental', "#(set-accidental-style 'modern-voice)", str)
+ str = re.sub (r'\\modernVoiceCautionaries', "#(set-accidental-style 'modern-voice-cautionary)", str)
+ str = re.sub (r'\\pianoAccidentals', "#(set-accidental-style 'piano)", str)
+ str = re.sub (r'\\pianoCautionaries', "#(set-accidental-style 'piano-cautionary)", str)
+ str = re.sub (r'\\forgetAccidentals', "#(set-accidental-style 'forget)", str)
+ str = re.sub (r'\\noResetKey', "#(set-accidental-style 'no-reset)", str)
+
+ return str
+
+conversions.append (((2,1,25), conv, """Scheme grob function renaming"""))
+
+
+def conv (str):
+ str = re.sub ('ly:set-grob-property!', 'ly:grob-set-property!',str)
+ str = re.sub ('ly:set-mus-property!', 'ly:music-set-property!',str)
+ str = re.sub ('ly:set-context-property!', 'ly:context-set-property!', str)
+ str = re.sub ('ly:get-grob-property', 'ly:grob-property',str)
+ str = re.sub ('ly:get-mus-property', 'ly:music-property',str)
+ str = re.sub ('ly:get-context-property', 'ly:context-property',str)
+
+ return str
+
+conversions.append (((2,1,26), conv, """More Scheme function renaming"""))
+
+def conv (str):
+ def subst (m):
+ g = string.atoi (m.group (2))
+ o = g / 12
+ g -= o * 12
+ if g < 0:
+ g += 12
+ o -= 1
+
+
+ lower_pitches = filter (lambda x : x <= g, [0, 2, 4, 5, 7, 9, 11, 12])
+ s = len (lower_pitches) -1
+ a = g - lower_pitches [-1]
+
+
+ print s , lower_pitches, g, a, s
+ str = 'cdefgab' [s]
+ str += ['eses', 'es', '', 'is', 'isis'][a + 2]
+ if o < 0:
+ str += ',' * (-o - 1)
+ elif o >= 0:
+ str += "'" * (o + 1)
+
+ return '\\tuning %s ' % str
+
+
+ str = re.sub (r"\\set ([A-Za-z]+\s*\.\s*)?transposing\s*=\s*#([-0-9]+)",
+ subst, str)
+ return str
+
+conversions.append (((2,1,27), conv, """property transposing -> tuning"""))
+
+def conv (str):
+ str = re.sub (r'make-music-by-name', 'make-music', str)
+ str = re.sub (r"\\override\s+.*Arpeggio\s+#.print-function\s+=\s+\\arpeggioBracket", r"\\arpeggioBracket", str)
+ return str
+
+conversions.append (((2,1,28), conv,
+ """make-music-by-name -> make-music,
+new syntax for setting \\arpeggioBracket"""))
+
+def conv (str):
+ str = re.sub (r'\\center([^-])', '\\center-align\\1', str)
+ str = re.sub (r'\\translator', '\\context', str)
+ return str
+
+conversions.append (((2,1,29), conv,
+ '\\center -> \\center-align, \\translator -> \\context'))
+
+
+def conv (str):
+ str = re.sub (r'\\threeq(flat|sharp)', r'\\sesqui\1', str)
+ str = re.sub (r'ly:stencil-get-extent',
+ 'ly:stencil-extent', str)
+ str = re.sub (r'ly:translator-find',
+ 'ly:context-find', str)
+ str = re.sub ('ly:unset-context-property','ly:context-unset-property',
+ str)
+
+ str = re.sub (r'ly:get-mutable-properties',
+ 'ly:mutable-music-properties',str)
+ str = re.sub (r'centralCPosition',
+ 'middleCPosition',str)
+ return str
+
+conversions.append (((2,1,30), conv,
+ '''\\threeq{flat,sharp} -> \\sesqui{flat,sharp}
+ly:get-mutable-properties -> ly:mutable-music-properties
+centralCPosition -> middleCPosition
+ly:unset-context-property -> ly:context-unset-property
+ly:translator-find -> ly:context-find
+ly:get-stencil-extent -> ly:stencil-extent
+'''))
+
+
+def conv (str):
+ str = re.sub (r'\\alias\s*"?Timing"?', '', str)
+ return str
+
+conversions.append (((2,1,31), conv,
+ '''remove \\alias Timing'''))
+
+def conv (str):
+ str = re.sub (r"(\\set\s+)?(?P<context>(Score\.)?)breakAlignOrder\s*=\s*#'(?P<list>[^\)]+)",
+ r"\n\\override \g<context>BreakAlignment #'break-align-orders = "
+ + "#(make-vector 3 '\g<list>)", str)
+
+ return str
+
+conversions.append (((2,1,33), conv,
+ '''breakAlignOrder -> break-align-orders.'''))
+
+def conv (str):
+ str = re.sub (r"\(set-paper-size",
+ "(set-default-paper-size",str)
+ return str
+
+conversions.append (((2,1,34), conv,
+ '''set-paper-size -> set-default-paper-size.'''))
+
################################
# END OF CONVERSIONS
################################