return str
conversions.append (((1,3,113), conv, 'LyricVoice -> LyricsVoice'))
+def regularize_id (str):
+ s = ''
+ lastx = ''
+ for x in str:
+ if x == '_':
+ lastx = x
+ continue
+ elif x in string.digits:
+ x = chr(ord (x) - ord ('0') +ord ('A'))
+ elif x not in string.letters:
+ x = 'x'
+ elif x in string.lowercase and lastx == '_':
+ x = string.upper (x)
+ s = s + x
+ lastx = x
+ return s
def conv (str):
- def regularize_id (str):
- s = ''
- lastx = ''
- for x in str:
- if x == '_':
- lastx = x
- continue
- elif x in string.digits:
- x = chr(ord (x) - ord ('0') +ord ('A'))
- elif x not in string.letters:
- x = 'x'
- elif x in string.lowercase and lastx == '_':
- x = string.upper (x)
- s = s + x
- lastx = x
- return s
+
def regularize_dollar_reference (match):
return regularize_id (match.group (1))
conv,
'''regularize other identifiers.'''))
+def conv (str):
+ str = re.sub ('petrucci_c1', 'petrucci-c1', str)
+ str = re.sub ('1style', 'single-digit', str)
+ return str
+
+conversions.append (((2, 3, 25),
+ conv,
+ '''petrucci_c1 -> petrucci-c1, 1style -> single-digit'''))
+
def conv (str):
return str
sub_acc_name, str)
str = re.sub (r"(KeySignature|Accidental[A-Za-z]*)\s*#'style\s*=\s*#'([a-z]+)",
r"\1 #'glyph-name-alist = #alteration-\2-glyph-name-alist", str)
-
+ ## FIXME: standard vs default, alteration-FOO vs FOO-alteration
+ str = str.replace ('alteration-default-glyph-name-alist',
+ 'standard-alteration-glyph-name-alist')
return str
conversions.append (((2, 11, 6), conv, """Rename accidental glyphs, use glyph-name-alist."""))
return str
conversions.append (((2, 11, 11), conv, """layout-set-staff-size -> layout-set-absolute-staff-size"""))
+
+
+def conv (str):
+ str = re.sub (r"\\override\s*([a-zA-Z.]+)\s*#'arrow\s*=\s*##t",
+ r"\\override \1 #'bound-details #'right #'arrow = ##t",
+ str)
+
+ if re.search ('edge-text', str):
+ error_file.write (NOT_SMART % "edge-text settings for TextSpanner.")
+ error_file.write ("Use\n\n"
+ "\t\\override TextSpanner #'bound-details #'right #'text = <right-text>\n"
+ "\t\\override TextSpanner #'bound-details #'left #'text = <left-text>\n")
+
+
+ return str
+
+conversions.append (((2, 11, 13), conv, """#'arrow = ##t -> #'bound-details #'right #'arrow = ##t"""))
+
+def conv (str):
+ def sub_edge_height (m):
+ s = ''
+ for (var, h) in [('left', m.group (3)),
+ ('right', m.group (4))]:
+
+ if h and float (h):
+ once = m.group(1)
+ if not once:
+ once = ''
+
+ s += (r"%s \override %s #'bound-details #'%s #'text = \markup { \draw-line #'(0 . %s) }"
+ % (once, m.group (2), var, h))
+
+ s += '\n'
+
+ return s
+
+
+ str = re.sub (r"(\\once)?\s*\\override\s*([a-zA-Z.]+)\s*#'edge-height\s*=\s*#'\(([0-9.-]+)\s+[.]\s+([0-9.-]+)\)",
+ sub_edge_height, str)
+ return str
+
+conversions.append (((2, 11, 15), conv, """#'edge-height -> #'bound-details #'right/left #'text = ..."""))
+
+def conv (str):
+ str = re.sub (r"\\override\s*([a-zA-Z.]+)\s*#'break-align-symbol\s*=\s*#'([a-z-]+)",
+ r"\\override \1 #'break-align-symbols = #'(\2)", str)
+ return str
+
+conversions.append (((2, 11, 23), conv, """#'break-align-symbol -> #'break-align-symbols"""))
+
+def conv (str):
+ str = re.sub (r"scripts\.caesura",
+ r"scripts.caesura.curved", str)
+
+ if re.search ('dash-fraction', str):
+ error_file.write (NOT_SMART % "all settings related to dashed lines.\n")
+ error_file.write ("Use \\override ... #'style = #'line for solid lines and\n")
+ error_file.write ("\t\\override ... #'style = #'dashed-line for dashed lines.")
+
+ return str
+
+conversions.append (((2, 11, 35), conv, """scripts.caesura -> scripts.caesura.curved. Use #'style not #'dash-fraction to select solid/dashed lines."""))