+
+
+
+def conv (str):
+ str = re.sub(r'\"tabloid\"', '"11x17"', str)
+ return str
+
+conversions.append (((2, 7, 11), conv,
+ '''\"tabloid\" -> \"11x17\"'''))
+
+def conv (str):
+ str = re.sub(r'outputProperty' , 'overrideProperty', str)
+ return str
+
+conversions.append (((2, 7, 12), conv,
+ '''outputProperty -> overrideProperty'''))
+
+
+def conv (str):
+ def subber (match):
+ newkey = {'spacing-procedure': 'springs-and-rods',
+ 'after-line-breaking-callback' : 'after-line-breaking',
+ 'before-line-breaking-callback' : 'before-line-breaking',
+ 'print-function' : 'stencil'} [match.group(3)]
+ what = match.group (1)
+ grob = match.group (2)
+
+ if what == 'revert':
+ return "revert %s #'callbacks %% %s\n" % (grob, newkey)
+ elif what == 'override':
+ return "override %s #'callbacks #'%s" % (grob, newkey)
+ else:
+ raise 'urg'
+ return ''
+
+ str = re.sub(r"(override|revert)\s*([a-zA-Z.]+)\s*#'(spacing-procedure|after-line-breaking-callback"
+ + r"|before-line-breaking-callback|print-function)",
+ subber, str)
+
+ if re.search ('bar-size-procedure', str):
+ error_file.write (NOT_SMART % "bar-size-procedure")
+ if re.search ('space-function', str):
+ error_file.write (NOT_SMART % "space-function")
+ if re.search ('verticalAlignmentChildCallback', str):
+ error_file.write ('verticalAlignmentChildCallback has been deprecated')
+ return str
+
+conversions.append (((2, 7, 13), conv,
+ '''layout engine refactoring. [FIXME] '''))
+
+
+
+def conv (str):
+ str = re.sub (r"\\override +([A-Z.a-z]+) #'callbacks",
+ r"\\override \1", str)
+ str = re.sub (r"\\revert ([A-Z.a-z]+) #'callbacks % ([a-zA-Z]+)",
+ r"\\revert \1 #'\2", str)
+ str = re.sub (r"([XY]-extent)-callback", r'\1', str)
+ str = re.sub (r"RemoveEmptyVerticalGroup", "VerticalAxisGroup", str)
+ str = re.sub (r"\\set ([a-zA-Z]*\.?)minimumVerticalExtent",
+ r"\\override \1VerticalAxisGroup #'minimum-Y-extent",
+ str)
+ str = re.sub (r"minimumVerticalExtent",
+ r"\\override VerticalAxisGroup #'minimum-Y-extent",
+ str)
+
+ return str
+
+conversions.append (((2, 7, 14), conv,
+ '''Remove callbacks property, deprecate XY-extent-callback. '''))
+
+
+def conv (str):
+ if re.search ('[XY]-offset-callbacks', str):
+ error_file.write (NOT_SMART % "[XY]-offset-callbacks")
+ if re.search ('position-callbacks', str):
+ error_file.write (NOT_SMART % "position-callbacks")
+ return str
+
+conversions.append (((2, 7, 15), conv,
+ '''Use grob closures iso. XY-offset-callbacks.'''))
+
+
+def conv (str):
+ def sub_syms (m):
+ syms = m.group (1).split ()
+ tags = ["\\tag #'%s" % s for s in syms]
+ return ' '.join (tags)
+
+ str = re.sub (r"\\tag #'\(([^)]+)\)", sub_syms, str)
+ return str
+
+conversions.append (((2, 7, 22), conv,
+ """\tag #'(a b) -> \tag #'a \tag #'b""" ))
+
+def conv (str):
+ str = re.sub (r"#'number-visibility",
+ "#'number-visibility % number-visibility is deprecated. Tune the TupletNumber instead\n",
+ str)
+ return str
+
+conversions.append (((2, 7, 24), conv,
+ """deprecate number-visibility"""))
+
+def conv (str):
+ str = re.sub (r"ly:spanner-get-bound", "ly:spanner-bound", str)
+ return str
+
+conversions.append (((2, 7, 28), conv,
+ """ly:spanner-get-bound -> ly:spanner-bound"""))
+
+def conv (str):
+ for a in ['beamed-lengths', 'beamed-minimum-free-lengths',
+ 'lengths',
+ 'beamed-extreme-minimum-free-lengths']:
+ str = re.sub (r"\\override\s+Stem\s+#'%s" % a,
+ r"\\override Stem #'details #'%s" % a,
+ str)
+ return str
+
+conversions.append (((2, 7, 29), conv,
+ """override Stem #'beamed-* -> #'details #'beamed-*"""))
+
+def conv (str):
+ str = re.sub (r'\\epsfile *#"', r'\\epsfile #X #10 #"', str)
+ return str
+
+conversions.append (((2, 7, 30), conv,
+ """\\epsfile"""))
+
+
+def conv (str):
+ def sub_cxx_id (m):
+ str = m.group(1)
+ return 'ly:' + str.lower ().replace ('_','-')
+
+ str = re.sub (r'([A-Z][a-z_0-9]+::[a-z_0-9]+)',
+ sub_cxx_id, str)
+ return str
+
+conversions.append (((2, 7, 31), conv,
+ """Foo_bar::bla_bla -> ly:foo-bar::bla-bla"""))
+
+
+def conv (str):
+ identifier_subs = [
+ ('inputencoding', 'input-encoding'),
+ ('printpagenumber', 'print-page-number'),
+ ('outputscale', 'output-scale'),
+ ('betweensystemspace', 'between-system-space'),
+ ('betweensystempadding', 'between-system-padding'),
+ ('pagetopspace', 'page-top-space'),
+ ('raggedlastbottom', 'ragged-last-bottom'),
+ ('raggedright', 'ragged-right'),
+ ('raggedlast', 'ragged-last'),
+ ('raggedbottom', 'ragged-bottom'),
+ ('aftertitlespace', 'after-title-space'),
+ ('beforetitlespace', 'before-title-space'),
+ ('betweentitlespace', 'between-title-space'),
+ ('topmargin', 'top-margin'),
+ ('bottommargin', 'bottom-margin'),
+ ('headsep', 'head-separation'),
+ ('footsep', 'foot-separation'),
+ ('rightmargin', 'right-margin'),
+ ('leftmargin', 'left-margin'),
+ ('printfirstpagenumber', 'print-first-page-number'),
+ ('firstpagenumber', 'first-page-number'),
+ ('hsize', 'paper-width'),
+ ('vsize', 'paper-height'),
+ ('horizontalshift', 'horizontal-shift'),
+ ('staffspace', 'staff-space'),
+ ('linethickness', 'line-thickness'),
+ ('ledgerlinethickness', 'ledger-line-thickness'),
+ ('blotdiameter', 'blot-diameter'),
+ ('staffheight', 'staff-height'),
+ ('linewidth', 'line-width'),
+ ('annotatespacing', 'annotate-spacing')
+ ]
+
+ for (a,b) in identifier_subs:
+ ### for C++:
+ ## str = re.sub ('"%s"' % a, '"%s"' b, str)
+
+ str = re.sub (a, b, str)
+ return str
+
+conversions.append (((2, 7, 32), conv,
+ """foobar -> foo-bar for \paper, \layout"""))
+
+def conv (str):
+ str = re.sub ('debug-beam-quanting', 'debug-beam-scoring', str)
+ return str
+
+conversions.append (((2, 7, 32), conv,
+ """debug-beam-quanting -> debug-beam-scoring"""))
+
+def conv (str):
+ str = re.sub ('def-music-function', 'define-music-function', str)
+ str = re.sub ('def-markup-command', 'define-markup-command', str)
+ return str
+
+conversions.append (((2, 7, 36), conv,
+ """def-(music-function|markup-command) -> define-(music-function|markup-command)"""))
+
+
+
+def conv (str):
+ str = re.sub (r'\\set\s+Score\s*\.\s*barNumberAlignSymbol\s*=',
+ r"\\override Score.BarNumber #'break-align-symbol = ", str)
+ str = re.sub (r'\\set\s*Score\s*\.\s*rehearsalMarkAlignSymbol\s*=',
+ r"\\override Score.RehearsalMark #'break-align-symbol = ", str)
+ return str
+
+conversions.append (((2, 7, 40), conv,
+ "rehearsalMarkAlignSymbol/barNumberAlignSymbol -> break-align-symbol"))
+
+
+def conv (str):
+ str = re.sub ('page-penalty', 'page-break-penalty', str)
+ str = re.sub ('([^-])penalty', '\1break-penalty', str)
+ return str
+
+conversions.append (((2, 9, 4), conv, """(page-)penalty -> (page-)break-penalty"""))
+
+def conv (str):
+ str = re.sub (r'\\context\s+\"?([a-zA-Z]+)\"?\s*\\applyOutput', r"\\applyOutput #'\1", str)
+ return str
+
+conversions.append (((2, 9, 6), conv, """\context Foo \applyOutput #bla -> \applyOutput #'Foo #bla """))
+
+
+def conv (str):
+ str = re.sub ('annotatepage', 'annotate-page', str)
+ str = re.sub ('annotateheaders', 'annotate-headers', str)
+ str = re.sub ('annotatesystems', 'annotate-systems', str)
+ return str
+
+conversions.append (((2, 9, 9), conv, """annotatefoo -> annotate-foo"""))
+
+
+def conv (str):
+ str = re.sub (r"""(\\set\s)?(?P<context>[a-zA-Z]*.?)tupletNumberFormatFunction\s*=\s*#denominator-tuplet-formatter""",
+ r"""\\override \g<context>TupletNumber #'text = #tuplet-number::calc-denominator-text""", str)
+
+ str = re.sub (r"""(\\set\s+)?(?P<context>[a-zA-Z]*.?)tupletNumberFormatFunction\s*=\s*#fraction-tuplet-formatter""",
+ r"""\\override \g<context>TupletNumber #'text = #tuplet-number::calc-fraction-text""", str)
+
+ if re.search ('tupletNumberFormatFunction', str):
+ error_file.write ("\n")
+ error_file.write ("tupletNumberFormatFunction has been removed. Use #'text property on TupletNumber")
+ error_file.write ("\n")
+
+ return str
+
+conversions.append (((2, 9, 11), conv, """\\set tupletNumberFormatFunction -> \\override #'text = """))
+
+
+def conv (str):
+ str = re.sub ('vocNam', 'shortVocalName', str)
+ str = re.sub (r'([^a-z])instr\s*=', r'\1shortInstrumentName =', str)
+ str = re.sub (r'([^a-z])instrument\s*=', r'\1instrumentName =', str)
+ return str
+
+conversions.append (((2, 9, 13), conv, """instrument -> instrumentName, instr -> shortInstrumentName, vocNam -> shortVocalName"""))
+